From 10bb34e8113495675fca45cc7c2efec5f1a9a59a Mon Sep 17 00:00:00 2001 From: Ryan Moon Date: Thu, 2 Apr 2026 17:25:20 -0500 Subject: [PATCH] feat: add ArgoCD ingress and external-dns manifests --- argocd/external-dns.yaml | 65 ++++++++++++++++++++++++++++++++++++++++ argocd/ingress.yaml | 21 +++++++++++++ 2 files changed, 86 insertions(+) create mode 100644 argocd/external-dns.yaml create mode 100644 argocd/ingress.yaml diff --git a/argocd/external-dns.yaml b/argocd/external-dns.yaml new file mode 100644 index 0000000..ea92426 --- /dev/null +++ b/argocd/external-dns.yaml @@ -0,0 +1,65 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: external-dns + namespace: kube-system +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: external-dns +rules: + - apiGroups: [""] + resources: ["services", "endpoints", "pods"] + verbs: ["get", "watch", "list"] + - apiGroups: ["extensions", "networking.k8s.io"] + resources: ["ingresses"] + verbs: ["get", "watch", "list"] + - apiGroups: [""] + resources: ["nodes"] + verbs: ["list", "watch"] +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: external-dns +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: external-dns +subjects: + - kind: ServiceAccount + name: external-dns + namespace: kube-system +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: external-dns + namespace: kube-system +spec: + strategy: + type: Recreate + selector: + matchLabels: + app: external-dns + template: + metadata: + labels: + app: external-dns + spec: + serviceAccountName: external-dns + containers: + - name: external-dns + image: registry.k8s.io/external-dns/external-dns:v0.15.0 + args: + - --source=ingress + - --domain-filter=lunarfront.tech + - --provider=cloudflare + - --cloudflare-proxied + env: + - name: CF_API_TOKEN + valueFrom: + secretKeyRef: + name: cloudflare-api-token + key: cloudflare_api_token diff --git a/argocd/ingress.yaml b/argocd/ingress.yaml new file mode 100644 index 0000000..a1d0607 --- /dev/null +++ b/argocd/ingress.yaml @@ -0,0 +1,21 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: argocd-server + namespace: argocd + annotations: + nginx.ingress.kubernetes.io/ssl-passthrough: "true" + nginx.ingress.kubernetes.io/backend-protocol: "HTTPS" +spec: + ingressClassName: nginx + rules: + - host: argocd.lunarfront.tech + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: argocd-server + port: + number: 443