v0.2.0
Platform Orchestrator Helm chart 0.2.0
This release replaces RabbitMQ and the direct runner HTTP transport with NATS
JetStream across the control plane, data plane, IAM service, and deployment
runner. It is a breaking, atomic upgrade. Do not run mixed v1 and v2
service or runner images.
Included versions
| Component | Version |
|---|---|
| Control plane | v2.0.0 |
| Data plane | v2.0.0 |
| IAM | v2.0.0 |
| Runner | v2.0.0 |
| Console | v1.0.2 |
| Kubernetes runner chart | 0.2.0 |
| NATS Helm dependency | 2.14.0 |
What changed
- Durable service events, runner commands, results, and encrypted log references
now use NATS JetStream. - Encrypted runner logs now live in the bounded NATS Object Store. The obsolete
SeaweedFS operator, S3-compatible log store, and runner-log S3 credentials
are no longer installed. - The chart installs NATS with JetStream file storage and bootstraps bounded
event, command, dead-letter, object, and runner-log storage. - Runner commands are buffered centrally when an edge runner is disconnected.
- Edge runners use a persistent outbound spool. Multi-node installations need
aReadWriteManystorage class for the runner Job and flusher to share it. - The runner chart contains the protected-side broker and signed file relay for
the air-gap design.
Upgrade requirements
- Publish and verify the
v2.0.0service and runner images before publishing
this chart. - Publish runner chart
0.2.0and the corresponding Terraform modules before
updating runner installations. - Stop new deployments, confirm no deployment is still running, and upgrade
the broker, backend services, and runners as one coordinated maintenance
event. - Validate NATS stream health, then execute one real deployment and verify its
result and encrypted logs before reopening deployment traffic.
RabbitMQ queues are not migrated. Rollback requires restoring the complete
v1 stack and its RabbitMQ configuration; rolling back individual components
is unsupported.
Qualification limits
- The simple and edge paths were exercised locally with real NATS, PostgreSQL,
and a Kind cluster. A real runner created a Kubernetes resource and returned
its result and decryptable encrypted log object. - The physical diode path was not tested. Its chart templates and relay unit
tests are included, but air-gap operation is not qualified by this release. - Logs remain bounded, encrypted objects. This release does not provide live
log tailing. - The generated shared token is suitable for local bootstrap only. A production
rollout remains gated on per-service and per-runner subject-scoped credentials
with an issuance, rotation, and revocation procedure.