Skip to content

v0.55.0

Choose a tag to compare

@github-actions github-actions released this 07 May 18:39
df6fb87

0.55.0 (2026-05-07)

Highlights

  • Bash → Python migration completed. scripts/deploy.sh (~5.5k LoC) replaced by the nexus_deploy package. python -m nexus_deploy run-pipeline is now the single deploy entrypoint, invoked directly by spin-up.yml. (#505)
  • Hetzner capacity-aware server selection. Spin-up now queries Hetzner's API and picks the first available <server_type>:<location> pair from a configurable preference list (default: cx43:hel1, cx43:fsn1, cx43:nbg1, ccx33:hel1, ccx33:fsn1, ccx33:nbg1). No more resource_unavailable failures during capacity crunches. (#536)
  • Multi-tenant subdomain support. New SUBDOMAIN_SEPARATOR repo variable enables flat-subdomain tenants (kestra-user1.example.com) for Education-style forks. Single-tenant default unaffected. (#540)
  • Server default switch. From ARM cax31 (Hetzner EU stock chronically dry, no longer cheaper) to x86 cx43 (8 vCPU / 16 GB / 160 GB) for sustained 40+ Docker stack workloads. Operators can override via repo vars.

Stacks

  • Marimo via Spark Connect — Marimo notebooks now run against the Spark cluster directly, with Infisical credential sync mirroring Jupyter's behaviour. (#497)
  • Tutorial seeds — Kestra HTTP-fetch + Prefect Green-Taxi sample flows are auto-seeded into every workspace repo on spin-up.

Bug Fixes

  • Hetzner Object Storage workflow validation error fixed (initial-setup workflow).
  • Spin-up workflow's BASE_DOMAIN validation regression fixed (was breaking the ARM→x86 migration path).
  • Kestra system.flow-sync no longer over-fires (cron triggers removed from seeded examples to prevent N-tenant amplification).
  • Multiple smaller fixes: PostgreSQL healthcheck DB name, ID-token quoting, RedPanda 9092 collision, etc.

Documentation

  • Migration-to-Python guide rewritten (Phase 0 → Phase 4c history).
  • Troubleshooting guide expanded with capacity-fallback section.
  • README links to setup-guide refreshed.

Internal