Crossplane Chart
You deploy the crossplane chart using Helm to turn Kubernetes into a cloud control plane. This package sets up core controllers and custom resource definitions inside your target cluster. Teams often install this chart with broad cluster admin rights to speed up early testing. Still, wide roles let any user with cluster rights read or change live cloud resources. How the crossplane chart works in your cluster The crossplane chart bundles all the basic parts needed to manage external cloud ser
Crossplane Composition Security + Helm Chart Security: the complete guide
Architecture patterns, implementation strategies, and security best practices. Delivered to your inbox.
You deploy the crossplane chart using Helm to turn Kubernetes into a cloud control plane. This package sets up core controllers and custom resource definitions inside your target cluster. Teams often install this chart with broad cluster admin rights to speed up early testing. Still, wide roles let any user with cluster rights read or change live cloud resources.
How the crossplane chart works in your cluster
The crossplane chart bundles all the basic parts needed to manage external cloud services. When you run the install, Helm creates a dedicated namespace for the control plane pods. It loads custom resource definitions that teach the Kubernetes API about cloud providers and compositions.
Two main pods start up during this process to handle your cloud setup. The core pod watches your custom claims and matches them with the right cloud templates. The package manager pod pulls in provider packages for platforms like AWS or Google Cloud.
Each provider package needs cloud keys to build databases, buckets, or networks on your behalf. Teams store these keys as Kubernetes secrets inside the same control plane namespace. The provider pods read those secrets and make calls out to the external cloud APIs.
Planning RBAC and secrets for the crossplane chart
Kubernetes role-based rules decide who can create claims or edit provider settings in the cluster. The chart ships with default cluster roles for admins, editors, and read-only viewers. You bind these roles to your team groups so developers only request approved cloud templates.
The real risk sits inside the namespace where the chart stores provider secrets. Anyone who can read secrets in that namespace can copy raw cloud keys out. Also, anyone who can edit compositions can change how the cluster builds production databases.
Teams should lock down the control plane namespace so only platform admins have write rights. App teams should only get permission to create resource claims inside their own app namespaces. This split keeps developers from touching the core provider keys or cluster-wide templates.
Crossplane Composition Security + Helm Chart Security: architecture patterns and best practices
Continue reading? Get the full guide.
Free. No spam. Unsubscribe anytime.
What native chart controls solve and what they miss
Native Helm values and Kubernetes roles do a good job of setting up initial boundaries. They decide which pods run in the cluster and which users can log in. They also control who can submit a new manifest to the Kubernetes API server.
Yet this setup only checks who logs in at the start of a session. Once an engineer or script has cluster rights, the native role cannot inspect individual commands. It cannot pause a dangerous delete command before it wipes out a live cloud database.
Native roles also do not rewrite sensitive fields when someone inspects cluster secrets or databases. If a developer queries a provisioned database, raw emails, phone numbers, and card numbers appear. Closing this gap requires control over individual commands and queries while they run in flight.
Add runtime guardrails and masking beside your databases and APIs
Login rules, role grants, and CI checks govern who connects to your stack. Yet any allowed script, engineer, or AI agent still runs commands with the full scope of its role. For workloads on Postgres, MySQL, SQL Server, MongoDB, ClickHouse, Kubernetes, SSH, or internal HTTP services, hoop.dev sits beside the service as an open-source proxy, a sidecar for your database or API.
Before a query runs, hoop.dev guardrails check the statement against your rules. An AI Analyzer you configure can score intent or hold risky calls for human review. Next, hoop.dev data masking rewrites sensitive fields in responses, and each verdict is logged per listener. Explore the MIT-licensed project on GitHub.
Frequently asked questions
What does the crossplane chart install by default?
It installs the core control plane pod, the package manager, and base custom resource definitions. It does not install cloud providers like AWS or GCP until you request them.
How do you update the chart without dropping active cloud resources?
You fetch the latest repo data and run a standard Helm upgrade on the release. The control plane pods restart safely while your external cloud resources stay up and running.
Should developers have direct access to the Crossplane system namespace?
No, because that namespace holds the raw cloud provider secrets and cluster-wide templates. Developers should only work inside their own app namespaces using limited resource claims.
Short role checks help teams work fast. Simple rules make each review clear. Good logs keep every team safe. Scoped keys stop bad changes early.
Related guides
In this post