README.md
May 25, 2026 Β· View on GitHub
π Table of Contents
πͺ Usage
The deployment can be performed in every way Kubernetes supports. The following example shows the deployment as a sidecar container in the ExternalDNS pod using the charts for ExternalDNS.
Create the secret containing your Infomaniak API key
kubectl create secret generic infomaniak-credentials --from-literal=api-token=myapitoken
Install the ExternalDNS Helm chart as explained in the official documentation.
Hereβs an example values.yaml file you can use as a reference.
Adjust the values according to your needs:
image:
tag: v0.20.0
# -- ExternalDNS Log level.
logLevel: debug # reduce in production
# -- if true, ExternalDNS will run in a namespaced scope (Role and Rolebinding will be namespaced too).
namespaced: false
# -- Kubernetes resources to monitor for DNS entries.
sources:
- ingress
- service
- crd
# -- How DNS records are synchronized between sources and providers; available values are create-only, sync, & upsert-only.
policy: "sync"
provider:
name: webhook
webhook:
image:
repository: ghcr.io/m0nsterrr/external-dns-webhook-infomaniak
# Check the latest GitHub release to get the newest tag.
tag: v0.1.0
pullPolicy: IfNotPresent
env:
- name: LOG_LEVEL
value: debug # reduce in production
- name: INFOMANIAK_API_TOKEN
valueFrom:
secretKeyRef:
name: infomaniak-credentials
key: api-token
# The webhook server listens on localhost by default. Otherwise, you can set SERVER_HOST.
- name: SERVER_PORT
value: "8888" # default and recommended port for exposing webhook provider EPs
# The exposed server listens on all interfaces (0.0.0.0) by default. Otherwise, you can set METRICS_HOST.
- name: METRICS_PORT
value: "8080" # default and recommended port for exposing metrics and health EPs
- name: DRY_RUN
value: "true" # set to "false" when you want to allow making changes to your DNS resources
π οΈ Dev
Install Go.
Run linter and formatter
golangci-lint must be installed.
golangci-lint run
Run test
go test -v ./... -race
devenv
A devenv is available; the documentation can be found on how to use it here.
πββοΈ Support & Assistance
- Take a look at the support document on guidelines for tips on how to ask the right questions.
- For all questions/features/bugs/issues head over here.
π€ Contributing
- Please review the Code of Conduct for guidelines on ensuring everyone has the best experience interacting with the community.
- We welcome and encourage contributions to this project ! Please review the contributing doc for submitting issues/a guide on submitting pull requests and helping out.
π‘οΈ Security
See security file for details.
βοΈ License
See here.