Skip to content

feat: publish worker images for both Aurora services - #9

Merged
agustincelentano merged 3 commits into
mainfrom
feat/worker-images
Sep 14, 2026
Merged

agustincelentano merged 3 commits into
mainfrom
feat/worker-images

Conversation

@agustincelentano

Copy link
Copy Markdown
Contributor

Why

The repository ships a placeholder Dockerfile:

FROM hashicorp/http-echo:1.0.0
CMD ["-text={\"status\":\"ok\",\"msg\":\"Hola mundo\"}", ...]

So no worker image is published for either service. Checked against public.ecr.aws: nothing exists under nullplatform/services/aurora-postgres-server, .../aurora-postgres-db, or any other spelling, while services/s3, services/dynamo-db and services/rds-postgres-* are all there.

With tofu-modules >= v7.x the agent runs a service from the image its package declares. Without one, Aurora cannot carry package_artifacts and stays on the legacy exec flow — the agent has to clone the repository and run scripts off disk. In the implementation where this surfaced it is the only entry left in the old model, next to six worker-orchestrated ones.

What

Mirrors services-postgresql-rds, which has the identical shape: one repository, two service paths, two images off the shared gRPC worker bridge.

File Tooling
Dockerfile.aurora-postgres-server aws-cli, gomplate, OpenTofu 1.10.10
Dockerfile.aurora-postgres-db the same plus postgresql16-client

The db image needs the postgres client because aurora-postgres-db/scripts/aws/reassign_owned drives psql. OpenTofu is pinned at 1.10.10 rather than taken from apk, because the specs init an S3 backend with use_lockfile = true and alpine packages 1.7.x.

release.yml is replaced with the two-image chain from the RDS repository, so both artifacts are registered against the same tag and both land in the release notes.

Before the first release

Same configuration the RDS repository already carries: secrets AWS_ROLE_ARN_ECR_PUSH and ARTIFACT_NP_API_KEY, and variable NP_ARTIFACT_NRN. I could not verify those are present here.

Not verified

I did not build the images. The tooling list comes from reading what the workflows call (tofu in 30 files, aws in 23, psql in one under the db path), so a first build may surface a missing package.

The repository shipped a placeholder Dockerfile (hashicorp/http-echo returning
"Hola mundo"), so no worker image was ever published for either service. With
tofu-modules >= v7.x the agent runs services from the image their package
declares, which leaves Aurora stuck on the legacy exec flow — the only entry in
an otherwise worker-orchestrated catalogue — while every other service
(services-s-3, services-dynamo-db, services-postgresql-rds) runs from its own
image.

Mirrors services-postgresql-rds, which has the same shape: one repository, two
service paths, two images off the shared gRPC worker bridge.

  Dockerfile.aurora-postgres-server  aws-cli, gomplate, OpenTofu 1.10.10
  Dockerfile.aurora-postgres-db      the same plus postgresql16-client, which
                                     aurora-postgres-db/scripts/aws/reassign_owned
                                     drives with psql

Both bake the package in at /app/pkg and point the bridge at the service path
and its entrypoint.

release.yml is replaced with the two-image chain from services-postgresql-rds:
release-please cuts one version, the release-publish-oci chain builds, pushes
and registers the server image, and a parallel pair of jobs does the same for
the db image against the same tag, so both artifacts land in the release notes.

Needs the same configuration as the RDS repository before the first release:
secrets AWS_ROLE_ARN_ECR_PUSH and ARTIFACT_NP_API_KEY, and variable
NP_ARTIFACT_NRN.
Comment thread Dockerfile.aurora-postgres-db Dismissed
Comment thread Dockerfile.aurora-postgres-server Dismissed
Comment thread Dockerfile.aurora-postgres-db Dismissed
Comment thread Dockerfile.aurora-postgres-server Dismissed
actions-nullplatform's newest tag (v1.3.2, May 2026) predates
release-publish-oci.yml, which landed in September, so @v1.3.2 does not resolve.
Pinned to main's commit instead, which is immutable and does contain the
workflow. Move it to a tag once one is cut that includes the file.
v1.4.0 is the first tag that contains release-publish-oci.yml (the workflow
landed in September; v1.3.2 is from May), so the commit pin can become a
version.
@agustincelentano
agustincelentano merged commit 776ad37 into main Sep 14, 2026
5 of 6 checks passed
@agustincelentano
agustincelentano deleted the feat/worker-images branch September 14, 2026 19:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants