v0.3.0
Platform Orchestrator Helm chart 0.3.0
This breaking release makes HTTPS the stable runner-facing protocol while
retaining NATS JetStream as the Orchestrator's internal durable transport.
Runner agents and deployment Jobs no longer receive broker endpoints or
credentials.
Included versions
| Component | Version |
|---|---|
| Control plane | v2.0.0 |
| Data plane | v3.0.0 |
| IAM | v2.0.0 |
| Runner | v3.0.0 |
| Console | v1.0.2 |
| Kubernetes runner chart | 0.3.0 |
| NATS Helm dependency | 2.14.0 |
Architecture
- The chart deploys two stateless runner-gateway replicas backed by central
JetStream. - External runner agents long-poll the public
https://<api-host>/runner-gatewayendpoint. Direct Kubernetes Jobs use the
cluster-internal gateway Service, and ECS Jobs use the public endpoint. - Agents authenticate with short-lived Ed25519 JWTs. Deployment Jobs receive
deployment-scoped tokens rather than broker credentials. - Encrypted command receipts preserve JetStream acknowledgement, retry, and
rejection semantics across gateway replicas without sticky sessions. - Commands remain centrally buffered while edge runners are disconnected.
Edge results and encrypted logs use the runner-side RWX outbox until the
HTTPS return path recovers.
Upgrade requirements
- Publish and verify data-plane and runner
v3.0.0plus runner chart0.3.0. - Configure a trusted TLS route for
/runner-gatewayand set the chart's
public gateway URL to that route. - Update runner registrations and installations with matching Ed25519 public
and private keys. - Upgrade data-plane, runner gateway, and runner installations as one
coordinated compatibility boundary. - Execute a deployment and verify its result and encrypted logs before
reopening deployment traffic.
Qualification limits
The simple and edge paths passed local real-JetStream and Kind deployment
tests, including a real Kubernetes resource and encrypted log return. The
physical diode path and live ECS execution were not tested. Air-gap operation
requires a separately authorized reverse relay for results and logs. Logs
remain bounded encrypted objects rather than a live tail.