Skip to content

feat(execution-beacon)!: extend archive mode to reth - #262

Closed
0xDones wants to merge 1 commit into
mainfrom
bro-1322-reth-archive-node
Closed

feat(execution-beacon)!: extend archive mode to reth#262
0xDones wants to merge 1 commit into
mainfrom
bro-1322-reth-archive-node

Conversation

@0xDones

@0xDones 0xDones commented Aug 18, 2026

Copy link
Copy Markdown
Member

execution-beacon

Description

  • feat!: execution.archive now covers reth, chart 3.1.04.0.0

Reth has no archive switch: it retains everything unless a pruning flag says otherwise. Every reth node this chart has produced so far was therefore already running unpruned, even though execution.archive was rejected at template time for that client.

The flag is inverted relative to nethermind and geth:

execution.archive reth args
true nothing — that is reth's own default
false --full, current state plus a 10064-block window

Seeding an archive node from a minimal or full snapshot yields a node that runs unpruned but has no history from before the snapshot, and never backfills it. Nothing at runtime reports that — reth starts and syncs normally — so execution.archive together with execution.snapshot.profile other than archive is now rejected at template time.

Breaking change

Reth deployments that do not set execution.archive: true start pruning on upgrade. Reth cannot undo that; recovering the discarded history needs a resync or a restore from an archive snapshot. Operators running reth should set execution.archive: true before taking chart 4.0.0 if they want the current behaviour.

Tests

tests/archive_test.yaml covers reth archive rendering no pruning flag, reth non-archive rendering --full, and both snapshot-profile validation cases. Full suite: 32 tests, 5 suites, passing.

Notes

🤖 Generated with Claude Code

Reth has no archive switch: it retains everything unless a pruning flag says
otherwise, so every reth node this chart has produced so far was already
running unpruned, execution.archive being rejected at template time for that
client notwithstanding.

execution.archive now covers reth, with the flag inverted relative to the other
clients: archive: true renders nothing, since that is reth's own default, and
archive: false renders --full, the built-in profile that keeps current state
plus a 10064-block window.

Seeding an archive node from a minimal or full snapshot yields a node that runs
unpruned but has no history from before the snapshot, and never backfills it.
Nothing at runtime reports that, reth starts and syncs normally, so archive
together with a snapshot profile other than archive is rejected at template
time.

BREAKING CHANGE: reth deployments that do not set execution.archive: true start
pruning on upgrade. Reth cannot undo that, recovering the discarded history
needs a resync or a restore from an archive snapshot.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@0xDones
0xDones requested a review from a team as a code owner August 18, 2026 22:35
@linear

linear Bot commented Aug 18, 2026

Copy link
Copy Markdown

BRO-1322

@0xDones 0xDones closed this Aug 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant