Document core GitOps features
Goal
We already support these use cases in this issue, but it's not documented anywhere. They came automatically with the underlying tool we use.
The goal is to have them documented in the GitLab docs.
Problem to solve
As an Infrastructure Operator, I want to make sure that no manual changes are persisted in the clusters so that I can be sure that the infrastructure is defined entirely in code.
As an Infrastructure Operator, I want to be able to control certain aspects of the diffing and drift detection to have multiple systems action on different fields of the same resource.
Example:
- Having a deployment managed by the agent
- Having the same deployment's resource limits managed by Horizontal Pod Autoscaler
Details
Automatic drift remediation
We re-apply resources every 5
minutes. This is not configurable.
Support for several managers changing different fields on a single resource
Server-side apply already solves the field-level changes as it takes into account who manages which field. We use agentk
as the manager.
Server-side applies are built into the GitOps library we use, cli-utils
.
One can check the managers associated with a resource using the --show-managed-fields
flag on kubect get
. For example kubectl get deployment -n gitlab-agent gitlab-agent --show-managed-fields -o yaml
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.
Engineering support
Mikhail should be the primary point of contact to help with the technical details in the docs.