--- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: telecom-ingress namespace: telecom-platform annotations: kubernetes.io/ingress.class: "nginx" nginx.ingress.kubernetes.io/rewrite-target: / nginx.ingress.kubernetes.io/ssl-redirect: "true" cert-manager.io/cluster-issuer: "letsencrypt-prod" nginx.ingress.kubernetes.io/rate-limit: "100" nginx.ingress.kubernetes.io/rate-limit-window: "1m" spec: tls: - hosts: - api.telecom.example.com - dashboard.telecom.example.com secretName: telecom-tls rules: - host: api.telecom.example.com http: paths: - path: / pathType: Prefix backend: service: name: api-server-service port: number: 8000 - host: dashboard.telecom.example.com http: paths: - path: / pathType: Prefix backend: service: name: web-dashboard-service port: number: 3000 --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: monitoring-ingress namespace: telecom-monitoring annotations: kubernetes.io/ingress.class: "nginx" nginx.ingress.kubernetes.io/rewrite-target: / nginx.ingress.kubernetes.io/ssl-redirect: "true" cert-manager.io/cluster-issuer: "letsencrypt-prod" nginx.ingress.kubernetes.io/auth-type: "basic" nginx.ingress.kubernetes.io/auth-secret: "monitoring-auth" spec: tls: - hosts: - grafana.telecom.example.com - prometheus.telecom.example.com secretName: monitoring-tls rules: - host: grafana.telecom.example.com http: paths: - path: / pathType: Prefix backend: service: name: grafana port: number: 3000 - host: prometheus.telecom.example.com http: paths: - path: / pathType: Prefix backend: service: name: prometheus port: number: 9090 --- apiVersion: v1 kind: Secret metadata: name: monitoring-auth namespace: telecom-monitoring annotations: nginx.ingress.kubernetes.io/auth-type: "basic" type: Opaque data: auth: YWRtaW46JGEw1JHJlZzUkN2U4JDQ= # admin:$a1$rezE$7e8$D (admin/admin123)