I'm looking for insights on how different teams keep track of what's deployed in various environments, like DEV, QA, UAT, and PROD. While we have a structured promotion path and utilize version tags, CI builds, and GitOps deployments, in practice, it can be a struggle. For instance, we often find ourselves unable to answer the simple question: 'What is currently in UAT?' Several issues compound this, such as manual hotfixes, discrepancies between our kustomization.yaml and the actual state, builds created but not promoted, and tags that don't reflect running instances. To gain visibility, we built an internal dashboard that aggregates information like GitHub branch and tag states, CI build metadata, GitOps manifests, and environment image versions. However, it's not for deployment but for visibility only. How does your team handle these challenges? Do you solely rely on GitOps, or do you have a more structured release governance process?
4 Answers
I have an alert set up with Alertmanager that triggers whenever a deployment occurs. It notifies a custom webhook receiver that logs the event, making annotations in Grafana to keep track of changes.
Honestly, it sounds like you're facing issues that arise mostly from a lack of experience. With a solid GitOps platform, you should easily see what's deployed in UAT without confusion.
On Kubernetes, we use a system to report artifact digests and builds. An agent runs periodically to send back what's currently deployed, ensuring we always know the exact status.
We use GitOps too, and if someone doubts what's deployed, we provide a Grafana dashboard that displays the current version. This reassures the team without needing manual checks.

Related Questions
Can't Load PhpMyadmin On After Server Update
Redirect www to non-www in Apache Conf
How To Check If Your SSL Cert Is SHA 1
Windows TrackPad Gestures