// the find
hashicorp/terraform-provider-kubernetes
Terraform Kubernetes provider
The official HashiCorp-maintained Terraform provider for managing Kubernetes resources declaratively. It's for teams already on Terraform who want cluster objects (namespaces, deployments, RBAC, CRDs) provisioned in the same pipeline as the infrastructure that hosts the cluster.
Real acceptance tests run against live EKS/GKE/AKS clusters in CI, not just mocks, which is unusual rigor for a provider this size. Resource coverage is broad and typed per-kind (config_map_v1, deployment_v1, etc.) rather than one generic blob, so schema validation catches mistakes at plan time. The changelog fragment discipline (one file per PR under .changelog/) shows an active, accountable release process rather than a maintainer merging changes ad hoc. Versioned resources and an explicit v3 upgrade guide mean breaking changes are staged, not dropped on users silently.
kubernetes_manifest, the resource you need for CRDs, requires the target API server to be reachable at plan time, so the common 'create the cluster and configure it in one apply' pattern is a recurring source of chicken-and-egg failures — see the _examples/deferred-actions directory, which exists specifically to work around this. Using Terraform to manage objects that change frequently at runtime (Deployments, HPAs, anything a controller also mutates) fights the plan/diff model; most teams end up layering Flux or ArgoCD on top instead of relying on this provider for ongoing reconciliation. The near 1-to-1 mapping to the Kubernetes API means docs are wide but shallow — CRUD on a single resource is well covered, but multi-resource workflows (cert-manager, ingress-nginx, Vault injector) are scattered across separate example folders instead of a coherent guide.