-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feat/actions crawler #1
base: master
Are you sure you want to change the base?
Conversation
Signed-off-by: meows <[email protected]>
Signed-off-by: meows <[email protected]>
Signed-off-by: meows <[email protected]>
git remote set-url origin https://${GITHUB_USER}:${GITHUB_PAT}@github.com/${GITHUB_REPOSITORY}.git | ||
git push origin master |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Theoretically actions/checkout@v2
should make it as easy as git push
, but I just couldn't get that to work.
[[ ! -d ${p}.${network}.${ETH_DNS_DISCV4_PARENT_DOMAIN} ]] || [[ ! -f ${p}.${network}.${ETH_DNS_DISCV4_PARENT_DOMAIN}/nodes.json ]] && { echo " | DNE, skipping"; continue; } | ||
|
||
echo | ||
devp2p dns to-cloudflare --zoneid "$ETH_DNS_CLOUDFLARE_ZONEID" "${p}.${network}.${ETH_DNS_DISCV4_PARENT_DOMAIN}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This will need to be changed if you're not using Cloudflare. Also, I was hitting a quota exceeded
error when I had more than 1000 records, so some kind of error handling here might be needed.
Hi, this looks nice, but we prefer running the crawler on our own infrastructure because that makes it easier to monitor it. Really appreciate the effort though. |
Hey, We're running a downstream iteration of this at https://github.com/etclabscore/discv4-dns-lists, and have the crawler running on the Github Actions CI there. This frees up a devops task and makes the provenance of the lists transparent.
Here's a start at adding the same functionality here if you're interested.
The config currently uses Actions'
schedule: cron
config with what I thought is a sufficient time span. There are other ways to handle this, but this seemed the simplest to me.TODO
Repo Secrets
The Action config depends on a few Secrets being set at the Github repo level.
CLOUDFLARE_API_TOKEN
ETH_DNS_CLOUDFLARE_ZONEID
(This isn't necessary if you can get get thedevp2p to-xxx
to work without it.... I couldn't.)ETH_DNS_DISCV4_KEY
: The full content of the signing key file, eg.cat key.json | pbcopy
or whatever.ETH_DNS_DISCV4_KEYPASS
: The key's password.GITHUB_USER_PERSONAL_ACCESS_TOKEN
(PAT). If you can get thegit push
to work without explicit user authentication (see comment below) then you won't need this.