Dependents Annotations

Overview of annotations that can be set with dependent resources

The following annotations can be added to any rendered manifest to control how component-operator handles that specific dependent object. Where a component-level default exists, it is noted in the Component-level default column.

AnnotationValuesComponent-level defaultDescription
component-operator.cs.sap.com/adoption-policyif-unowned (default), never, alwaysspec.adoptionPolicy (IfUnowned)How to handle an object that already exists in the cluster. See Ownership and Adoption.
component-operator.cs.sap.com/reconcile-policyon-object-change (default), on-object-or-component-change, onceWhen the object is reconciled. See Reconcile Modes.
component-operator.cs.sap.com/update-policyssa-override (default), ssa-merge, replace, recreatespec.updatePolicy (SsaOverride)How the object is updated in the Kubernetes API. See Dependents Lifecycle.
component-operator.cs.sap.com/delete-policydelete (default), orphan, orphan-on-apply, orphan-on-deletespec.deletePolicy (Delete)What happens to the object when it becomes redundant or the component is deleted. See Dependents Lifecycle.
component-operator.cs.sap.com/apply-orderinteger (default: 0)The wave in which the object is applied. Lower numbers are applied first. See Dependents Lifecycle.
component-operator.cs.sap.com/delete-orderinteger (default: 0)The wave in which the object is deleted. Lower numbers are deleted first. Independent of apply-order. See Dependents Lifecycle.
component-operator.cs.sap.com/purge-orderintegerThe apply wave at the end of which the object is deleted (purged) from the cluster, while its inventory record is set to Completed. See Dependents Lifecycle.
component-operator.cs.sap.com/reapply-intervalduration (e.g. 30m)spec.reapplyInterval (60m)How often the object is force-reapplied even when in sync. See Drift Detection.
component-operator.cs.sap.com/status-hintcomma-separated hints (see below)Tuning hints for the kstatus-based readiness check. See Status Detection.

Status Hint Values

The component-operator.cs.sap.com/status-hint annotation accepts a comma-separated list of the following values:

HintDescription
has-observed-generationTreat the object as having a status.observedGeneration field even if not yet set (handles lazy controllers).
has-ready-conditionRequire a Ready condition; if absent, treat as Unknown (not ready).
conditions=<type1>;<type2>Semicolon-separated list of additional condition types that must all be True for the object to be considered ready.

Annotation Value Normalisation

Annotation values are normalised before being evaluated, so PascalCase, camelCase, and kebab-case representations are all accepted. For example, IfUnowned, ifUnowned, and if-unowned are equivalent for adoption-policy.