--- apiVersion: cert-manager.io/v1 kind: Certificate metadata: name: $APP_DOMAIN spec: dnsNames: - $APP_DOMAIN - www.${APP_DOMAIN} secretName: $APP_DOMAIN issuerRef: name: $APP_CERT_ISSUER kind: ClusterIssuer --- # Redirect with domain replacement apiVersion: traefik.io/v1alpha1 kind: Middleware metadata: name: redirect-multi-to-sbv spec: redirectRegex: regex: ^https://(.*)(canardpassion|farmor|ronsard|procanar)(.*) replacement: https://${REDIRECT}${APP_DOMAIN} permanent: true --- apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: redirect-multi-to-sbv spec: entryPoints: - websecure routes: - match: (Host(`canardpassion.fr`) || Host(`www.canardpassion.fr`) || Host(`farmor.fr`) || Host(`www.farmor.fr`) || Host(`ronsard.fr`) || Host(`www.ronsard.fr`) || Host(`ronsard.com`) || Host(`www.ronsard.com`) || Host(`procanar.fr`) || Host(`www.procanar.fr`) && !PathPrefix(`/.well-known/acme-challenge/`) kind: Rule services: - name: api@internal kind: TraefikService middlewares: - name: redirect-multi-to-sbv tls: secretName: redirect-multi-to-sbv --- apiVersion: cert-manager.io/v1 kind: Certificate metadata: name: redirect-multi-to-sbv spec: dnsNames: - canardpassion.fr - www.canardpassion.fr - farmor.fr - www.farmor.fr - ronsard.fr - www.ronsard.fr - ronsard.com - www.ronsard.com - procanar.fr - www.procanar.fr secretName: redirect-multi-to-sbv issuerRef: name: $APP_CERT_ISSUER kind: ClusterIssuer