gitops icon indicating copy to clipboard operation
gitops copied to clipboard

Upgrade External DNS to v0.16.1, add DNSEndpoint CRD support

Open drGrove opened this issue 8 months ago • 1 comments

drGrove avatar Apr 24 '25 07:04 drGrove

Infro diff for 1d18f89

argocd.hashbang.sh > external-dns (2 files changed)

time="2025-04-24T07:22:29Z" level=warning msg="Failed to invoke grpc call. Use flag --grpc-web in grpc calls. To avoid this warning message, use flag --grpc-web."
time="2025-04-24T07:22:32Z" level=warning msg="Failed to invoke grpc call. Use flag --grpc-web in grpc calls. To avoid this warning message, use flag --grpc-web."

===== /Service external-dns/external-dns ======
--- /tmp/argocd-diff849186079/external-dns-live.yaml
+++ /tmp/argocd-diff849186079/external-dns
@@ -2,9 +2,11 @@
 kind: Service
 metadata:
   annotations:
+    argocd.argoproj.io/tracking-id: external-dns:/Service:external-dns/external-dns
     kubectl.kubernetes.io/last-applied-configuration: |
       {"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"labels":{"app.kubernetes.io/name":"external-dns"},"name":"external-dns","namespace":"external-dns"},"spec":{"ports":[{"name":"metrics","port":7979,"targetPort":7979}],"selector":{"app.kubernetes.io/name":"external-dns"}}}
   labels:
+    app.kubernetes.io/instance: external-dns
     app.kubernetes.io/name: external-dns
   name: external-dns
   namespace: external-dns

===== /ServiceAccount external-dns/external-dns ======
--- /tmp/argocd-diff1598992185/external-dns-live.yaml
+++ /tmp/argocd-diff1598992185/external-dns
@@ -2,9 +2,11 @@
 kind: ServiceAccount
 metadata:
   annotations:
+    argocd.argoproj.io/tracking-id: external-dns:/ServiceAccount:external-dns/external-dns
     kubectl.kubernetes.io/last-applied-configuration: |
       {"apiVersion":"v1","kind":"ServiceAccount","metadata":{"annotations":{},"labels":{"app.kubernetes.io/name":"external-dns"},"name":"external-dns","namespace":"external-dns"}}
   labels:
+    app.kubernetes.io/instance: external-dns
     app.kubernetes.io/name: external-dns
   name: external-dns
   namespace: external-dns

===== apps/Deployment external-dns/external-dns ======
--- /tmp/argocd-diff590728874/external-dns-live.yaml
+++ /tmp/argocd-diff590728874/external-dns
@@ -2,11 +2,13 @@
 kind: Deployment
 metadata:
   annotations:
+    argocd.argoproj.io/tracking-id: external-dns:apps/Deployment:external-dns/external-dns
     deployment.kubernetes.io/revision: "11"
     kubectl.kubernetes.io/last-applied-configuration: |
       {"apiVersion":"apps/v1","kind":"Deployment","metadata":{"annotations":{},"labels":{"app.kubernetes.io/name":"external-dns"},"name":"external-dns","namespace":"external-dns"},"spec":{"selector":{"matchLabels":{"app.kubernetes.io/name":"external-dns"}},"strategy":{"type":"Recreate"},"template":{"metadata":{"labels":{"app.kubernetes.io/name":"external-dns"}},"spec":{"containers":[{"args":["--source=service","--source=ingress","--registry=txt","--provider=aws","--txt-owner-id=digitalocean-hashbang","--txt-prefix=_owner.","--source=crd","--domain-filter=hashbang.sh","--managed-record-types=A","--managed-record-types=CNAME","--managed-record-types=TXT"],"env":[{"name":"AWS_REGION","value":"us-west-2"},{"name":"AWS_ACCESS_KEY_ID","value":"AKIAR7CEWFK35SZX5S66"},{"name":"AWS_SECRET_ACCESS_KEY","valueFrom":{"secretKeyRef":{"key":"key","name":"external-dns-iam"}}}],"image":"registry.k8s.io/external-dns/external-dns:v0.16.1@sha256:37d3a7a05c4638b8177382b80a627c223bd84a53c1a91be137245bd3cfdf9986","name":"external-dns","ports":[{"containerPort":7979,"name":"metrics"}]}],"securityContext":{"fsGroup":65534},"serviceAccountName":"external-dns"}}}}
   generation: 11
   labels:
+    app.kubernetes.io/instance: external-dns
     app.kubernetes.io/name: external-dns
   managedFields:
   - apiVersion: apps/v1

===== cilium.io/CiliumNetworkPolicy external-dns/external-dns ======
--- /tmp/argocd-diff2652592612/external-dns-live.yaml
+++ /tmp/argocd-diff2652592612/external-dns
@@ -2,10 +2,12 @@
 kind: CiliumNetworkPolicy
 metadata:
   annotations:
+    argocd.argoproj.io/tracking-id: external-dns:cilium.io/CiliumNetworkPolicy:external-dns/external-dns
     kubectl.kubernetes.io/last-applied-configuration: |
       {"apiVersion":"cilium.io/v2","kind":"CiliumNetworkPolicy","metadata":{"annotations":{},"labels":{"app.kubernetes.io/name":"external-dns"},"name":"external-dns","namespace":"external-dns"},"spec":{"egress":[{"toEntities":["cluster"]},{"toEntities":["cluster"],"toPorts":[{"ports":[{"port":"53","protocol":"ANY"}],"rules":{"dns":[{"matchPattern":"*.amazonaws.com"}]}}]},{"toEntities":["world"],"toPorts":[{"ports":[{"port":"443","protocol":"TCP"}]}]}],"endpointSelector":{"matchLabels":{"k8s:app":"external-dns"}},"ingress":[{"fromEntities":["cluster"],"toPorts":[{"ports":[{"port":"7979","protocol":"TCP"}],"rules":{"http":[{"method":"GET","path":"/metrics"}]}}]}]}}
   generation: 32
   labels:
+    app.kubernetes.io/instance: external-dns
     app.kubernetes.io/name: external-dns
   name: external-dns
   namespace: external-dns

===== monitoring.coreos.com/ServiceMonitor external-dns/external-dns-server-metrics ======
--- /tmp/argocd-diff762024736/external-dns-server-metrics-live.yaml
+++ /tmp/argocd-diff762024736/external-dns-server-metrics
@@ -3,10 +3,12 @@
 metadata:
   annotations:
     argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true
+    argocd.argoproj.io/tracking-id: external-dns:monitoring.coreos.com/ServiceMonitor:external-dns/external-dns-server-metrics
     kubectl.kubernetes.io/last-applied-configuration: |
       {"apiVersion":"monitoring.coreos.com/v1","kind":"ServiceMonitor","metadata":{"annotations":{"argocd.argoproj.io/sync-options":"SkipDryRunOnMissingResource=true"},"labels":{"app.kubernetes.io/name":"external-dns","prometheusInstance":"default"},"name":"external-dns-server-metrics","namespace":"external-dns"},"spec":{"endpoints":[{"port":"metrics"}],"selector":{"matchLabels":{"app.kubernetes.io/name":"external-dns"}}}}
   generation: 1
   labels:
+    app.kubernetes.io/instance: external-dns
     app.kubernetes.io/name: external-dns
     prometheusInstance: default
   managedFields:

===== rbac.authorization.k8s.io/ClusterRole /external-dns ======
--- /tmp/argocd-diff3618136868/external-dns-live.yaml
+++ /tmp/argocd-diff3618136868/external-dns
@@ -2,9 +2,11 @@
 kind: ClusterRole
 metadata:
   annotations:
+    argocd.argoproj.io/tracking-id: external-dns:rbac.authorization.k8s.io/ClusterRole:external-dns/external-dns
     kubectl.kubernetes.io/last-applied-configuration: |
       {"apiVersion":"rbac.authorization.k8s.io/v1","kind":"ClusterRole","metadata":{"annotations":{},"labels":{"app.kubernetes.io/name":"external-dns"},"name":"external-dns"},"rules":[{"apiGroups":[""],"resources":["endpoints","pods","services"],"verbs":["get","watch","list"]},{"apiGroups":["extensions"],"resources":["ingresses"],"verbs":["get","watch","list"]},{"apiGroups":["networking.k8s.io"],"resources":["ingresses"],"verbs":["get","watch","list"]},{"apiGroups":[""],"resources":["nodes"],"verbs":["watch","list"]},{"apiGroups":["externaldns.k8s.io"],"resources":["dnsendpoints"],"verbs":["get","watch","list"]},{"apiGroups":["externaldns.k8s.io"],"resources":["dnsendpoints/status"],"verbs":["*"]}]}
   labels:
+    app.kubernetes.io/instance: external-dns
     app.kubernetes.io/name: external-dns
   name: external-dns
   resourceVersion: "710536737"

===== rbac.authorization.k8s.io/ClusterRoleBinding /external-dns-viewer ======
--- /tmp/argocd-diff1036182106/external-dns-viewer-live.yaml
+++ /tmp/argocd-diff1036182106/external-dns-viewer
@@ -2,9 +2,11 @@
 kind: ClusterRoleBinding
 metadata:
   annotations:
+    argocd.argoproj.io/tracking-id: external-dns:rbac.authorization.k8s.io/ClusterRoleBinding:external-dns/external-dns-viewer
     kubectl.kubernetes.io/last-applied-configuration: |
       {"apiVersion":"rbac.authorization.k8s.io/v1","kind":"ClusterRoleBinding","metadata":{"annotations":{},"labels":{"app.kubernetes.io/name":"external-dns"},"name":"external-dns-viewer"},"roleRef":{"apiGroup":"rbac.authorization.k8s.io","kind":"ClusterRole","name":"external-dns"},"subjects":[{"kind":"ServiceAccount","name":"external-dns","namespace":"external-dns"}]}
   labels:
+    app.kubernetes.io/instance: external-dns
     app.kubernetes.io/name: external-dns
   name: external-dns-viewer
   resourceVersion: "710536742"

===== apiextensions.k8s.io/CustomResourceDefinition /dnsendpoints.externaldns.k8s.io ======
--- /tmp/argocd-diff3829729/dnsendpoints.externaldns.k8s.io-live.yaml
+++ /tmp/argocd-diff3829729/dnsendpoints.externaldns.k8s.io
@@ -0,0 +1,101 @@
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+  annotations:
+    api-approved.kubernetes.io: https://github.com/kubernetes-sigs/external-dns/pull/2007
+    controller-gen.kubebuilder.io/version: v0.15.0
+  labels:
+    app.kubernetes.io/name: external-dns
+  name: dnsendpoints.externaldns.k8s.io
+spec:
+  group: externaldns.k8s.io
+  names:
+    kind: DNSEndpoint
+    listKind: DNSEndpointList
+    plural: dnsendpoints
+    singular: dnsendpoint
+  scope: Namespaced
+  versions:
+  - name: v1alpha1
+    schema:
+      openAPIV3Schema:
+        properties:
+          apiVersion:
+            description: |-
+              APIVersion defines the versioned schema of this representation of an object.
+              Servers should convert recognized schemas to the latest internal value, and
+              may reject unrecognized values.
+              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
+            type: string
+          kind:
+            description: |-
+              Kind is a string value representing the REST resource this object represents.
+              Servers may infer this from the endpoint the client submits requests to.
+              Cannot be updated.
+              In CamelCase.
+              More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
+            type: string
+          metadata:
+            type: object
+          spec:
+            description: DNSEndpointSpec defines the desired state of DNSEndpoint
+            properties:
+              endpoints:
+                items:
+                  description: Endpoint is a high-level way of a connection between
+                    a service and an IP
+                  properties:
+                    dnsName:
+                      description: The hostname of the DNS record
+                      type: string
+                    labels:
+                      additionalProperties:
+                        type: string
+                      description: Labels stores labels defined for the Endpoint
+                      type: object
+                    providerSpecific:
+                      description: ProviderSpecific stores provider specific config
+                      items:
+                        description: ProviderSpecificProperty holds the name and value
+                          of a configuration which is specific to individual DNS providers
+                        properties:
+                          name:
+                            type: string
+                          value:
+                            type: string
+                        type: object
+                      type: array
+                    recordTTL:
+                      description: TTL for the record
+                      format: int64
+                      type: integer
+                    recordType:
+                      description: RecordType type of record, e.g. CNAME, A, AAAA,
+                        SRV, TXT etc
+                      type: string
+                    setIdentifier:
+                      description: Identifier to distinguish multiple records with
+                        the same name and type (e.g. Route53 records with routing
+                        policies other than 'simple')
+                      type: string
+                    targets:
+                      description: The targets the DNS record points to
+                      items:
+                        type: string
+                      type: array
+                  type: object
+                type: array
+            type: object
+          status:
+            description: DNSEndpointStatus defines the observed state of DNSEndpoint
+            properties:
+              observedGeneration:
+                description: The generation observed by the external-dns controller.
+                format: int64
+                type: integer
+            type: object
+        type: object
+    served: true
+    storage: true
+    subresources:
+      status: {}

argocd.hashbang.sh > ircd (0 files changed)

time="2025-04-24T07:22:38Z" level=warning msg="Failed to invoke grpc call. Use flag --grpc-web in grpc calls. To avoid this warning message, use flag --grpc-web."
time="2025-04-24T07:22:42Z" level=warning msg="Failed to invoke grpc call. Use flag --grpc-web in grpc calls. To avoid this warning message, use flag --grpc-web."

===== apps/Deployment ircd/irc-deployment ======
--- /tmp/argocd-diff1447508533/irc-deployment-live.yaml
+++ /tmp/argocd-diff1447508533/irc-deployment
@@ -30,7 +30,7 @@
         app: irc
     spec:
       containers:
-      - image: ghcr.io/ergochat/ergo:v2.14.0@sha256:ef4040d18044a53c8c995defb3159018cf2e83030e5db068c3976d9343c826a5
+      - image: ghcr.io/ergochat/ergo:v2.15.0@sha256:135cd42c6300d957e0045ee53fbe886e43e1c04bb621391ed7b8940c174d68f3
         imagePullPolicy: IfNotPresent
         livenessProbe:
           failureThreshold: 3
@@ -78,7 +78,7 @@
           echo "Exiting.";
         command:
         - /bin/sh
-        image: ghcr.io/ergochat/ergo:v2.14.0@sha256:ef4040d18044a53c8c995defb3159018cf2e83030e5db068c3976d9343c826a5
+        image: ghcr.io/ergochat/ergo:v2.15.0@sha256:135cd42c6300d957e0045ee53fbe886e43e1c04bb621391ed7b8940c174d68f3
         imagePullPolicy: IfNotPresent
         name: config-reloader
         resources: {}

github-actions[bot] avatar Apr 24 '25 07:04 github-actions[bot]