ops(svos): U13 phase B amendment — full kernel-origin path list, Miranda's env and origin on nh3-dev, enrollment secrets, app-high-seat declared
Per svoperatingsystem dc241f8 u13-svos-edit.md items 1, 4, 5 and 6 (Prime's go stands): the kernel origin passes exactly the method-pinned list (apps and Miranda's agent connector; 15 pairs reach the kernel, the rest are Caddy 404); nh3-dev's apps env is rebuilt as dc241f8 with svos-miranda 0.0.3 and svos-agent 0.0.3 and gains the svos-miranda origin (nh3-svos only); three enrollment secrets minted into the vault; app-high-seat declared with one reload. Also fixes nh3-dev's fleet Caddy sharing admin localhost:2019 with ttyd-caddy via SO_REUSEPORT (reloads could land on either): now :2021.
This commit is contained in:
@@ -221,9 +221,12 @@ https://svos-terminal.phasefinal.com:443 {
|
||||
# a request there is never a human and loopback trust never applies, so every call authenticates with its own bearer.
|
||||
# NO Basic auth, and Authorization passes through untouched.
|
||||
# - Source allowlisted to nh3-dev (10.100.10.50); anything else gets 403 from Caddy.
|
||||
# - Paths: svos-dev's app surface (/auth/enroll, /auth/proofs, /registry/*, /verbs/*, /seats/enroll) plus
|
||||
# /auth/kernel-key, which every svos_connector client fetches to trust the kernel's signatures (client.kernel_key; it
|
||||
# is also the joint runbook's B2 check: refused by the KERNEL with 401 without a credential). Anything else 404.
|
||||
# - Paths, method-pinned, exactly svoperatingsystem docs/operations/u13-svos-edit.md item 1 at dc241f8 (every caller on
|
||||
# nh3-dev, read at source): the apps (bridge, terminal, app-miranda, app-high-seat) GET /auth/kernel-key, POST
|
||||
# /auth/enroll, POST /auth/proofs, POST /registry/apps/*/manifest, /verbs/*, POST /seats/enroll; Miranda's agent
|
||||
# connector GET /auth/whoami, /registry/apps, /registry/apps/*, /principals/*/grants, /seats, /events,
|
||||
# /artifacts/resolve (and /verbs/*). Anything else 404. B2's check: GET /auth/kernel-key without a credential is a
|
||||
# 401 from the KERNEL, not from Caddy.
|
||||
# - Client identity/forwarding headers are deleted as on the other sites; the same 1 MiB body cap; nothing streams.
|
||||
https://svos-kernel.phasefinal.com:443 {
|
||||
bind 10.100.50.43
|
||||
@@ -247,8 +250,36 @@ https://svos-kernel.phasefinal.com:443 {
|
||||
handle @not_nh3_dev {
|
||||
respond 403
|
||||
}
|
||||
@app_surface path /auth/enroll /auth/proofs /auth/kernel-key /registry/* /verbs/* /seats/enroll
|
||||
handle @app_surface {
|
||||
@app_get {
|
||||
method GET
|
||||
path /auth/kernel-key /auth/whoami /registry/apps /registry/apps/* /seats /events /artifacts/resolve
|
||||
}
|
||||
handle @app_get {
|
||||
reverse_proxy 127.0.0.1:8410
|
||||
}
|
||||
@app_grants {
|
||||
method GET
|
||||
path_regexp ^/principals/[^/]+/grants$
|
||||
}
|
||||
handle @app_grants {
|
||||
reverse_proxy 127.0.0.1:8410
|
||||
}
|
||||
@app_post {
|
||||
method POST
|
||||
path /auth/enroll /auth/proofs /seats/enroll
|
||||
}
|
||||
handle @app_post {
|
||||
reverse_proxy 127.0.0.1:8410
|
||||
}
|
||||
@app_manifest {
|
||||
method POST
|
||||
path_regexp ^/registry/apps/[^/]+/manifest$
|
||||
}
|
||||
handle @app_manifest {
|
||||
reverse_proxy 127.0.0.1:8410
|
||||
}
|
||||
@app_verbs path /verbs/*
|
||||
handle @app_verbs {
|
||||
reverse_proxy 127.0.0.1:8410
|
||||
}
|
||||
handle {
|
||||
|
||||
Reference in New Issue
Block a user