What are the minimum requirements?
Before you invest in platforms and tools to scale GitOps across your organisation, you’ll want to make sure you’re already up and running in a few key ways.
Step one: Git comfortable
For those still to get up and running with Git, you’ll need to choose a Git repository first. GitOps is platform–agnostic, so you can pick any local or cloud–based repository that includes pull requests (PRs, sometimes called merge requests or change requests). Some popular options include GitHub, GitLab, and BitBucket. Get into the routine of working with PRs. You’ll need to start storing both your application code as well as your infrastructure code in Git.
Step two: organise your infrastructure code
Make sure your infrastructure code is declarative and mapped to your actual infrastructure in some fashion – for example, you might map each single repository to an app environment, or use branches within one repository to represent each environment. You’ll also need a separate CI process that produces built artifacts that your GitOps Operator can access. Some tools might only work with a specific repository. Be sure to consult with your teams to find out which works best for them.
Step three: choose a GitOps Operator
The third big decision you’ll need to make is selecting a GitOps Operator. This sits between Git and whichever orchestration system you use. Its job is to pick up the commit and pull in the new state declaration from Git. Again there are a number to choose from, with the most popular choices being Argo CD and Weaveworks Flux.