Crossplane XRD Generator
Build Crossplane CompositeResourceDefinition (XRD) and Composition YAML visually. Define spec parameters with types and defaults, configure Claims, connection secret keys, and generate a skeleton Composition for AWS, GCP, or Azure providers — plus an example Claim manifest.
Frequently Asked Questions
What is the difference between Crossplane and Terraform?▼
Both tools provision cloud infrastructure, but their control model differs fundamentally. Terraform uses a push-based model: you run terraform apply and it makes API calls, then stores state in a file or backend. Crossplane runs inside Kubernetes as a controller that continuously reconciles desired state with actual cloud state — it's pull-based and self-healing. Crossplane models infrastructure as Kubernetes custom resources (CRs), enabling GitOps workflows with kubectl and Argo/Flux. Terraform is better for standalone pipelines; Crossplane is better when you want platform engineering inside a Kubernetes control plane where app teams consume infrastructure via CRs without needing cloud credentials.
What is a CompositeResourceDefinition (XRD) and how is it different from a CRD?▼
A CRD (CustomResourceDefinition) is a standard Kubernetes primitive that registers a new API type in your cluster. An XRD (CompositeResourceDefinition) is a Crossplane-specific higher-level abstraction built on top of CRDs. When you apply an XRD, Crossplane automatically generates and manages the underlying CRD for you. XRDs also define Claim types, connection secret keys, and link to Compositions — none of which are CRD concepts. Think of XRDs as CRDs with built-in platform engineering features: they enforce schema, enable namespace-scoped Claims, and declare what outputs (connection secrets) composite resources produce.
What is a Composition and how does it relate to an XRD?▼
A Composition is the implementation blueprint for a composite resource defined by an XRD. The XRD defines the API shape (what fields users can set), while the Composition defines what managed resources get created and how XRD fields map to those resources using patch-and-transform rules. One XRD can have multiple Compositions — for example, an XDatabase XRD might have an AWS Composition (creates RDS), a GCP Composition (creates Cloud SQL), and an Azure Composition (creates Azure SQL). Platform teams write Compositions; app developers consume the XRD without needing to know which cloud resource is behind it.
What is a Claim and when should I use it?▼
A Claim is a namespace-scoped request for a composite resource. Composite resources (XRs) are cluster-scoped, which means only cluster admins can create them. Claims let namespace-level users (application teams) request composite resources without cluster-admin access. Crossplane maps each Claim to exactly one XR. Use Claims when you want to give application teams self-service infrastructure provisioning within their own namespace, with the platform team controlling what they can provision via RBAC on the Claim type. If all your users are cluster admins or you don't need namespace isolation, you can skip Claims and use XRs directly.
How do Crossplane providers work?▼
Crossplane providers are Kubernetes controllers packaged as OCI images that know how to manage a specific set of external resources. For example, provider-aws can manage EC2 instances, RDS databases, S3 buckets, and hundreds of other AWS resources — each as a Kubernetes custom resource. Providers authenticate to cloud APIs using a ProviderConfig resource that references a Kubernetes secret containing credentials (IAM keys, service account JSON, etc.). Once a provider is installed and configured, you can create managed resources like aws.RDS or gcp.CloudSQL, and the provider's controller continuously reconciles them with the real cloud state. The Upbound Marketplace hosts official and community providers for AWS, GCP, Azure, Helm, Terraform, and more.
What is a Crossplane control plane and why would I build one?▼
A Crossplane control plane is a Kubernetes cluster (or a managed Upbound Space) running Crossplane with providers installed, acting as the single source of truth for your infrastructure. Instead of multiple teams running separate Terraform pipelines, a control plane centralizes cloud resource management with Kubernetes-native RBAC, audit logging via kube-apiserver, and continuous reconciliation. You build one when you want to offer a self-service developer platform: app teams submit Claim resources to request databases, queues, or caches, and the control plane provisions and manages them automatically. Upbound's hosted Spaces product lets you run managed Crossplane control planes without operating your own cluster.
Related Products
on GumroadPremium Workflow Pack
Production-grade workflows, architecture guides, and deployment scripts for teams that ship. 10 advanced CI/CD workflows (blue-green, canary, E2E, security), 5 architecture deep-dives, code review checklist, PR process guide, and 5 battle-tested Bash deployment scripts.
Buy on Gumroad →GitHub Actions CI/CD Templates Pack
12 production-ready GitHub Actions workflow templates covering Node.js, Python, Docker, multi-environment deployments, security scanning, and auto-changelog. Copy, paste, ship.
Buy on Gumroad →Developer Productivity Bundle
Stop rebuilding the same setup every project. 51 VSCode snippets, 40 Git aliases, 5 Docker Compose stacks, 5 GitHub Actions workflows, 5 README templates, and a dotfiles kit. Set up a professional dev environment in under an hour.
Buy on Gumroad →You Might Also Need
Kubernetes Resource Estimator
Estimate total Kubernetes cluster CPU and memory requirements. Input pods, replicas, and resource requests/limits to get cluster totals, requests vs limits analysis, and a ready-to-use ResourceQuota YAML.
Open free tool →
Kubernetes Resource Calculator
Calculate total CPU and memory requirements for your Kubernetes workloads. Input resource requests and limits per pod, replica count, and get cluster resource usage with cloud cost estimates.
Open free tool →
Kubernetes Resource Calculator
Calculate K8s resource requests and limits. Input CPU cores, memory per pod, replica count. Output cluster resource needs, HPA config, namespace quota YAML.
Open free tool →
More Free Tools
Related Articles
Pulumi vs Terraform 2026: Which IaC Tool Should You Choose?
A deep comparison of Pulumi and Terraform for infrastructure as code in 2026. Covers syntax, state management, provider ecosystem, team adoption, and when to choose each tool.
Crossplane: Infrastructure as Code Using Kubernetes
Crossplane turns Kubernetes into a universal control plane for infrastructure. Learn how to provision AWS, GCP, and Azure resources as Kubernetes CRDs using Crossplane providers, compositions, and XRDs.
AWS CDK vs Terraform vs Pulumi: Infrastructure as Code Comparison 2026
Complete comparison of AWS CDK, Terraform, and Pulumi for infrastructure as code in 2026 — language support, state management, multi-cloud, community, and when to use each.
Crossplane vs Terraform for Platform Engineering: Infrastructure-as-Code in 2026
Compare Crossplane and Terraform for platform engineering. Control plane vs declarative IaC, use cases, strengths, and which to choose for your infrastructure automation strategy.
Docker Compose vs Kubernetes for Small Teams 2026
Should small teams use Docker Compose or Kubernetes in 2026? Compare production viability, K3s as a middle ground, Kompose migration, and the real costs of managed Kubernetes for teams under 20.
Enjoying this tool? Get more like it.
Weekly developer tool guides, productivity playbooks & AI tricks. Free. No spam.
Unlock AI-Powered Dev Tools
- ⚡ AI Code Review, Doc Generator & SQL Builder
- ⚡ All premium templates & early access
- ⚡ Member discounts on Gumroad products
$9/mo after trial · Cancel anytime
Want the full toolkit?
Get DevPlaybook Pro
Every template, guide, boilerplate, and automation script in one bundle. 13 premium products — grab them all at once and save big.
MIT licensed · Instant download · No subscription
See what's included → Browse all deals →