apiVersion: data.packaging.carvel.dev/v1alpha1
kind: Package
metadata:
  name: external-dns.tanzu.vmware.com.0.18.0+vmware.3-vks.1
spec:
  capacityRequirementsDescription: No specific capacity requirements.
  licenses:
  - 'VMware''s End User License Agreement (Underlying OSS license: Apache License 2.0)'
  refName: external-dns.tanzu.vmware.com
  releaseNotes: external-dns 0.18.0 https://github.com/kubernetes-sigs/external-dns/releases/tag/v0.18.0
  releasedAt: '2026-02-11T09:00:00Z'
  template:
    spec:
      deploy:
      - kapp:
          rawOptions:
          - --wait-timeout=300s
          - --kube-api-qps=20
          - --kube-api-burst=30
      fetch:
      - imgpkgBundle:
          image: "depot.kube-system.svc/vcf/supervisor-service-extdns/ga/0.18.0/external-dns:v0.18.0_vmware.3-vks.1"
      template:
      - ytt:
          paths:
          - config/
      - kbld:
          paths:
          - '-'
          - .imgpkg/images.yml
  valuesSchema:
    openAPIv3:
      description: OpenAPIv3 Schema for external-dns
      example:
        deployment:
          args:
          - --source=service
          - --txt-owner-id=k8s
          - --domain-filter=k8s.example.org
          - --provider=rfc2136
          - --rfc2136-host=100.69.97.77
          - --rfc2136-port=53
          - --rfc2136-zone=k8s.example.org
          - --rfc2136-tsig-secret=MTlQs3NNU=
          - --rfc2136-tsig-secret-alg=hmac-sha256
          - --rfc2136-tsig-keyname=externaldns-key
          - --rfc2136-tsig-axfr
          env: []
          securityContext: {}
          volumeMounts: []
          volumes: []
        namespace: tanzu-system-service-discovery
        serviceaccount:
          annotations:
            key: value
      properties:
        aws:
          additionalProperties: false
          description: AWS provider related configuration
          nullable: true
          properties:
            credentials:
              additionalProperties: false
              nullable: true
              properties:
                accessKey:
                  default: ''
                  description: AWS access key. When provided along with the aws.secretKey, a Secret will be created and referenced in the external-dns Deployment.
                  type: string
                secretKey:
                  default: ''
                  description: AWS secret key. When provided along with the aws.accessKey, a Secret will be created and referenced in the external-dns Deployment.
                  type: string
              type: object
          type: object
        azure:
          additionalProperties: false
          description: Azure configuration. Package will create azure.json Secret, Volume, and VolumeMount with supplied values.
          nullable: true
          properties:
            aadClientId:
              default: null
              description: AAD Client ID
              nullable: true
              type: string
            aadClientSecret:
              default: null
              description: AAD Client Secret
              nullable: true
              type: string
            cloud:
              default: null
              description: Cloud
              nullable: true
              type: string
            resourceGroup:
              default: ''
              description: Resource Group
              type: string
            subscriptionId:
              default: ''
              description: Subscription ID
              type: string
            tenantId:
              default: ''
              description: Tenant ID
              type: string
            useManagedIdentityExtension:
              default: true
              description: Use manaaged identity extension
              type: boolean
            userAssignedIdentityID:
              default: null
              description: User Assigned Identity ID
              nullable: true
              type: string
          type: object
        deployment:
          additionalProperties: false
          description: Deployment related configuration
          properties:
            args:
              default:
              - --source=service
              - --txt-owner-id=k8s
              - --registry=txt
              - --domain-filter=k8s.example.org
              - --provider=rfc2136
              - --rfc2136-host=<RFC2136_Support_BIND_DNS_SERVER_IP>
              - --rfc2136-port=53
              - --rfc2136-zone=k8s.example.org
              - --rfc2136-tsig-secret=MTlQs3NNU=
              - --rfc2136-tsig-secret-alg=hmac-sha256
              - --rfc2136-tsig-keyname=externaldns-key
              - --rfc2136-tsig-axfr
              description: List of arguments passed via command-line to external-dns.  For more guidance on configuration options for your desired DNS provider, consult the ExternalDNS docs at https://github.com/kubernetes-sigs/external-dns#running-externaldns.
              items:
                default: ''
                type: string
              type: array
              x-example-description: Example for rfc2136
            env:
              default: null
              description: List of environment variables to set in the external-dns
                container.
              items:
                additionalProperties: false
                properties:
                  name:
                    default: ''
                    type: string
                  value:
                    default: ''
                    type: string
                  valueFrom:
                    default: null
                    nullable: true
                type: object
              nullable: true
              type: array
            podLabels:
              default: null
              description: Labels to be added to all deployment pods
              nullable: true
            securityContext:
              default: null
              description: 'SecurityContext defines the security options the external-dns container should be run with. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/'
              nullable: true
            volumeMounts:
              default: null
              description: Pod volumes to mount into the external-dns container's
                filesystem.
              items:
                default: null
                nullable: true
              nullable: true
              type: array
            volumes:
              default: null
              description: 'List of volumes that can be mounted by containers belonging to the external-dns pod. More info: https://kubernetes.io/docs/concepts/storage/volumes'
              items:
                default: null
                nullable: true
              nullable: true
              type: array
          type: object
        namespace:
          default: tanzu-system-service-discovery
          description: The namespace in which to deploy ExternalDNS
          type: string
        priorityClassName:
          default: ''
          description: The user defined priorityClass name of deployment pod
          type: string
        serviceaccount:
          additionalProperties: false
          description: Service account related configuration
          properties:
            annotations:
              default: null
              description: 'Annotations that can be set on the external-dns service account. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/'
              nullable: true
          type: object
        tlsConfig:
          additionalProperties: false
          description: TLS enablement configuration
          properties:
            ca_crt:
              default: ''
              description: User input ca.crt to validate the DNS server connection,
                base64 code string required
              type: string
            tls_enable:
              default: false
              description: TLS enablement feature gate
              type: boolean
          type: object
      title: external-dns values schema
      type: object
      x-example-description: Example of external-dns values
  version: 0.18.0+vmware.3-vks.1
---
apiVersion: data.packaging.carvel.dev/v1alpha1
kind: PackageMetadata
metadata:
  name: external-dns.tanzu.vmware.com
spec:
  displayName: "external-dns"
  shortDescription: "This package provides DNS synchronization functionality."
  longDescription: "This package provides functionality to synchronize exposed Kubernetes Services and Ingresses with DNS providers."
  providerName: VMware
  maintainers:
    - name: Jing An
  categories:
    - "dns"
    - "external-dns"
    - "network"