| Status: ✅ Production Ready | Test Coverage: 87.5% | Date: 2026-01-30 |
# OpenShift
helm install hyper2kvm-operator ./helm/hyper2kvm-operator \
--namespace hyper2kvm-system --create-namespace \
--set openshift.enabled=true \
--set image.tag=2.1.0-operator
# Kubernetes
helm install hyper2kvm-operator ./helm/hyper2kvm-operator \
--namespace hyper2kvm-system --create-namespace \
--set openshift.enabled=false \
--set image.tag=2.1.0-operator
# Via operator-sdk
operator-sdk run bundle ghcr.io/ssahani/hyper2kvm-operator-bundle:v2.1.0 \
--namespace hyper2kvm-system
# Via OLM catalog
oc apply -f olm/catalog/catalog-source.yaml
oc apply -f olm/catalog/subscription.yaml
# Deploy with automation
./scripts/deploy-to-openshift.sh 2.1.0 helm hyper2kvm-system
# Or manual deployment
./scripts/deploy-to-openshift.sh 2.1.0 manual hyper2kvm-system
# Quick validation
kubectl get crd | grep hyper2kvm
kubectl get pods -n hyper2kvm-system
kubectl logs -n hyper2kvm-system deployment/hyper2kvm-operator
# Full test suite
./scripts/test-openshift-deployment.sh hyper2kvm-system
# Test migration job
kubectl apply -f k8s/operator/examples/inspect-job.yaml
kubectl get migrationjobs -w
Public Images:
ghcr.io/ssahani/hyper2kvm:2.1.0-operatorghcr.io/ssahani/hyper2kvm:2.1.0-workerghcr.io/ssahani/hyper2kvm-operator-bundle:v2.1.0Build Local:
# All images
./scripts/build-operator-images.sh 2.1.0
# OLM bundle
./scripts/build-olm-bundle.sh 2.1.0
Helm Values:
openshift:
enabled: true # Or autoDetect: true
route.enabled: true
scc.create: true
operator:
replicas: 1 # 2+ for HA
leaderElection.enabled: true
image:
tag: 2.1.0-operator
pullPolicy: IfNotPresent
Environment Variables:
RECONCILE_INTERVAL=30WORKER_DISCOVERY_INTERVAL=60LOG_LEVEL=INFOLEADER_ELECTION_ENABLED=truePod not starting: Check kubectl describe pod → Likely SCC (OpenShift) or image pull
CRD validation fails: Use kubectl apply --dry-run=server
RBAC denied: Verify kubectl auth can-i create migrationjobs.hyper2kvm.io
Worker not found: Check pod labels hyper2kvm.io/worker: "true"
Metrics: http://operator-service:8080/metrics
Logs: kubectl logs -n hyper2kvm-system deployment/hyper2kvm-operator --follow
Debug: kubectl set env deployment/hyper2kvm-operator LOG_LEVEL=DEBUG
# Helm
helm upgrade hyper2kvm-operator ./helm/hyper2kvm-operator \
--namespace hyper2kvm-system \
--set image.tag=2.2.0-operator \
--reuse-values
# Rollback
helm rollback hyper2kvm-operator -n hyper2kvm-system
PRODUCTION_DEPLOYMENT_GUIDE.mdOPENSHIFT_QUICKSTART.mddocs/deployment/openshift-deployment-guide.mdTEST_RESULTS.mdolm/README.md| Version: 2.1.0 | Status: Production Ready ✅ |