feat(source/gateway-api): add Gateway resource source#6380
feat(source/gateway-api): add Gateway resource source#6380danicaceres1998 wants to merge 1 commit intokubernetes-sigs:masterfrom
Conversation
|
|
|
Welcome @danicaceres1998! |
|
Hi @danicaceres1998. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Regular contributors should join the org to skip this step. Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
6ed47ab to
39d1f4f
Compare
|
/easycla |
39d1f4f to
aeee16a
Compare
|
/easycla |
Add a new `gateway` source type that watches Gateway resources directly and publishes DNS records (A/AAAA/CNAME) from status.addresses when the gateway is annotated with external-dns.alpha.kubernetes.io/hostname. Unlike the route sources (gateway-httproute etc.) which resolve hostnames by traversing Route → parentRef → Gateway, this source targets the Gateway object itself — useful when DNS is managed at the infrastructure level rather than per-route. Supported features: - Hostname annotation (external-dns.alpha.kubernetes.io/hostname) - Target override annotation (external-dns.alpha.kubernetes.io/target) - TTL annotation, provider-specific annotations - GatewayName / GatewayNamespace / GatewayLabelFilter / AnnotationFilter - FQDN template (--fqdn-template flag) - Controller annotation mismatch filtering
aeee16a to
8f7e69c
Compare
What does it do ?
Unlike the route sources (gateway-httproute etc.) which resolve hostnames by traversing Route → parentRef → Gateway, this source targets the Gateway object itself — useful when DNS is managed at the infrastructure level rather than per-route.
gatewaysource type (--source=gateway) that watchesGatewayresources directly and publishes DNS records (A/AAAA/CNAME) fromstatus.addressesexternal-dns.alpha.kubernetes.io/hostnameannotationflags.md,sources/index.md(regenerated), andsources/gateway-api.mdSupported features:
Motivation
Users managing DNS at the infrastructure level (one Gateway = one external IP) should not need to annotate every individual Route. This source allows ExternalDNS to watch Gateways directly.
I'm working on a Gateway-as-a-Service (GaaS) architecture. The goal is to only manage headless Gateways and rely on the HTTPRoute resources to manage redirections within the cluster. When I was performing some tests and validations, I just found that the project does not support the native Gateway source, so decided to carry out the implementation.
More