Package
Declares what an application needs from the platform — networking, SSO, and monitoring.
Once packages are deployed, the UDS Operator takes over. Think of CRDs as forms you fill out to tell the platform what you need — the operator reads them and does the work behind the scenes.
Package
Declares what an application needs from the platform — networking, SSO, and monitoring.
Exemption
Grants specific workloads permission to bypass named security policies.
ClusterConfig
Holds cluster-wide settings like domains, CA certs, and networking CIDRs.
Think of a Package CR as a request form for the platform. Instead of manually configuring Istio routes, writing NetworkPolicies, and setting up Keycloak clients, an application team fills out one declaration — and the operator provisions everything.
A Package can declare things like:
The platform enforces a strict security baseline out of the box — no privileged containers, no root execution, restricted volume types. But sometimes a workload genuinely needs to break a rule. A node-level metrics agent, for example, needs host access that would normally be blocked.
An Exemption CR is a permission slip. It names exactly which policies to bypass and targets specific workloads by namespace and name. It also supports title and description fields — so the reason for the exemption can be documented right next to the exemption itself.
While Package and Exemption are scoped to individual applications, ClusterConfig holds shared global information about the cluster deployment itself — things like:
Unlike the other two CRDs, application teams don’t touch ClusterConfig — it is managed by platform operators.