All component images are pushed to a single repository on Quay.io, distinguished by tag:
Registry: quay.io/willirath/ostrea
| Component | Tag | Dockerfile | Build context |
|---|---|---|---|
| API | ostrea-api-latest |
api/Dockerfile |
api/ |
| Frontend | ostrea-frontend-latest |
frontend/Dockerfile |
frontend/ |
| Database (PostGIS) | ostrea-db-latest |
database/Dockerfile.postgis-fedora |
database/ |
| DB init | ostrea-db-init-latest |
database/init/Dockerfile |
database/ |
- Docker with multi-platform support (buildx)
- Write access to
quay.io/willirath/ostrea
docker login quay.ioUse scripts/build-images.sh. Each image is tagged with both latest and the current short git SHA:
bash scripts/build-images.sh
# → ostrea-api-latest, ostrea-api-<sha>, ostrea-frontend-latest, ...With an optional suffix for environment targeting:
bash scripts/build-images.sh --suffix test
# → ostrea-api-latest-test, ostrea-api-<sha>-test, ...
bash scripts/build-images.sh --suffix staging
# → ostrea-api-latest-staging, ostrea-api-<sha>-staging, ...The suffix can also be passed via SUFFIX env var:
SUFFIX=test bash scripts/build-images.shSee oc-deploy.md for how to deploy with --set image.tag=latest-staging.
The chart pulls from the same registry via image.repository and image.tag in values.yaml:
image:
repository: quay.io/willirath/ostrea
tag: latest # or a short git SHA like "abc1234"
pullPolicy: AlwaysTo deploy a pinned version:
helm upgrade ostrea ./helm/ostrea --set image.tag=abc1234No registry changes needed between local (kind/MicroShift) and production (OpenShift) — all environments pull from Quay.io.