Skip to content

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 11 Aug 06:23
· 22 commits to main since this release
v0.2.0
3a8262e

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
    a ReadWriteMany storage 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

  1. Publish and verify the v2.0.0 service and runner images before publishing
    this chart.
  2. Publish runner chart 0.2.0 and the corresponding Terraform modules before
    updating runner installations.
  3. Stop new deployments, confirm no deployment is still running, and upgrade
    the broker, backend services, and runners as one coordinated maintenance
    event.
  4. 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.