Repository navigation
v0.2.52
·
1642 commits
to master
since this release
Release v0.2.52
This release adds operator-only MistServer admin sessions for edge nodes, fixes edge Caddy ConfigSeed activation, hardens Anthropic tool-result serialization in Skipper, improves Skipper chat scrolling, and refreshes public docs/marketing copy.
Upgrade
Cluster operators
No database migrations in this release.
Recommended sequence:
frameworks cluster migrate validate
frameworks cluster upgrade plan --manifest <path> --version v0.2.52
frameworks cluster upgrade --manifest <path> --version v0.2.52 --all --yes
frameworks cluster status --manifest <path>Operational gotchas:
- Mist admin sessions are supported for native edges where Helmsman can reach the Mist controller over loopback.
- Docker-mode edges return
501for the Mist admin proxy becausemistserver:4242is not loopback and needs Mist JSON challenge/response support. - The Mist admin route is host-matched to the exact edge FQDN and mounted under
/_mist. - The Mist admin session token is POSTed in the request body, exchanged for an HttpOnly/Secure cookie scoped to
Path=/_mist, and expires after roughly 5 minutes. - No postdeploy or contract migrations are required.
Tenants on a managed FrameWorks cluster
No manual action is required.
Self-hosters / cluster owners
Owner/admin users for a cluster can now open the MistServer admin UI from an edge node page when the edge supports the native loopback proxy path.
Treat this like direct administrative access to the edge host: Mist admin can reconfigure protocols, triggers, and processes.
New
- Operator-only MistServer admin sessions for edge nodes.
- New GraphQL mutation:
openMistAdminSession(input:). - New GraphQL type:
MistAdminSession. - New Commodore RPCs:
MintMistAdminSessionValidateMistAdminSession
- New Helmsman control-stream messages:
EdgeMistAdminSessionRequestEdgeMistAdminSessionResponse
- New webapp node action: “Open Mist admin”.
- New audited service event:
mist_admin_session_minted. - New shared DNS helpers for edge node labels and edge node FQDNs.
Security
- Mist admin access is gated by infrastructure ownership, not by viewer/subscriber access.
- Gateway performs a first ownership check through Quartermaster before asking Commodore to mint a session.
- Commodore performs a second ownership check using trusted gRPC identity metadata.
- System-tenant owner/admin users are allowed as platform break-glass.
- Session JWTs are bound to a single
node_id; replaying a token against another edge fails validation. - Foghorn injects the connected Helmsman node ID when validating a Mist admin session, so Helmsman cannot spoof the target node.
- Helmsman strips platform
Authorization,Cookie, and forwarded-IP headers before proxying to Mist. - Mist
Set-Cookieheaders are stripped from proxy responses so Mist controller cookies cannot collide with platform cookies. - The admin route is host-matched to the edge domain and does not appear on tenant/customer wildcard hosts.
- Session tokens are submitted via hidden POST form, not query string, so they do not land in URLs, referrers, or access logs.
Fixed
- Fixed edge Caddy ConfigSeed activation by handling Caddy reload response bodies correctly.
- Fixed edge Caddy reload retry scheduling when reload fails.
- Fixed edge CA bundle writes to use atomic temp-file staging and install.
- Fixed edge certificate bundle file permissions for Caddy readability.
- Fixed admin route rendering so Caddy preserves the
/_mistprefix and Helmsman owns prefix stripping. - Fixed edge domain construction by sharing one DNS helper across Navigator/Foghorn/Commodore paths.
- Fixed Anthropic tool-result serialization so orphaned or incomplete tool results are converted to text instead of invalid
tool_resultblocks. - Fixed Skipper chat auto-scroll so it only snaps to the bottom when the user is already near the bottom.
Webapp
- Added “Open Mist admin” button to node detail pages.
- The button submits the session token through a hidden POST form into a new tab.
- Skipper chat no longer forces scroll-to-bottom while the user is reading earlier output.
- Federation map control clicks no longer leak into the map.
- Federation map marker spreading now anchors the largest marker and fans smaller markers around it.
- Orchestrator markers scale their size and glow by zoom level to reduce clutter.
- Federation/marketing map max zoom and overlap behavior were tightened.
API / GraphQL
- Added
openMistAdminSession(input:). - Added
OpenMistAdminSessionInput. - Added
OpenMistAdminSessionResult. - Added
MistAdminSession. - Added
OpenMistAdminSession.gql. - Generated GraphQL and macOS gateway query outputs were refreshed.
Proto / Service API
- Commodore proto added
MintMistAdminSessionRequest/MintMistAdminSessionResponse. - Commodore proto added
ValidateMistAdminSessionRequest/ValidateMistAdminSessionResponse. - Commodore service added
MintMistAdminSession. - Commodore service added
ValidateMistAdminSession. - IPC proto added edge Mist admin session validation request/response messages on the Helmsman control stream.
Build / Infra
- Native edge Caddy install now normalizes ownership and permissions for the internal CA and TLS bundle files.
- Edge Caddy templates now include the
/_mistadmin route to Helmsman. - Helmsman now exposes
/_mist/_sessionand the authenticated/_mist/*reverse proxy. - Caddyfile rendering now includes the Mist admin route only when an edge domain is known.
- Feature registry updated for the Mist admin node action.
Docs / Marketing
- Added operator Mist admin session architecture to edge auth docs.
- Service events docs now include
mist_admin_session_minted. - Platform feature descriptions were refreshed for DVR chapters and cluster marketplace language.
- Public docs and migration pages received copy cleanup.
- Marketing landing, pricing, about, contact, status, terms, privacy, AUP, changelog, and Skipper sections were refreshed.