Gateway API Support
Gateways labeled with external-dns: enabled, creates DNS records for hostnames in HTTPRoutes.
provider:
name: pihole
policy: sync
env:
- name: EXTERNAL_DNS_PIHOLE_PASSWORD
valueFrom:
secretKeyRef:
name: pihole-password
key: EXTERNAL_DNS_PIHOLE_PASSWORD
extraArgs:
- --pihole-server=http://pihole.pihole.svc.cluster.local
- --pihole-api-version=6
- --gateway-label-filter=external-dns==enabled
sources:
- gateway-httproute
ingressClassFilters:
- cilium
Gateway Example
apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
name: blog
namespace: blog
annotations:
cert-manager.io/cluster-issuer: letsencrypt-production # Specify the name of your issuer resource
labels:
external-dns: enabled
spec:
gatewayClassName: cilium
listeners:
- hostname: blog.uclab8.net # Specify a valid domain to reach your application
name: blog-uclab8-net-http
port: 80
protocol: HTTP
- hostname: blog.uclab8.net # Specify a valid domain to reach your application
name: blog-uclab8-net-https
port: 443
protocol: HTTPS
tls:
mode: Terminate
certificateRefs:
- kind: Secret
name: blog-uclab8-tls # Specify the secret name to be used with your application
allowedRoutes:
namespaces:
from: All