Declarative execution and declarative state
To start the groundwork for the GitOps process, the teams had to understand what repository structure the different teams were using. GitOps tools tie individual Git repository branches to specific environments. Since the developers are deploying to three or four environments, the GitOps tool of choice would need to be configured to support these environments. Adding to this requirement, the deployment pipeline needed to sequentially deploy to the different environments. The DevOps teams would need to figure out how best to trigger the deployments automatically.
The next major step was to get the correct pull request approval process to be executed. This would allow the Kubernetes manifests in one branch to merge with the Kubernetes manifests in another branch to trigger the deployment. The linking of the tool in the right cluster to the desired repository branch would need to be automated leveraging the GitOps tooling API, effectively...