BenTheElder

GitOps All The Things!

:allthethings::kubernetes::git:

September 23rd, 2018


You should use GitOps for everything. Everything.

GitOps is a recent-ish term for:

Why? - Well, do you like the sound of:

We’ve been doing this to varying degrees for years with the Kubernetes project Test Infrastructure and it works wonderfully. Since our configs are in public source control anyone can file a PR to change them or inspect the historical configuration.

When things break (and they will, it happens), having quick access to configuration history is invaluble. Being able to make fixes by sending a pull-request with configuration updates also makes for an excellent experience. Some of our tooling here has been quite rough, but as we bring things more in line with this model it is much easier to work with.

Following this model I’ve moved this site to Hugo, Netlify, and GitHub and managing it has never been easier (the official Kubernetes website uses the same stack).

For Kubernetes as an Open-Source community we’re making strides towards a world where everything is publicly managed through declarative config. With the meta “Org” project and Peribolos we now have “Join the Kubernetes Organizations - by Pull Request”. I hope this can bring increased openness to the project by managing project membership, teams, repo configuration, and more via the same (public) GitOps model with public requests for changes and public records of all changes (via git history), and I’d encourage other organizations to take a look.

If this sounds good to you, all of the tooling being developed for this is declarative, easy to use, and open-source. If you’re interested, please reach out via email or Twitter (see my homepage), Kubernetes SIG-Testing slack, or file a GitHub Issue with test-infra.

GitOps all the things! :allthethings: