cdk-eks-blueprints icon indicating copy to clipboard operation
cdk-eks-blueprints copied to clipboard

ExternalDNS addon support for Gateway / VirtualService types

Open tdalbo92 opened this issue 1 year ago • 2 comments

Describe the feature

Allow a mechanism to add custom sources for ExternalDNS to monitor. Currently Ingress and Service are the only supported ones.

Use Case

If using Gateway API spec services, such as Istio or Envoy Gateway, routes are exposed through different CRDs than Service or Ingress. I don't see a way to configure or override the container args[1] to use different sources.

[1] https://github.com/kubernetes-sigs/external-dns/blob/master/docs/tutorials/istio.md#manifest-for-clusters-without-rbac-enabled

Proposed Solution

Adding a values parameter to the addon that passes value overrides into the helm chart would suffice.

Other Information

No response

Acknowledgements

  • [X] I may be able to implement this feature request

CDK version used

2.133

EKS Blueprints Version

1.14.1

Node.js Version

v18.20.1

Environment details (OS name and version, etc.)

MacOS Sonoma 14.5 ARM64

tdalbo92 avatar Jun 10 '24 21:06 tdalbo92

I believe the values parameter already exists for this chart/addon. See https://github.com/aws-quickstart/cdk-eks-blueprints/blob/7869d39fd088fc54e5b82815cb292c7ed92209b3/lib/addons/external-dns/index.ts#L33

I was able to enable httproute and tlsroute support using the existing implementation with the extraArgs key. I used the arguments as shown in Configuring ExternalDNS to use Gateway API Route Sources.

Probably could have used the sources helm value now that I see it (https://artifacthub.io/packages/helm/external-dns/external-dns?modal=values&path=sources).

new blueprints.addons.ExternalDnsAddOn({
  version: 'v1.14.4',
  hostedZoneResources: [HOSTED_ZONE],
  values: {
    extraArgs: [
      '--source=gateway-httproute',
      '--source=gateway-tlsroute',
      '--label-filter=external-dns.enabled=true',
    ],
    policy: 'sync',
    txtOwnerId: id,
    txtPrefix: 'external-dns-',
  },
});

Do you need functionality that isn't supported with this approach?

jgreenbow avatar Jun 12 '24 16:06 jgreenbow

This issue has been automatically marked as stale because it has been open 60 days with no activity. Remove stale label or comment or this issue will be closed in 10 days

github-actions[bot] avatar Sep 11 '24 00:09 github-actions[bot]

Issue closed due to inactivity.

github-actions[bot] avatar Nov 10 '24 00:11 github-actions[bot]