apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: urlshortener-ingress namespace: urlshortener annotations: nginx.ingress.kubernetes.io/rewrite-target: / nginx.ingress.kubernetes.io/ssl-redirect: "true" cert-manager.io/cluster-issuer: "letsencrypt-prod" spec: ingressClassName: nginx tls: - hosts: - api.urlshortener.example.com - short.urlshortener.example.com secretName: urlshortener-tls rules: # API routes for shortener and auth services - host: api.urlshortener.example.com http: paths: - path: /api/shortener pathType: Prefix backend: service: name: shortener-service port: number: 8083 - path: /api/auth pathType: Prefix backend: service: name: auth-service port: number: 8080 - path: /api/analytics pathType: Prefix backend: service: name: analytics-service port: number: 8080 # Redirect service - handles short URL redirects - host: short.urlshortener.example.com http: paths: - path: / pathType: Prefix backend: service: name: redirect-service port: number: 8080