Repository navigation
feat(decdn_node): follow decdn v0.2 (self-update off, schema keys, new metrics) - #166
Merged
Merged
Conversation
Move the decdn/decdn pin from the line 0.1 (v0.1.0) to v0.2.0 (5c830ea2dae90c99410097192b558b3ac970ccc4): the role default, the onramp's installer line, the chart's appVersion and Artifact Hub image, AGENTS.md's pinned line, and what names one release (Compose, the examples, the generated mirrors). The PR body lists anything left.
…w metrics) The automated pin bump (#165) moved the release line; this is the semantic re-sync a new line needs. - schema keys: gen-schema-keys.py maps v0.2's [self_update] section and now refuses a config struct its STRUCT_PATHS does not map, so the next section upstream adds fails the regeneration instead of dropping out; schema-keys.txt regenerated from v0.2.0 (+self_update.check); molecule/schema's table list. - self-update notice: the CLI's daily "run `decdn self-update`" line is wrong advice on a managed host (it would replace the CLI outside the role's signed-release install and fail the next deploy's version check). The role renders `[self_update] check = false` (decdn_self_update_check, "" / null omits it for an exact pin below 0.2), `decdn-compose init` writes the same and `cli` sets DECDN_SELF_UPDATE_CHECK=0; the interactive recipes say never to run self-update there. - max_blob_size_mb prose follows v0.2 (a cap on bytes held per blob, ranges of a larger blob still served) and the real default, min(51200, cache_size_mb). - monitoring: the new midstream blob-too-large reason joins both "Unattributed stream failures" panels and the refusal panels; DHT lookup dial timeouts beside the round ceiling; an "Unresolved on-chain holds" panel (openPool and topUp) and a DecdnBuyerTopupUnresolved rule with a promtool unit test. - the bump checklist gains the generator's refusal and a monitoring step. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
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.
Stacked on #165 (the automated pin bump, which only moves the release line); GitHub retargets this to
mainwhen #165 merges. This is the semantic re-sync the bump checklist asks for on a new line, against decdn v0.1.0…v0.2.0.What v0.2 changed that this repo assumes
[self_update] checksection (CLI-only; the daemon ignores it). The CLI prints a daily "rundecdn self-update" line after a command run at a terminal;decdn self-updatereplaces the running binary in place.gen-schema-keys.pymaps the section and now refuses a config struct itsSTRUCT_PATHSdoes not map, so the next section upstream adds fails the regeneration instead of dropping out silently (which is what happened here: #165 leftschema-keys.txtwithoutself_update.check). The role renderscheck = false(decdn_self_update_check;""/nullomits it for an exact pin below 0.2),decdn-compose initwrites the same andclisetsDECDN_SELF_UPDATE_CHECK=0. Docs say never to rundecdn self-updateon a managed host: undersudoit replaces/usr/local/bin/decdnoutside the signed-release install and the next deploy's--versionbackstop then fails rather than repairs.cache.max_blob_size_mbcaps the bytes held per blob (ranges of a larger blob are still served); defaultmin(51200, cache_size_mb)docs/requirements.md; the role's cross-field check uses the real default.decdn_serve_stream_midstream_blob_too_large_total(also inINBOUND_FAILURE_REASONS),decdn_buyer_topup_unresolved,decdn_dht_lookup_dial_timeouts_total; nothing renamed or removedDecdnBuyerTopupUnresolved(15m, warning) with a promtool unit test.Checklist step 2 now names the generator's refusal, and a new step 8 covers the monitoring assets (nothing in CI checks the node's metric names).
Verified
make lint,make test-scripts,make lint-compose,make lint-cloud-init,make lint-helm(promtool unit tests included),make lint-ansiblemake molecule SCENARIOS='schema default validation'decdn(viascripts/fetch-decdn-cli.sh):config validateaccepts a renderednode.tomlwith[self_update] check = falseand refuses a typo in that tableAfter merge
decdn.node,decdn.publisherand the chart (RELEASING.md).v0.2.0the sponsord checklist is a plain line bump.🤖 Generated with Claude Code