Take the configuration surface back from keel #54

Merged
PerishFire merged 1 commit from land/keel-ten into main 2026-07-31 02:40:39 +00:00
Owner

deps: take the configuration surface back from keel

keel 0.10 is a library that reads no file and no environment variable, so
keel::config is gone: load, Config, Hold, NAME, and the adaptor
store fragments with it. ensign declares what it needs and opens its own
store. keel moves 0.9.0 to 0.10.2, plumb 0.5.0 to 0.18.5, and Sealkit back
to no version requirement — the doctor now reads all three as current.

Runtime grows listen and cache, and owns the filename: ensign.toml
rather than borrowing keel's. [identity] is not a section any more — the
unit is named in code where identify is called — so it leaves the file
entirely.

What this actually cost was not the six call sites in the product. It was
the copies of that file living in scaffolding, none of which fail to
compile and all of which fail silently:

  • the bootstrap tests wrote a keel.toml carrying [identity], so the
    binary found no store configuration and four of five tests broke;
  • the act wrote one too, so the server ignored the leased port and came up
    on the default while the harness polled the other one;
  • the chart's ConfigMap and both of its volume mounts named it, as did the
    image.

The guard gains cargo check --release, which Plumb 0.18.5 now requires
of a Rust repository — and which keel 0.10.0 and 0.10.1 would have failed.

deps: take the configuration surface back from keel keel 0.10 is a library that reads no file and no environment variable, so `keel::config` is gone: `load`, `Config`, `Hold`, `NAME`, and the adaptor store fragments with it. ensign declares what it needs and opens its own store. keel moves 0.9.0 to 0.10.2, plumb 0.5.0 to 0.18.5, and Sealkit back to no version requirement — the doctor now reads all three as current. `Runtime` grows `listen` and `cache`, and owns the filename: `ensign.toml` rather than borrowing keel's. `[identity]` is not a section any more — the unit is named in code where `identify` is called — so it leaves the file entirely. What this actually cost was not the six call sites in the product. It was the copies of that file living in scaffolding, none of which fail to compile and all of which fail silently: - the bootstrap tests wrote a `keel.toml` carrying `[identity]`, so the binary found no store configuration and four of five tests broke; - the act wrote one too, so the server ignored the leased port and came up on the default while the harness polled the other one; - the chart's ConfigMap and both of its volume mounts named it, as did the image. The guard gains `cargo check --release`, which Plumb 0.18.5 now requires of a Rust repository — and which keel 0.10.0 and 0.10.1 would have failed.
Take the configuration surface back from keel
All checks were successful
guard / guard (pull_request) Successful in 4m29s
guard / guard (push) Successful in 3m28s
5cd0225a75
deps: take the configuration surface back from keel

keel 0.10 is a library that reads no file and no environment variable, so
`keel::config` is gone: `load`, `Config`, `Hold`, `NAME`, and the adaptor
store fragments with it. ensign declares what it needs and opens its own
store. keel moves 0.9.0 to 0.10.2, plumb 0.5.0 to 0.18.5, and Sealkit back
to no version requirement — the doctor now reads all three as current.

`Runtime` grows `listen` and `cache`, and owns the filename: `ensign.toml`
rather than borrowing keel's. `[identity]` is not a section any more — the
unit is named in code where `identify` is called — so it leaves the file
entirely.

What this actually cost was not the six call sites in the product. It was
the copies of that file living in scaffolding, none of which fail to
compile and all of which fail silently:

- the bootstrap tests wrote a `keel.toml` carrying `[identity]`, so the
  binary found no store configuration and four of five tests broke;
- the act wrote one too, so the server ignored the leased port and came up
  on the default while the harness polled the other one;
- the chart's ConfigMap and both of its volume mounts named it, as did the
  image.

The guard gains `cargo check --release`, which Plumb 0.18.5 now requires
of a Rust repository — and which keel 0.10.0 and 0.10.1 would have failed.

Land-Source: keel-ten@37f950edefce4d044fae58164519c002814f017f
PerishFire deleted branch land/keel-ten 2026-07-31 02:40:39 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
PerishLab/ensign!54
No description provided.