The challenge
What the system needed to solve
Make every deployment traceable and reversible without hand-editing live workloads or trusting mutable container tags in production.
The build
Engineering decisions
Created independent CI pipelines that test and publish commit-addressed images for each first-party application.
Built scheduled GitOps workflows that resolve production tags to immutable SHA-256 digests and update the desired-state repository.
Added repository-wide validation, generated-manifest checks, image-policy scans, and feature-level contract tests before changes can ship.
Used rolling updates, readiness probes, and Argo CD health checks as the deployment handoff between CI and the cluster.
Architecture
How the pieces connect
- 1Source commit
- 2CI test and container build
- 3GHCR immutable image
- 4GitOps digest update
- 5Argo CD rolling deployment
Results
What changed
- Production state can be reconstructed from Git history and container digests.
- A failed release can be diagnosed at the exact source, image, manifest, and rollout revision.
- The same delivery pattern now serves websites, internal tools, automation services, and custom platform components.
