Automation and GitOps Overview
Automating control plane deployments with GitOps enables declarative, version-controlled infrastructure management. This section covers integrating GitOps workflows with Upbound control planes using Argo CD and related tools.
What is GitOps?
GitOps is an approach for managing infrastructure by:
- Declaratively describing desired system state in Git
- Using controllers to continuously reconcile actual state with desired state
- Treating Git as the source of truth for all configuration and deployments
Upbound control planes are fully compatible with GitOps patterns and we strongly recommend integrating GitOps in the platforms you build on Upbound.
Key Concepts
Argo CD
Argo CD is a popular Kubernetes-native GitOps controller. It continuously monitors Git repositories and automatically applies changes to your infrastructure when commits are detected.
Deployment Models
The way you configure GitOps depends on your deployment model:
| Aspect | Cloud Spaces | Self-Hosted Spaces |
|---|---|---|
| Access Method | Upbound API with tokens | Kubernetes native (secrets/kubeconfig) |
| Configuration | Kubeconfig via up CLI | Control plane connection secrets |
| Setup Complexity | More involved (API integration) | Simpler (native Kubernetes) |
| Typical Use Case | Managing Upbound resources | Managing workloads on control planes |
Getting Started
Choose your path based on your deployment model:
Cloud Spaces
If you're using Upbound Cloud Spaces (Dedicated or Managed):
- Start with GitOps with Upbound Control Planes
- Learn how to integrate Argo CD with Cloud Spaces
- Manage both control plane infrastructure and Upbound resources declaratively
Self-Hosted Spaces
If you're running self-hosted Spaces:
- Start with GitOps with ArgoCD in Self-Hosted Spaces
- Learn how to configure control plane connection secrets
- Manage workloads deployed to your control planes