Migrating from Helm-Managed CRDs
Here's a step-by-step process to migrate from Helm-managed CRDs to self-managed CRDs for Humio Operator:
First, backup your current CRDs:
shellkubectl get crds -o yaml | grep -A1 "name: humio" > humio-crds-backup.yaml
Extract the current CRDs:
shell# Get the CRDs from the Helm chart helm pull humio-operator/humio-operator --untar cd humio-operator/crds
Apply the CRDs manually:
shellkubectl apply -f .
Update your Helm installation:
shell# Update the Helm release to skip CRDs helm upgrade humio-operator humio-operator/humio-operator --skip-crds
You can now verify your installation with some important safety checks:
Verify existing resources:
shellkubectl get humioclusters kubectl get humioexternalclusters kubectl get humioactions kubectl get humioaggregatealerts kubectl get humioalerts ...
Verify the Humio Operator CRDs remain after the upgrade:
shellkubectl get crds | grep humio
Some best practices include:
Perform the migration during a maintenance window
Have a rollback plan ready
Document the new CRD management process
Update CI/CD pipelines to manage CRDs separately
It's important to note the following points:
Existing Humio resources will not be affected
Future Helm upgrades won't modify CRDs
You'll need to manually manage CRD updates going forward