apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: grafana namespace: observability labels: app.kubernetes.io/name: grafana app.kubernetes.io/part-of: observability annotations: nginx.ingress.kubernetes.io/proxy-body-size: "20m" nginx.ingress.kubernetes.io/proxy-read-timeout: "600" nginx.ingress.kubernetes.io/proxy-send-timeout: "600" nginx.ingress.kubernetes.io/proxy-http-version: "1.1" # Required for TraceQL streaming and Loki live tail. nginx.ingress.kubernetes.io/proxy-buffering: "off" spec: ingressClassName: nginx tls: - hosts: - grafana.sttlab.local secretName: observability-tls rules: - host: grafana.sttlab.local http: paths: - path: / pathType: Prefix backend: service: name: grafana port: number: 3000 --- # Exposed for diagnostics (targets, TSDB status, expression browser). apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: prometheus namespace: observability labels: app.kubernetes.io/name: prometheus app.kubernetes.io/part-of: observability annotations: nginx.ingress.kubernetes.io/proxy-read-timeout: "600" spec: ingressClassName: nginx tls: - hosts: - prometheus.sttlab.local secretName: observability-tls rules: - host: prometheus.sttlab.local http: paths: - path: / pathType: Prefix backend: service: name: prometheus port: number: 9090 --- # Alloy UI: state of the log collection pipeline components. apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: alloy namespace: observability labels: app.kubernetes.io/name: alloy app.kubernetes.io/part-of: observability spec: ingressClassName: nginx tls: - hosts: - alloy.sttlab.local secretName: observability-tls rules: - host: alloy.sttlab.local http: paths: - path: / pathType: Prefix backend: service: name: alloy port: number: 12345