ci: purge the config-server cache when genesis artifacts change - #63
Open
qu0b wants to merge 1 commit into
Open
Conversation
qu0b
force-pushed
the
qu0b/purge-config-cache
branch
2 times, most recently
from
August 10, 2026 13:44
ec8c157 to
23575fd
Compare
Cloudflare caches the genesis artifacts on config.<network>.ethpandaops.io for a day (ethpandaops/ethPandaOps cloudflare/terraform/cache-rules.tf), so a regenerated genesis would otherwise be served stale until the TTL expired. Trigger on push to master rather than from the ansible run: the config server proxies raw.githubusercontent.com/<repo>/master/..., so what changes the bytes GitHub serves is the push, not the playbook. Ansible writes network-configs into the operator's working tree and a human commits afterwards, so purging at playbook time would evict the entry before the new content existed and immediately re-cache the old object for a full day. Purge by hostname rather than by URL. Every purge method is available on all Cloudflare plans, and only the paths matched by the cache rule are cacheable on these hosts, so purging the host is equivalent to listing them and cannot drift out of sync with the rule.
qu0b
force-pushed
the
qu0b/purge-config-cache
branch
from
August 10, 2026 13:49
23575fd to
e9dd6c3
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Companion to ethpandaops/ethPandaOps#1540, which caches the genesis artifacts on
config.<network>.ethpandaops.iofor a day. This purges them when they change, so a regenerated genesis isn't served stale until the TTL expires.Why a workflow, not an ansible task. The config server proxies
raw.githubusercontent.com/<repo>/master/..., so what changes the bytes GitHub serves is the push, not the playbook.ethereum_genesiswrites into the operator's local working tree and a human commits afterwards — a purge at playbook time would evict the entry before the new content existed and immediately re-cache the old object for a full day.Purge by hostname. Every purge method is available on all Cloudflare plans, not Enterprise-only. Only the cache rule's paths are cacheable on these hosts, so purging the host is equivalent to listing the URLs and can't drift out of sync with the Terraform.
Why curl, not an action. The whole interaction is one POST. Of the marketplace options only
NathanVaughn/actions-cloudflare-purgeis credibly maintained (49 stars); the rest are 1–3. Not worth giving a Cloudflare token to a low-adoption third-party action to save a few lines.Needs two secrets before it can do anything — neither exists at repo or org level:
CLOUDFLARE_CACHE_PURGE_TOKEN— Zone → Cache Purge onethpandaops.ioCLOUDFLARE_ZONE_IDLand #1540 first. Also belongs in
template-devnets, with the hardcodedglamsterdam-adjusted.