# Copyright 2022 The Go Authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  namespace: prod
  name: build-ingress
  annotations:
    kubernetes.io/ingress.global-static-ip-name: ingress
    networking.gke.io/managed-certificates: dev-test-cert,build-cert,dev-cert,gerritbot-cert,influx-cert,maintner-cert,perf-cert
    kubernetes.io/ingress.class: "gce"
    networking.gke.io/v1beta1.FrontendConfig: build-ingress-frontend
spec:
  rules:
  - host: dev-test.golang.org
    http:
      paths:
      - pathType: ImplementationSpecific
        path: /*
        backend:
          service:
            name: devapp-internal
            port:
              number: 444
  - host: build.golang.org
    http:
      paths:
      - pathType: ImplementationSpecific
        path: /releases
        backend:
          service:
            name: relui-internal
            port:
              number: 444
      - pathType: ImplementationSpecific
        path: /releases/*
        backend:
          service:
            name: relui-internal
            port:
              number: 444
      - pathType: ImplementationSpecific
        path: /protos.ReleaseService/*
        backend:
          service:
            name: relui-internal
            port:
              number: 444
      - pathType: ImplementationSpecific
        path: /protos.GomoteService/*
        backend:
          service:
            name: coordinator-internal-iap
            port:
              number: 444
      - pathType: ImplementationSpecific
        path: /protos.Coordinator/*
        backend:
          service:
            name: coordinator-internal-iap
            port:
              number: 444
      - pathType: ImplementationSpecific
        path: /*
        backend:
          service:
            name: coordinator-internal
            port:
              number: 444
  - host: dev.golang.org
    http:
      paths:
      - pathType: ImplementationSpecific
        path: /*
        backend:
          service:
            name: devapp-internal
            port:
              number: 444
  - host: gerritbot.golang.org
    http:
      paths:
      - pathType: ImplementationSpecific
        path: /*
        backend:
          service:
            name: gerritbot-internal
            port:
              number: 444
  - host: influx.golang.org
    http:
      paths:
      - pathType: ImplementationSpecific
        path: /*
        backend:
          service:
            name: influx-internal
            port:
              number: 443
  - host: maintner.golang.org
    http:
      paths:
      - pathType: ImplementationSpecific
        path: /*
        backend:
          service:
            name: maintnerd-internal
            port:
              number: 444
  - host: perf.golang.org
    http:
      paths:
      - pathType: ImplementationSpecific
        path: /*
        backend:
          service:
            name: perf-internal
            port:
              number: 443
---
apiVersion: networking.gke.io/v1beta1
kind: FrontendConfig
metadata:
  namespace: prod
  name: build-ingress-frontend
spec:
  redirectToHttps:
    enabled: true
    responseCodeName: FOUND
---
apiVersion: networking.gke.io/v1
kind: ManagedCertificate
metadata:
  namespace: prod
  name: dev-test-cert
spec:
  domains:
    - dev-test.golang.org
---
apiVersion: networking.gke.io/v1
kind: ManagedCertificate
metadata:
  namespace: prod
  name: build-cert
spec:
  domains:
    - build.golang.org
---
apiVersion: networking.gke.io/v1
kind: ManagedCertificate
metadata:
  namespace: prod
  name: dev-cert
spec:
  domains:
    - dev.golang.org
---
apiVersion: networking.gke.io/v1
kind: ManagedCertificate
metadata:
  namespace: prod
  name: gerritbot-cert
spec:
  domains:
    - gerritbot.golang.org
---
apiVersion: networking.gke.io/v1
kind: ManagedCertificate
metadata:
  namespace: prod
  name: influx-cert
spec:
  domains:
    - influx.golang.org
---
apiVersion: networking.gke.io/v1
kind: ManagedCertificate
metadata:
  namespace: prod
  name: maintner-cert
spec:
  domains:
    - maintner.golang.org
---
apiVersion: networking.gke.io/v1
kind: ManagedCertificate
metadata:
  namespace: prod
  name: perf-cert
spec:
  domains:
    - perf.golang.org
