Skip to content

Commit 6a26036

Browse files
committed
feat(busbar-150): 1.5.0 boots - auth chain empty, writable config dir for its signing key
Verified locally against the real image before spending another box: busbar 1.5.0 comes up and listens. Two 1.5.0 requirements the 1.4.1 manifest never had to meet: auth: chain: [] The 1.4.1 config on this board has NO auth block, and 1.4.1 permitted that. 1.5.0 refuses to run silently in that state. chain: [] is busbar's own documented dev setting ('the open front door: development only, loud startup warning') and it is the only one that keeps the rows comparable - with a real auth chain 1.5.0 would verify a signed key per request while 1.4.1 verified nothing, and the delta would be measuring authentication rather than the gateway. Not a favour either: busbar logs an ERROR and two WARNs about it every boot. writable /work 1.5.0 generates and persists an ed25519 signing key next to the config on first boot. /etc/busbar is read-only in the image, so the config now mounts at /work with BUSBAR_CONFIG and BUSBAR_PROVIDERS pointing there. The stricter manifest schema earned itself again on this change: it rejected the env map I first wrote ('invalid type: map, expected a sequence') at load rather than letting a silently-ignored field reach a box.
1 parent ec1ddeb commit 6a26036

2 files changed

Lines changed: 28 additions & 6 deletions

File tree

‎gateways/busbar-150/config.gen.yaml.tmpl‎

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,3 +53,17 @@ models:
5353
gpt-4o-mini-bedrock:
5454
provider: mock-bedrock
5555
max_concurrent: 8000
56+
57+
# AUTH OFF, TO MATCH WHAT 1.4.1 ACTUALLY RAN.
58+
#
59+
# The 1.4.1 config on this board has no auth block at all, and 1.4.1 permitted that. 1.5.0 refuses to
60+
# boot silently in that state - it hardened - so the posture has to be declared rather than implied.
61+
# `chain: []` is busbar's own documented dev setting ("the open front door: development only, loud
62+
# startup warning"), and it is the ONLY setting that keeps the two rows comparable: with a real auth
63+
# chain, 1.5.0 would verify a signed key on every request while 1.4.1 verified nothing, and the delta
64+
# would be measuring authentication rather than the gateway.
65+
#
66+
# It is not a favour to 1.5.0 either - busbar logs an ERROR and two WARNs about it on every boot, and
67+
# the board's rule is the bare minimum required to run.
68+
auth:
69+
chain: []

‎gateways/busbar-150/definition.json‎

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,18 +32,26 @@
3232
"lang": "Rust",
3333
"launch": {
3434
"args": [],
35+
"env": [
36+
[
37+
"BUSBAR_CONFIG",
38+
"/work/config.yaml"
39+
],
40+
[
41+
"BUSBAR_PROVIDERS",
42+
"/work/providers.yaml"
43+
]
44+
],
3545
"image": "getbusbar/busbar:1.5.0",
3646
"kind": "docker",
3747
"mounts": [
3848
{
39-
"container_path": "/etc/busbar/config.yaml",
40-
"host_path": "config.gen.yaml",
41-
"read_only": true
49+
"container_path": "/work/config.yaml",
50+
"host_path": "config.gen.yaml"
4251
},
4352
{
44-
"container_path": "/etc/busbar/providers.yaml",
45-
"host_path": "providers.gen.yaml",
46-
"read_only": true
53+
"container_path": "/work/providers.yaml",
54+
"host_path": "providers.gen.yaml"
4755
}
4856
]
4957
},

0 commit comments

Comments
 (0)