diff --git a/clusters/cl01tl/services/external-dns/templates/dns-endpoint.yaml b/clusters/cl01tl/services/external-dns/templates/dns-endpoint.yaml new file mode 100644 index 000000000..c174b3904 --- /dev/null +++ b/clusters/cl01tl/services/external-dns/templates/dns-endpoint.yaml @@ -0,0 +1,211 @@ +apiVersion: externaldns.k8s.io/v1alpha1 +kind: DNSEndpoint +metadata: + name: external-device-names + namespace: {{ .Release.Namespace }} + labels: + app.kubernetes.io/name: external-device-names + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/version: {{ .Chart.AppVersion }} + app.kubernetes.io/component: networking + app.kubernetes.io/part-of: {{ .Release.Name }} +spec: + endpoints: + # Unifi UDM + - dnsName: unifi.alexlebens.net + recordTTL: 180 + recordType: A + targets: + - 192.168.1.1 + # Synology Web + - dnsName: synology.alexlebens.net + recordTTL: 180 + recordType: A + targets: + - 192.168.1.55 + # Synology Storage + - dnsName: synologybond.alexlebens.net + recordTTL: 180 + recordType: A + targets: + - 192.168.1.194 + # HD Homerun + - dnsName: hdhr.alexlebens.net + recordTTL: 180 + recordType: A + targets: + - 192.168.1.213 + # Pi KVM + - dnsName: pikvm.alexlebens.net + recordTTL: 180 + recordType: A + targets: + - 192.168.1.57 + +--- +apiVersion: externaldns.k8s.io/v1alpha1 +kind: DNSEndpoint +metadata: + name: iot-device-names + namespace: {{ .Release.Namespace }} + labels: + app.kubernetes.io/name: iot-device-names + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/version: {{ .Chart.AppVersion }} + app.kubernetes.io/component: networking + app.kubernetes.io/part-of: {{ .Release.Name }} +spec: + endpoints: + # Airgradient + - dnsName: it01ag.alexlebens.net + recordTTL: 180 + recordType: A + targets: + - 192.168.1.100 + # Phillips Hue + - dnsName: it02ph.alexlebens.net + recordTTL: 180 + recordType: A + targets: + - 192.168.1.57 + # TubesZB ZigBee + - dnsName: it03tb.alexlebens.net + recordTTL: 180 + recordType: A + targets: + - 192.168.1.193 + # TubesZB Z-Wave + - dnsName: it04tb.alexlebens.net + recordTTL: 180 + recordType: A + targets: + - 192.168.1.135 + +--- +apiVersion: externaldns.k8s.io/v1alpha1 +kind: DNSEndpoint +metadata: + name: host-names + namespace: {{ .Release.Namespace }} + labels: + app.kubernetes.io/name: host-names + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/version: {{ .Chart.AppVersion }} + app.kubernetes.io/component: networking + app.kubernetes.io/part-of: {{ .Release.Name }} +spec: + endpoints: + # Surface Book 3 + - dnsName: pl01wd.alexlebens.net + recordTTL: 180 + recordType: A + targets: + - 192.168.1.86 + # Synology + - dnsName: ps02sn.alexlebens.net + recordTTL: 180 + recordType: A + targets: + - 192.168.1.55 + # Synology Storage + - dnsName: ps02sn-bond.alexlebens.net + recordTTL: 180 + recordType: A + targets: + - 192.168.1.194 + # Desktop + - dnsName: pd05wd.alexlebens.net + recordTTL: 180 + recordType: A + targets: + - 192.168.1.115 + # Raspberry Pi + - dnsName: ps08rp.alexlebens.net + recordTTL: 180 + recordType: A + targets: + - 192.168.1.134 + # Raspberry Pi + - dnsName: ps09rp.alexlebens.net + recordTTL: 180 + recordType: A + targets: + - 192.168.1.147 + +--- +apiVersion: externaldns.k8s.io/v1alpha1 +kind: DNSEndpoint +metadata: + name: service-names + namespace: {{ .Release.Namespace }} + labels: + app.kubernetes.io/name: service-names + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/version: {{ .Chart.AppVersion }} + app.kubernetes.io/component: networking + app.kubernetes.io/part-of: {{ .Release.Name }} +spec: + endpoints: + # Gitea ps08rp + - dnsName: gitea-ps08rp.alexlebens.net + recordTTL: 180 + recordType: A + targets: + - 192.168.1.134 + # Gitea ps09rp + - dnsName: gitea-ps08rp.alexlebens.net + recordTTL: 180 + recordType: A + targets: + - 192.168.1.147 + # Gitea ps08rp + - dnsName: traefik-ps08rp.alexlebens.net + recordTTL: 180 + recordType: A + targets: + - 192.168.1.134 + # Gitea ps08rp + - dnsName: traefik-ps09rp.alexlebens.net + recordTTL: 180 + recordType: A + targets: + - 192.168.1.147 + +--- +apiVersion: externaldns.k8s.io/v1alpha1 +kind: DNSEndpoint +metadata: + name: cluster-names + namespace: {{ .Release.Namespace }} + labels: + app.kubernetes.io/name: cluster-names + app.kubernetes.io/instance: {{ .Release.Name }} + app.kubernetes.io/version: {{ .Chart.AppVersion }} + app.kubernetes.io/component: networking + app.kubernetes.io/part-of: {{ .Release.Name }} +spec: + endpoints: + # Control + - dnsName: cl01tl.alexlebens.net + recordTTL: 180 + recordType: A + targets: + - 192.168.1.35 + - 192.168.1.36 + - 192.168.1.37 + # Workers + - dnsName: cl01tl-endpoint.alexlebens.net + recordTTL: 180 + recordType: A + targets: + - 192.168.1.15 + - 192.168.1.16 + - 192.168.1.17 + # Traefik ps08rp + - dnsName: traefik-cl01tl.alexlebens.net + recordTTL: 180 + recordType: A + targets: + - 192.168.1.15 + - 192.168.1.16 + - 192.168.1.17 diff --git a/clusters/cl01tl/services/external-dns/values.yaml b/clusters/cl01tl/services/external-dns/values.yaml index 1a8338794..62653f458 100644 --- a/clusters/cl01tl/services/external-dns/values.yaml +++ b/clusters/cl01tl/services/external-dns/values.yaml @@ -6,6 +6,7 @@ external-dns-unifi: sources: - traefik-proxy - ingress + - crd policy: sync registry: txt txtOwnerId: default