Half your team wants to manage Firestore with Terraform. The other half swears by Crossplane because everything belongs in Kubernetes. Meanwhile, your service accounts are multiplying like rabbits. You want to automate, not babysit credentials. That’s where Crossplane Firestore comes together in a clean, policy-driven workflow.
Crossplane extends Kubernetes to manage cloud resources declaratively. Firestore delivers a managed, scalable NoSQL database with built-in durability and real-time sync. Combine the two and you get infrastructure as code tied directly to application state, without juggling Firebase console clicks. Instead of provisioning by hand, you define desired resources and let controllers keep them in sync.
When you wire Firestore through Crossplane, you start thinking in terms of objects, not credentials. You define a FirestoreInstance resource, link it to a ProviderConfig with scoped identity, and let Crossplane reconcile. Credentials live once, not in five YAML files. RBAC and OIDC from your cluster or identity provider handle permissions, so developers stop hoarding JSON keys. It's infra management that behaves like version-controlled data.
A quick rule of thumb: if you can describe your Firestore structure and access model declaratively, Crossplane can manage it. Use it to create databases, indexes, or IAM bindings under consistent policy. Want to route different environments through separate GCP projects? Parameterize the ProviderConfig and watch GitOps handle promotion automatically.
Best practices for running Crossplane Firestore setups
Keep identities centralized, not duplicated. Rotate credentials through workload identity or short-lived secrets from your CI runner. Audit Crossplane logs for IAM role drift. Always align ProviderConfigs with least privilege so your automation does not become an accidental admin. Document your claim templates. Future you will be grateful.