diff --git a/.github/workflows/publish-eks-ami.yml b/.github/workflows/publish-system-ami.yml similarity index 93% rename from .github/workflows/publish-eks-ami.yml rename to .github/workflows/publish-system-ami.yml index c8a3e6efb..c93b098a0 100644 --- a/.github/workflows/publish-eks-ami.yml +++ b/.github/workflows/publish-system-ami.yml @@ -1,17 +1,19 @@ -name: Publish EKS + ECS node AMIs +name: Publish System AMIs # Builds the system AMIs (libguestfs, on the runner) and publishes each # compressed qcow2 + .sha256 sidecar to the Cloudflare R2 bucket that backs -# iso.mulgadc.com/system-ami/. Four images ship: +# iso.mulgadc.com/system-ami/. Five images ship: # spinifex-eks-node Alpine EKS K3s node (server|agent, role at boot) # spinifex-ecs-node Alpine ECS container instance # spinifex-eks-node-gpu Ubuntu EKS K3s GPU worker (NVIDIA driver + toolkit) # spinifex-ecs-node-gpu Ubuntu ECS GPU container instance +# spinifex-rds-postgres Alpine RDS PostgreSQL instance # Operators then install them on any cluster with: # spx admin images import --name spinifex-eks-node # spx admin images import --name spinifex-ecs-node # spx admin images import --name spinifex-eks-node-gpu # spx admin images import --name spinifex-ecs-node-gpu +# spx admin images import --name spinifex-rds-postgres # # Manual-only: publishing overwrites the mirror artifact, so it is a deliberate # action, not something every push should trigger. The `variant` input scopes @@ -29,6 +31,7 @@ on: - all - cpu - gpu + - rds dry_run: description: "Build + convert only; skip the R2 upload" type: boolean @@ -56,10 +59,12 @@ jobs: set -euo pipefail cpu='{"name":"spinifex-eks-node","manifest":"scripts/images/eks-node/manifest.conf"},{"name":"spinifex-ecs-node","manifest":"scripts/images/ecs-agent/manifest.conf"}' gpu='{"name":"spinifex-eks-node-gpu","manifest":"scripts/images/eks-node-gpu/manifest.conf"},{"name":"spinifex-ecs-node-gpu","manifest":"scripts/images/ecs-agent-gpu/manifest.conf"}' + rds='{"name":"spinifex-rds-postgres","manifest":"scripts/images/rds-postgres/manifest.conf"}' case "${VARIANT}" in cpu) items="${cpu}" ;; gpu) items="${gpu}" ;; - *) items="${cpu},${gpu}" ;; + rds) items="${rds}" ;; + *) items="${cpu},${gpu},${rds}" ;; esac echo "images={\"include\":[${items}]}" >> "$GITHUB_OUTPUT"