devnet-7: tysm beacon canary on prysm-geth-1 wired to bad-tysm#45
Merged
Conversation
Member
Author
|
Live and verified. The prysm-geth-1 now: synced, registered + heartbeating in production bad-tysm, control API reachable on 8675, and Note for future rolls: this needs an image built on/after 2026-07-20. Ansible compares by tag not digest, so a rebuild under the same tag shows |
Swaps only the prysm-geth-1 beacon to ethpandaops/tysm:glamsterdam-devnet-7 (validator + geth EL stay stock) and points it at the production bad-tysm control plane via push discovery. epbs-mutator ships disabled; bad-tysm activates it at runtime. The tysm build needs a xatu config path even with the xatu hook disabled (a no-op local output satisfies it), a hook-config file with the api + discovery blocks, and a gate flag whose value is sourced from sops. TYSM_TOKEN and the gate value both come from sops, not plaintext. Publishes 8675 and opens it on the shared devnet-7 firewall so bad-tysm can reach the control API. The prysm role has no file-push task, so the two config files are delivered with ad-hoc ansible copy into the datadir. Claude-Session: https://claude.ai/code/session_01ATKD5DcMqmzXj3DLymX9ZY
samcm
force-pushed
the
devnet-7/tysm-canary-prysm-geth-1
branch
from
July 21, 2026 04:10
d56bd9b to
25695b9
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.
Runs a tysm beacon canary on
prysm-geth-1and registers it with the production bad-tysm control plane. Only the beacon image changes toethpandaops/tysm:glamsterdam-devnet-7; the validator and geth EL stay on their stock devnet-7 images.epbs-mutatorships disabled and bad-tysm activates it at runtime.Verified live: the beacon is synced and stable, appears in bad-tysm as a push-discovered node with fresh heartbeats, its control API is reachable on 8675, and
epbs-mutatoris present withruntime_reconfigurable: true.What the tysm build needs beyond stock prysm
--secret-access-keygate flag — value stored in sops (tysm_secret_access_key), not in this repo; without it the beacon exits with a panda banner and no message.--xatu-config-file— mandatory even with the xatu hook disabled. A no-op local output satisfies it; devnet events keep flowing through the existing xatu-sentry sidecar.--tysm-hook-config-file— carries theapi(control API on0.0.0.0:8675) anddiscovery(bad-tysm URL + shared token) blocks.TYSM_TOKENis injected from thetysm_secret_keysops value.Image requirement
Needs a
tysm:glamsterdam-devnet-7image built on/after 2026-07-20 (the epbs_mutator merge). The 07-17 image predated the hook. Ansible compares by tag not digest, so a rebuild under the same tag showschanged=0— watchtower handles the container recreate on these hosts.Deploying it
The prysm role has no template/copy task, so the two config files are pushed out-of-band into the datadir (they surface at
/datain the container via the existing mount):The 8675/tcp firewall rule (DO + Hetzner, mirroring the 8961 snooper rule) is included. Extending to more prysm nodes is a copy of the host_vars + the two files per host (fix the
self_url/instance_id/name).