From b9b8ce3e1cf308e4dc69b7ca108cdc1002571ba6 Mon Sep 17 00:00:00 2001 From: Melvin Hillsman Date: Wed, 20 May 2026 00:41:34 -0500 Subject: [PATCH] fix: use semantic version tag instead of mutable :latest in deployment Replace quay.io/opdev/virtwork:latest with v0.0.1 semantic version tag to ensure reproducible deployments. Mutable :latest tag can silently pick up different images between pod restarts, making debugging difficult. Semantic version tags provide: - Reproducible deployments (version tags follow semver conventions) - Human-readable versions vs opaque digests - Easy manual updates during releases - No automation needed to update manifests Changes: - Update deploy/deployment.yaml to use v0.0.1 tag - Change imagePullPolicy from Always to IfNotPresent - Update README.md to document versioned tag usage and upgrade process Fixes #2 Signed-off-by: Melvin Hillsman --- README.md | 2 +- deploy/deployment.yaml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d89e3b3..85c146e 100644 --- a/README.md +++ b/README.md @@ -199,7 +199,7 @@ When no SSH flags are provided, no user account is configured in the VMs. ## OpenShift Deployment -virtwork can run as a pod on the cluster using the provided Kustomize manifests in `deploy/`. The container image is available at `quay.io/opdev/virtwork:latest`. +virtwork can run as a pod on the cluster using the provided Kustomize manifests in `deploy/`. The deployment manifest uses a semantic version tag (e.g., `v0.0.1`) to pin the image for reproducible deployments. Update the version tag in `deploy/deployment.yaml` when upgrading. For development or testing, you can use `quay.io/opdev/virtwork:latest`. ### Deploy with Kustomize diff --git a/deploy/deployment.yaml b/deploy/deployment.yaml index afb7022..91a5227 100644 --- a/deploy/deployment.yaml +++ b/deploy/deployment.yaml @@ -29,8 +29,8 @@ spec: type: RuntimeDefault containers: - name: virtwork - image: quay.io/opdev/virtwork:latest - imagePullPolicy: Always + image: quay.io/opdev/virtwork:v0.0.1 + imagePullPolicy: IfNotPresent envFrom: - configMapRef: name: virtwork-config