This directory contains Helm charts for deploying ESDDNS components to Kubernetes clusters.
A complete Kubernetes operator for automated dynamic DNS updates with optimized resource usage.
Features:
See esddns-operator/README.md for detailed documentation.
helm install esddns-operator ./esddns-operator \
--namespace esddns-system \
--create-namespace \
--set gandi.apiKey=YOUR_GANDI_API_KEY \
--set global.domain=yourdomain.com
kubectl get all -n esddns-system
kubectl logs -n esddns-system -l app=esddns-operator
kubectl get svc -n esddns-system esddns-service
helm lint ./esddns-operator
helm template esddns-operator ./esddns-operator
helm template esddns-operator ./esddns-operator -f esddns-operator/values-production.yaml
# Install from local directory
helm install esddns-operator ./esddns-operator \
--set gandi.apiKey=test-key
# Upgrade after changes
helm upgrade esddns-operator ./esddns-operator \
--set gandi.apiKey=test-key
# Test with development values
helm install esddns-operator ./esddns-operator \
-f esddns-operator/values-development.yaml \
--set gandi.apiKey=test-key
helm lint ./esddns-operator
helm template ./esddns-operator --debug
helm package ./esddns-operator
# Creates esddns-operator-1.0.0.tgz
mkdir helm-repo
helm package ./esddns-operator -d helm-repo
helm repo index helm-repo
git add helm-repo/
git commit -m "Release esddns-operator Helm chart v1.0.0"
git push origin main
gh-pages branch or specific folderhttps://<username>.github.io/esddns/helm-repo or similar# Run ChartMuseum locally
helm repo add chartmuseum http://localhost:8080
helm push ./esddns-operator chartmuseum
# Or use remote ChartMuseum instance
helm install esddns-operator ./esddns-operator \
-f esddns-operator/values-production.yaml \
--set gandi.apiKey=YOUR_KEY \
--set global.domain=yourdomain.com
helm install esddns-operator ./esddns-operator \
-f esddns-operator/values-development.yaml \
--set gandi.apiKey=YOUR_KEY \
--set global.domain=example.dev
helm install esddns-operator ./esddns-operator \
--values custom-values.yaml \
--set gandi.apiKey=$GANDI_API_KEY
# Lint chart
helm lint ./esddns-operator
# Template and validate
helm template esddns-operator ./esddns-operator | kubectl apply --dry-run=client -f -
# Detailed debug
helm install esddns-operator ./esddns-operator --debug --dry-run
API key not set:
# Error: gandi.apiKey is required
# Solution:
helm upgrade esddns-operator ./esddns-operator \
--set gandi.apiKey=YOUR_KEY
Domain not found:
# Check ConfigMap
kubectl get configmap -n esddns-system esddns-config -o yaml
# Update domain
helm upgrade esddns-operator ./esddns-operator \
--set global.domain=newdomain.com
Resources not deploying:
# Check templates
helm template esddns-operator ./esddns-operator | kubectl apply --dry-run=client -f -
# Check RBAC
kubectl get clusterrole esddns-operator
kubectl get clusterrolebinding esddns-operator
MIT - See main repository LICENSE file