You finally get your cloud team humming along with declarative infra, and then someone asks for controlled API access across dozens of namespaces. That’s when Crossplane Kong earns its name. It solves the problem of managing lifecycle and policy for the same resource without gluing together another brittle script.
Crossplane is the control plane meta-layer for Kubernetes. It turns cloud resources into native objects you can define and reconcile like pods. Kong is the API gateway that ensures requests flow securely, with rate limiting, authentication, and observability baked in. Together, Crossplane Kong gives you one consistent model for provisioning infra and fronting it with governed APIs.
At a high level, Crossplane handles the creation of infrastructure: managed databases, buckets, network interfaces, or entire environments. Kong sits in front, mediating traffic and identities. The integration works best when you take the “control plane as code” mindset and merge it with declarative access enforcement. Instead of scattering YAMLs and Terraform states, you define your backends in Crossplane and let Kong treat them as first-class upstreams exposed through standardized routes.
How do you connect Crossplane and Kong?
You define infrastructure in Crossplane, such as a database or cluster, using composite resources. Those objects output connection details that Kong consumes as environment data for its services and routes. Kong then enforces authentication, enlists OIDC providers like Okta, and logs every transaction. The key link is automation: a provider or controller that syncs Crossplane’s managed resources into Kong’s declarative configuration, ensuring when infra is created or destroyed, gateway policies track along automatically.
To make this stick, use established standards for identity. Map service accounts cleanly through OIDC, rotate secrets regularly, and let Kong’s decK or controller watch changes from Crossplane. Treat the control plane as truth, the gateway as enforcement. If something drifts, reconciliation catches it.