Skip to content

Commit

Permalink
Merge pull request #17 from onedr0p/readme-updates
Browse files Browse the repository at this point in the history
chore: update readme
  • Loading branch information
kashalls authored May 25, 2024
2 parents a25aa51 + d9f1c34 commit 68e28a4
Showing 1 changed file with 63 additions and 2 deletions.
65 changes: 63 additions & 2 deletions README.md
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
```

0 comments on commit 68e28a4

Please sign in to comment.