Complete field reference for HelmRepository and HelmRelease custom resource definitions
Overview
The Helm Operator manages two Custom Resource Definitions (CRDs) in the cluster. PodWarden creates and updates these resources when you deploy Helm chart stacks. The operator watches them and reconciles the actual Helm releases.
Both CRDs live in the helm.podwarden.com API group.
HelmRepository
A HelmRepository represents a Helm chart repository that the operator periodically syncs to discover available charts and versions.
Namespace of the HelmRepository (defaults to the HelmRelease namespace)
spec.values
Field
Type
Required
Description
values
object
No
Arbitrary YAML values passed to helm install/upgrade --values. These are the merged result of the template's default_values and operator-configured env_schema values.
spec.install
Field
Type
Required
Default
Description
createNamespace
boolean
No
false
Create the target namespace if it doesn't exist
timeout
duration
No
5m
Maximum time to wait for the install to complete
remediation.retries
integer
No
0
Number of times to retry a failed install
spec.upgrade
Field
Type
Required
Default
Description
timeout
duration
No
5m
Maximum time to wait for the upgrade to complete
remediation.retries
integer
No
0
Number of times to retry a failed upgrade
remediation.strategy
string
No
rollback
What to do on failure: rollback (revert to previous revision) or uninstall
spec.uninstall
Field
Type
Required
Default
Description
keepHistory
boolean
No
false
Retain Helm release history after uninstall
timeout
duration
No
5m
Maximum time to wait for uninstall to complete
spec.interval
Field
Type
Required
Default
Description
interval
duration
No
5m
How often the operator checks if the release needs reconciliation (e.g., drift detection)
status.conditions
Standard Kubernetes conditions reported by the operator:
Type
Description
Ready
Whether the release is in a healthy, reconciled state
Array of Kubernetes resources managed by this release (namespace-scoped):
Field
Type
Description
apiVersion
string
Resource API version
kind
string
Resource kind (Deployment, Service, etc.)
name
string
Resource name
namespace
string
Resource namespace
ready
boolean
Whether the resource is in a ready/healthy state
status.clusterScopedResources
Array of cluster-scoped resources created by this release. Same fields as resources except no namespace or ready field:
Field
Type
Description
apiVersion
string
Resource API version
kind
string
Resource kind (ClusterRole, CRD, etc.)
name
string
Resource name
Annotations
The operator recognizes these annotations on HelmRelease resources:
Annotation
Type
Description
helm.podwarden.com/dry-run
"true" / "false"
When "true", the operator renders templates and populates status.resources without actually installing. PodWarden sets this during dry-run preview.
helm.podwarden.com/values-hash
string
SHA256 hash of the values object. PodWarden sets this to detect value changes and trigger reconciliation.
System App ConfigMap
The Helm Operator registers itself via a ConfigMap with the podwarden.com/system-app=true label. PodWarden reads this ConfigMap to detect operator presence and capabilities.
Can manage HelmRelease CRDs (install, upgrade, uninstall)
dryRun
Supports dry-run rendering of chart templates
upgradeRollback
Supports automatic rollback on failed upgrades
PodWarden uses these capabilities to enable or disable UI features. For example, if dryRun is not listed, the dry-run toggle is hidden in the deploy form.
See Also
System Apps — Installing and verifying the Helm Operator