NAP-233 renamed MAESTRO_TOKEN → MAESTRO_SHARED_TOKEN (and MAESTRO_REGISTRY_URL → MAESTRO_SHARED_REGISTRY_URL) to match the TOML section names. In practice this broke existing deployments — operators (including the one at maestro.n62.casa) have MAESTRO_TOKEN=… baked into their service env, and the new binary silently fell through to the file token instead.
Adjusts the convention: [shared] is the implicit global scope, so its fields use the bare MAESTRO_<FIELD> spelling. Only [daemon] and [registry] sections get section-prefixed env vars.
section
before (NAP-233)
after
[shared].token
MAESTRO_SHARED_TOKEN
MAESTRO_TOKEN
[shared].registry_url
MAESTRO_SHARED_REGISTRY_URL
MAESTRO_REGISTRY_URL
[daemon].*
MAESTRO_DAEMON_*
unchanged
[registry].bind_addr
MAESTRO_REGISTRY_BIND_ADDR
unchanged
Internal constants (ENV_SHARED_TOKEN → ENV_TOKEN, etc.) and EnvOverrides field names rename to match.
cargo test --workspace --lib (97 tests, all green)
CI runs e2e
Reinstall locally + restart maestrod, confirm it authenticates against the real registry at maestro.n62.casa
## Summary
NAP-233 renamed `MAESTRO_TOKEN` → `MAESTRO_SHARED_TOKEN` (and `MAESTRO_REGISTRY_URL` → `MAESTRO_SHARED_REGISTRY_URL`) to match the TOML section names. In practice this broke existing deployments — operators (including the one at `maestro.n62.casa`) have `MAESTRO_TOKEN=…` baked into their service env, and the new binary silently fell through to the file token instead.
Adjusts the convention: `[shared]` is the implicit global scope, so its fields use the bare `MAESTRO_<FIELD>` spelling. Only `[daemon]` and `[registry]` sections get section-prefixed env vars.
| section | before (NAP-233) | after |
|---|---|---|
| `[shared].token` | `MAESTRO_SHARED_TOKEN` | `MAESTRO_TOKEN` |
| `[shared].registry_url` | `MAESTRO_SHARED_REGISTRY_URL` | `MAESTRO_REGISTRY_URL` |
| `[daemon].*` | `MAESTRO_DAEMON_*` | unchanged |
| `[registry].bind_addr` | `MAESTRO_REGISTRY_BIND_ADDR` | unchanged |
Internal constants (`ENV_SHARED_TOKEN` → `ENV_TOKEN`, etc.) and `EnvOverrides` field names rename to match.
## Test plan
- [x] `cargo fmt --all -- --check`
- [x] `cargo clippy --workspace --all-targets -- -D warnings`
- [x] `cargo test --workspace --lib` (97 tests, all green)
- [ ] CI runs e2e
- [ ] Reinstall locally + restart `maestrod`, confirm it authenticates against the real registry at `maestro.n62.casa`
The shared section is the implicit global scope, so its fields use
the bare `MAESTRO_<FIELD>` env-var spelling. Only `[daemon]` and
`[registry]` sections get section-prefixed env vars.
Renames:
- MAESTRO_SHARED_TOKEN → MAESTRO_TOKEN
- MAESTRO_SHARED_REGISTRY_URL → MAESTRO_REGISTRY_URL
`MAESTRO_DAEMON_*` and `MAESTRO_REGISTRY_BIND_ADDR` are unchanged.
This restores the canonical spec name (`MAESTRO_TOKEN`) that operators
already use in their deployment scripts — NAP-233 had renamed it to
`MAESTRO_SHARED_TOKEN`, which silently broke daemon auth against
existing registry deployments still setting `MAESTRO_TOKEN` in env.
Constants renamed alongside: `ENV_SHARED_TOKEN` → `ENV_TOKEN`,
`ENV_SHARED_REGISTRY_URL` → `ENV_REGISTRY_URL`. `EnvOverrides` fields
shed their `shared_` prefix to match.
Touches: daemon/cli/registry crates, e2e harness, design spec.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
NAP-233 renamed
MAESTRO_TOKEN→MAESTRO_SHARED_TOKEN(andMAESTRO_REGISTRY_URL→MAESTRO_SHARED_REGISTRY_URL) to match the TOML section names. In practice this broke existing deployments — operators (including the one atmaestro.n62.casa) haveMAESTRO_TOKEN=…baked into their service env, and the new binary silently fell through to the file token instead.Adjusts the convention:
[shared]is the implicit global scope, so its fields use the bareMAESTRO_<FIELD>spelling. Only[daemon]and[registry]sections get section-prefixed env vars.[shared].tokenMAESTRO_SHARED_TOKENMAESTRO_TOKEN[shared].registry_urlMAESTRO_SHARED_REGISTRY_URLMAESTRO_REGISTRY_URL[daemon].*MAESTRO_DAEMON_*[registry].bind_addrMAESTRO_REGISTRY_BIND_ADDRInternal constants (
ENV_SHARED_TOKEN→ENV_TOKEN, etc.) andEnvOverridesfield names rename to match.Test plan
cargo fmt --all -- --checkcargo clippy --workspace --all-targets -- -D warningscargo test --workspace --lib(97 tests, all green)maestrod, confirm it authenticates against the real registry atmaestro.n62.casa