Skip to content

Manual Resource Configuration

Overview⚓︎

The ignore-diff feature lets you make manual changes to Kubernetes resources without the Hydrolix operator reverting them. Use it when you need to test, debug, or temporarily tune a resource outside the normal configuration.

Ignoring diffs can cause resources to drift from the Hydrolix spec. Use this only when you understand the impact.

How it works⚓︎

  • Add the hydrolix.io/ignore-diff=true annotation to a resource.
  • The operator ignores that resource during reconciliation and logs a message:

      hkt.k8s.resourcegroup [INFO] Ignoring changes in <resource-type>/<resource-name>. Reason: hydrolix.io/ignore-diff annotation present.
    
  • When you remove the annotation, the operator resumes control during the next reconciliation and resets the resource to match the spec.

  • Resources without the annotation remain under full operator management.
  • Changes to the hydrolixcluster.yaml spec won't apply until you remove the annotation.

Add an annotation⚓︎

Use kubectl annotate to add the annotation:

kubectl annotate <resource-type> <resource-name> "hydrolix.io/ignore-diff"="true"

This example adds a ConfigMap named prometheus-cfg:

kubectl annotate configmap prometheus-cfg "hydrolix.io/ignore-diff"="true"

Remove an annotation⚓︎

You can remove an annotation in two ways.

Overwrite the value⚓︎

kubectl annotate <resource-type> <resource-name> "hydrolix.io/ignore-diff"="false" --overwrite

For example:

kubectl annotate configmap prometheus-cfg "hydrolix.io/ignore-diff"="false" --overwrite

Edit the resource⚓︎

kubectl edit <resource-type> <resource-name>

See Resource tuning for other options, including overcommit and resource pools.