apiVersion: traefik.containo.us/v1alpha1 kind: IngressRoute metadata: name: littlelink-ingress spec: entryPoints: - websecure routes: - match: Host(`links.dev.durp.info`) && PathPrefix(`/`) kind: Rule middlewares: - name: traefik-real-ip - name: whitelist services: - name: littlelink port: 80 tls: secretName: littlelink-tls --- apiVersion: cert-manager.io/v1 kind: Certificate metadata: name: littlelink-tls spec: secretName: littlelink-tls issuerRef: name: letsencrypt-production kind: ClusterIssuer commonName: "links.dev.durp.info" dnsNames: - "links.dev.durp.info" --- kind: Service apiVersion: v1 metadata: name: links-external-dns annotations: external-dns.alpha.kubernetes.io/hostname: links.dev.durp.info spec: type: ExternalName externalName: durp.info --- apiVersion: traefik.containo.us/v1alpha1 kind: Middleware metadata: name: traefik-real-ip spec: plugin: traefik-real-ip: excludednets: - "1.1.1.1/24" --- apiVersion: traefik.containo.us/v1alpha1 kind: Middleware metadata: name: whitelist spec: ipWhiteList: sourceRange: - 192.168.10.1/32 - 10.0.0.0/8