-
-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #17 from onedr0p/readme-updates
chore: update readme
- Loading branch information
Showing
1 changed file
with
63 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,64 @@ | ||
# ExternalDNS - Unifi Webhook | ||
# ExternalDNS webhook provider for UniFi | ||
|
||
There be dragons ... | ||
⚠️ This software is experimental and **NOT FIT FOR PRODUCTION USE!** | ||
|
||
[ExternalDNS](https://github.com/kubernetes-sigs/external-dns) is a Kubernetes add-on for automatically managing DNS records for Kubernetes ingresses and services by using different DNS providers. This webhook allows to manage your UniFi domains inside your Kubernetes cluster. | ||
|
||
## Requirements | ||
|
||
- ExternalDNS >= v0.14.0 | ||
- UniFi OS >= 4.0.3 (currently Early Access only) | ||
- UniFi Network >= 8.2.87 (currently Early Access only) | ||
|
||
## Deployment | ||
|
||
1. Create a local user with a password in your UniFi OS, this user only needs read/write access to the UniFi Network appliance. | ||
|
||
2. Add the ExternalDNS Helm repository to your cluster. | ||
|
||
```shell | ||
helm repo add external-dns https://kubernetes-sigs.github.io/external-dns/ | ||
``` | ||
|
||
3. Create the helm values file, for example `external-dns-unifi-values.yaml`: | ||
|
||
```yaml | ||
fullnameOverride: external-dns-unifi | ||
logLevel: debug | ||
provider: | ||
name: webhook | ||
webhook: | ||
image: | ||
repository: ghcr.io/kashalls/external-dns-unifi-webhook | ||
tag: main # replace with a versioned release tag | ||
env: | ||
- name: UNIFI_HOST | ||
value: https://192.168.1.1 # replace with the address to your UniFi router | ||
- name: SERVER_HOST | ||
value: 0.0.0.0 | ||
- name: UNIFI_USER | ||
valueFrom: | ||
secretKeyRef: | ||
name: external-dns-unifi-secret | ||
key: username | ||
- name: UNIFI_PASS | ||
valueFrom: | ||
secretKeyRef: | ||
name: external-dns-unifi-secret | ||
key: password | ||
- name: LOG_LEVEL | ||
value: debug | ||
- name: UNIFI_SKIP_TLS_VERIFY | ||
value: "true" | ||
policy: sync | ||
sources: ["ingress", "service"] | ||
txtOwnerId: default | ||
txtPrefix: k8s. | ||
domainFilters: ["example.com"] # replace with your domain | ||
``` | ||
|
||
4. Install the Helm chart | ||
|
||
```shell | ||
helm install external-dns-unifi external-dns/external-dns -f external-dns-unifi-values yaml --version 1.14.3 -n external-dns | ||
``` |