You’ve got GitOps running smooth with ArgoCD, and now someone says “just run it on Talos.” Easy words. Hard reality. One controls Kubernetes through Git, the other controls the operating system through APIs. Put them together wrong and you get a cluster that feels like it’s arguing with itself.
ArgoCD handles declarative delivery of workloads into a Kubernetes cluster. Talos takes that philosophy further down the stack by making the OS itself immutable, API-driven, and machine-readable. Together, they remove the last bits of snowflake configuration lingering in your control plane. You stop ssh-ing, and start committing.
To integrate them, you let Talos own the servers and ArgoCD own the manifests. Talos manages the Kubernetes lifecycle — bootstrap, upgrade, recovery — through its control API. ArgoCD then connects using the Kubernetes service account, watches your Git repositories, and reconciles workloads as usual. Nothing exotic, but the trust boundary is clean: Talos defines where the cluster runs, ArgoCD defines what runs within it.
When you first bring them up, focus on identity and permissions. Talos uses client certificates or SSO tokens to secure its API. Map those to ArgoCD’s service credentials or use an OIDC provider like Okta or AWS IAM to issue short-lived tokens. This avoids static secrets. Talos nodes rotate certificates automatically, so verify that ArgoCD can refresh its access without manual reconfiguration.
Mini quick answer: To connect ArgoCD to Talos, ensure the Talos-managed Kubernetes cluster exposes a kubeconfig with valid OIDC credentials. Use that file as the cluster access credential in ArgoCD. GitOps then runs normally, but with immutable OS and zero local logins. Simple, secure, repeatable.