Skip to content

chore: track latest Zebra release instead of pinning a version#47

Open
alchemydc wants to merge 2 commits into
mainfrom
chore/zebra-use-latest-tag
Open

chore: track latest Zebra release instead of pinning a version#47
alchemydc wants to merge 2 commits into
mainfrom
chore/zebra-use-latest-tag

Conversation

@alchemydc

Copy link
Copy Markdown
Collaborator

Summary

Changes the default Zebra image from zfnd/zebra:5.0.0 to zfnd/zebra:latest so the stack picks up new Zebra releases without a manual pin bump.

Updated in four places:

  • docker-compose.yml — the real ${Z3_ZEBRA_IMAGE:-...} default
  • docs/docker-architecture.md — the mirrored default in the "Defaults-in-compose pattern" example
  • .env.example — the commented override example
  • README.md — the "Pin a different image version" override example

Left unchanged:

  • scripts/vendor.sh (v5.0.0) — the source-build path needs a concrete git tag, where latest is not valid
  • Zaino and Zallet image pins

Tradeoff

This repo's architecture is built around reproducible, explicitly pinned versions. Using latest means a fresh docker compose up (or a docker compose pull) can fetch different Zebra versions over time, reducing reproducibility. Operators who want a fixed version can still pin one via Z3_ZEBRA_IMAGE.

Note

README.md (Running in production) still states the stack ships "pinned image versions (no surprise upgrades)" and that "upgrades stay deliberate." That language is now inaccurate for Zebra. Left out of this PR's scope — flagging for a possible follow-up.

Verification

  • grep -rn "zfnd/zebra:5.0.0" returns no image refs (only vendor.sh's v5.0.0 git tag remains, by design); zfnd/zebra:latest appears in the 4 updated locations.
  • docker compose config renders the zebra service image as zfnd/zebra:latest (not run here — Docker unavailable in the authoring environment).

🤖 Generated with Claude Code

alchemydc and others added 2 commits June 17, 2026 12:08
Change the default Zebra image from zfnd/zebra:5.0.0 to zfnd/zebra:latest
so the stack picks up new Zebra releases without a manual pin bump.

Updates the compose default (docker-compose.yml), the mirrored default in
docs/docker-architecture.md, and the override examples in .env.example and
README.md. Operators can still pin a specific version via Z3_ZEBRA_IMAGE.
The source-build git tag in scripts/vendor.sh is left unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The "Running in production" section claimed pinned image versions with no
surprise upgrades. Zebra now tracks the latest tag, so note that a pull can
bring a new Zebra release and that operators wanting reproducibility should
pin via Z3_ZEBRA_IMAGE. Zaino and Zallet remain pinned by default.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates Z3’s Docker Compose defaults so the Zebra service pulls zfnd/zebra:latest by default (via the ${Z3_ZEBRA_IMAGE:-...} fallback), allowing fresh pulls to automatically pick up new Zebra releases without manually bumping a pinned tag.

Changes:

  • Switched the default Zebra image from a pinned version tag to zfnd/zebra:latest in docker-compose.yml.
  • Updated documentation/examples to mirror the new default in docs/docker-architecture.md, .env.example, and README.md.
  • Adjusted README production guidance to reflect that Zebra can now upgrade on docker compose pull, while other images remain pinned.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
docker-compose.yml Changes the default Zebra image fallback to zfnd/zebra:latest.
docs/docker-architecture.md Updates the “Defaults-in-compose pattern” example to match the new Zebra default.
.env.example Updates the commented Zebra image override example to latest (but see doc consistency comment).
README.md Updates production defaults text and the Zebra image override example (but see doc consistency comment).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread README.md
Comment on lines 311 to +312
# Pin a different image version
Z3_ZEBRA_IMAGE=zfnd/zebra:5.0.0
Z3_ZEBRA_IMAGE=zfnd/zebra:latest
Comment thread .env.example
Comment on lines 21 to +23
# Image pins. Defaults live in docker-compose.yml as ${VAR:-tag} fallbacks;
# override per pin here to test a pre-release or pin a digest.
# Z3_ZEBRA_IMAGE=zfnd/zebra:5.0.0
# Z3_ZEBRA_IMAGE=zfnd/zebra:latest

@gustavovalverde gustavovalverde left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This would require running CI checks on a daily basis in this repo to find drift (if any) between Zebra and the other applications.

And if we do it for Zebra, I think it should be done for all

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