Repository navigation
Add image override variables for third-party services - #60
Merged
Merged
Conversation
Postgres, OpenBao, Redis, DynamoDB Local and smtp4dev were literal tags that float, so a benchmark host could not pin them without a compose override file. Each now reads a <NAME>_IMAGE variable, following the existing PIRI_IMAGE and MINIO_IMAGE convention, with the current tag as the default. With the variables unset, docker compose config renders byte-identical output. The generator emits the same form for piri-postgres and piri-postgres-init, and .env lists the new variables. Tests pin each service to its variable and fail if any image in the root stack lacks an override variable. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
hannahhoward
marked this pull request as ready for review
September 27, 2026 15:35
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
POSTGRES_IMAGE,OPENBAO_IMAGE,REDIS_IMAGE,DYNAMODB_LOCAL_IMAGEandSMTP4DEV_IMAGE, with today's tag as each default. A benchmark host can pin them by digest from the environment instead of a compose override file.docker compose configoutput is byte-identical tomainfor every tracked manifest and for a mixed postgres+s3 / sqlite+filesystem manifest.image:of exactly the expected services and nothing else.Deliverables
systems/ingot/compose.ymlingot-openbao,ingot-openbao-initreadOPENBAO_IMAGE;ingot-postgresreadsPOSTGRES_IMAGEsystems/hilt/compose.ymlhilt-vaultreadsOPENBAO_IMAGE;hilt-postgresreadsPOSTGRES_IMAGEsystems/upload/compose.ymlpostgresreadsPOSTGRES_IMAGEsystems/swarf/compose.ymlswarf-postgresreadsPOSTGRES_IMAGEsystems/plc/compose.ymlplc-postgresreadsPOSTGRES_IMAGEsystems/common/compose.ymldynamodb-localreadsDYNAMODB_LOCAL_IMAGE;emailreadsSMTP4DEV_IMAGEsystems/indexing/indexer/compose.ymlredisreadsREDIS_IMAGEpkg/generate/compose.gopiri-postgresandpiri-postgres-initemit${POSTGRES_IMAGE:-postgres:16-alpine}pkg/generate/generate_test.goimages_test.go.envTest plan
go vet ./...andgo test ./...: 6 packages ok (4 without test files), 0 failures.main's compose files (checked by restoringsystems/common/compose.ymlfrommain:TestIncludedComposeImagesAreInterpolatedreportsdynamodb-localandemail).go run ./cmd/smelt generatethendocker compose config(Compose 2.31) forsmelt.yml,manifests/piri-1-postgres-filesystem.ymland a mixed two-node manifest, onmainand on this branch, variables unset: 3/3 identical.image:lines differ:POSTGRES_IMAGEOPENBAO_IMAGEREDIS_IMAGEDYNAMODB_LOCAL_IMAGESMTP4DEV_IMAGEDecisions taken where the spec was silent
POSTGRES_IMAGE, notSMELT_POSTGRES_IMAGE) to follow the existing<NAME>_IMAGEconvention in.env. ASMELT_prefix would avoid collisions with a variable already set in a developer's shell; maintainers may prefer it.systems/telemetry/compose.ymlkeeps its literal tags: it is not included by the rootcompose.yml, and the new guard test covers only the root stack..envblock also listsMINIO_IMAGE, which the stack already reads but.envdid not mention.OPENBAO_IMAGEtoo; the guard test will flag it.🤖 Generated with Claude Code