apiVersion: v1 kind: Service metadata: name: invidious spec: ports: - name: app port: 3000 protocol: TCP targetPort: 3000 clusterIP: None type: ClusterIP --- apiVersion: v1 kind: Endpoints metadata: name: invidious subsets: - addresses: - ip: 192.168.20.104 ports: - name: app port: 3000 protocol: TCP --- apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: invidious-ingress spec: entryPoints: - websecure routes: - match: Host(`invidious.durp.info`) && PathPrefix(`/`) middlewares: - name: authentik-proxy-provider namespace: traefik kind: Rule services: - name: invidious port: 3000 tls: secretName: invidious-tls --- apiVersion: cert-manager.io/v1 kind: Certificate metadata: name: invidious-tls spec: secretName: invidious-tls issuerRef: name: letsencrypt-production kind: ClusterIssuer commonName: "invidious.durp.info" dnsNames: - "invidious.durp.info" --- kind: Service apiVersion: v1 metadata: name: invidious-external-dns annotations: external-dns.alpha.kubernetes.io/hostname: invidious.durp.info spec: type: ExternalName externalName: durp.info