## Why use GitOps Some of Kubernetes' main advantages are its declarative resource model and the controllers' reconciliation loops. This allows you to define the desired state of your cluster, and the controllers attempt to bring the actual system environment in line with your defined configuration. `kubectl` and tools like `k9s` and `Lens` are good for viewing cluster resources and making quick, ad-hoc changes. For defining and maintaining the desired state of a cluster over time, GitOps is a better fit. GitOps answers a question that manual configuration and imperative scripting leave open: _who made which changes and when_ (traceability and auditing). It keeps a transparent, auditable deployment process, tracks and applies changes automatically, and minimizes human error. Following IaC principles, GitOps enables systematic and repeatable infrastructure configurations. This speeds up development cycles and better integrates with other DevOps tools and practices, making it an ideal fit for modern cloud-native environments. Learn more about Syself's GitOps deployment features. Given that Syself Autopilot primarily interfaces with the Kubernetes API, you're free to pick any GitOps tool of your preference. Both Argo CD and Flux work well with Syself Autopilot. ## Architecture You install your favorite GitOps tool responsible for continuous deployment in the workload cluster, with the Syself Autopilot management cluster being added as an external destination. This configuration lets the GitOps tool change the resources within Syself Autopilot, so the workload cluster matches the desired state defined in a Git repository. This is possible even for a previously created workload cluster, so you can bootstrap your cluster by manually applying it to Syself Autopilot and then pass the baton to your GitOps tool for ongoing management. ## Installation and Configuration Guides The guides will cover the steps for basic installation and configuration of ArgoCD (Flux to come soon) to guarantee the best integration of these tools with Syself Autopilot. After the installation steps, we'll explain, in an opinionated way, how you can achieve a completely [self-managed setup with GitOps](/docs/hetzner/apalla/clusters/gitops/self-management-pattern). If you are new to the platform, you may also want to read the [Syself Autopilot introduction](/docs/hetzner/apalla/getting-started/overview) first.