apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: nginx-read
  namespace: kube-system
  annotations:
    alb.ingress.kubernetes.io/certificate-arn: ${CERT_ARN}
    alb.ingress.kubernetes.io/wafv2-acl-arn: ${WAF_ACL_ARN}
    alb.ingress.kubernetes.io/load-balancer-attributes: access_logs.s3.enabled=true,access_logs.s3.bucket=${BUCKET_NAME},access_logs.s3.prefix=nginx-access-logs
    alb.ingress.kubernetes.io/scheme: internet-facing
    alb.ingress.kubernetes.io/target-type: ip
    alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS": 443}]'
    alb.ingress.kubernetes.io/success-codes: "200,404"
    kubernetes.io/ingress.class: alb
    external-dns.alpha.kubernetes.io/hostname: ${BACKEND_DOMAIN}
spec:
  rules:
    - host: ${BACKEND_DOMAIN}
      http:
        paths:
          - path: /prom/
            pathType: Prefix
            backend:
              service:
                name: nginx-read-ingress-nginx-controller
                port: 
                  number: 80
          - path: /loki/
            pathType: Prefix
            backend:
              service:
                name: nginx-read-ingress-nginx-controller
                port:
                  number: 80
          - path: /internal/
            pathType: Prefix
            backend:
              service:
                name: nginx-read-ingress-nginx-controller
                port:
                  number: 80
          - path: /external/
            pathType: Prefix
            backend:
              service:
                name: nginx-read-ingress-nginx-controller
                port:
                  number: 80
          - path: /historical/
            pathType: Prefix
            backend:
              service:
                name: nginx-read-ingress-nginx-controller
                port:
                  number: 80
---
apiVersion: v1
kind: Service
metadata:
  name: nginx-write
  namespace: kube-system
  labels:
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/component: controller
    app.kubernetes.io/instance: nginx-write
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp
    service.beta.kubernetes.io/aws-load-balancer-attributes: load_balancing.cross_zone.enabled=true
    service.beta.kubernetes.io/aws-load-balancer-type: external
    service.beta.kubernetes.io/aws-load-balancer-scheme: internal
    service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: ip
    service.beta.kubernetes.io/aws-load-balancer-name: nginx-write-${REGION}
    service.beta.kubernetes.io/aws-load-balancer-subnets: ${SUBNET_NAME}
spec:
  selector:
    app.kubernetes.io/component: controller
    app.kubernetes.io/instance: nginx-write
  type: LoadBalancer
  ports:
    - name: https
      port: 443
      targetPort: https
    - name: http
      port: 80
      targetPort: http
