# Copyright 2022 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: apps/v1
kind: Deployment
metadata:
  namespace: prod
  name: relui-deployment
spec:
  selector:
    matchLabels:
      app: relui
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: relui
    spec:
      serviceAccountName: relui
      containers:
        - name: relui
          image: gcr.io/symbolic-datum-552/relui:latest
          imagePullPolicy: Always
          command:
            - "/usr/bin/tini"
            - "--"
            - "./relui"
            - "--listen-https-selfsigned=:444"
            - "--base-url=https://build.golang.org/releases"
            # Define the site header and external service configuration.
            - "--site-title=Go Releases"
            - "--site-header-css=Site-header--production"
            - "--gerrit-api-secret=secret:symbolic-datum-552/gobot-password"
            - "--twitter-api-secret=secret:symbolic-datum-552/twitter-api-secret"
            - "--builder-master-key=secret:symbolic-datum-552/builder-master-key"
            - "--scratch-files-base=gs://golang-release-staging/relui-scratch"
            - "--staging-files-base=gs://golang-release-staging"
            - "--serving-files-base=gs://golang"
            - "--edge-cache-url=https://dl.google.com/go"
            - "--website-upload-url=https://go.dev/dl/upload"
          ports:
            - containerPort: 444
          env:
            - name: PGUSER
              value: relui-prod@symbolic-datum-552.iam
            - name: PGHOST
              value: 127.0.0.1
            - name: PGDATABASE
              value: relui
          resources:
            requests:
              cpu: "2"
              memory: "4Gi"
        - name: cloud-sql-proxy
          # It is recommended to use the latest version of the Cloud SQL proxy
          image: gcr.io/cloudsql-docker/gce-proxy:latest
          command:
            - "/cloud_sql_proxy"
            # If connecting from a VPC-native GKE cluster, you can use the
            # following flag to have the proxy connect over private IP
            - "-ip_address_types=PRIVATE"
            - "-enable_iam_login"
            # Replace DB_PORT with the port the proxy should listen on
            # Defaults: MySQL: 3306, Postgres: 5432, SQLServer: 1433
            - "-instances=symbolic-datum-552:us-central1:relui-prod-01=tcp:5432"
          securityContext:
            # The default Cloud SQL proxy image runs as the
            # "nonroot" user and group (uid: 65532) by default.
            runAsNonRoot: true
          # Resource configuration depends on an application's requirements. You
          # should adjust the following values based on what your application
          # needs. For details, see https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
          resources:
            requests:
              # The proxy's memory use scales linearly with the number of active
              # connections. Fewer open connections will use less memory. Adjust
              # this value based on your application's requirements.
              memory: "2Gi"
              # The proxy's CPU use scales linearly with the amount of IO between
              # the database and the application. Adjust this value based on your
              # application's requirements.
              cpu: "1"
---
apiVersion: v1
kind: ServiceAccount
metadata:
  namespace: prod
  name: relui
  annotations:
    iam.gke.io/gcp-service-account: relui-prod@symbolic-datum-552.iam.gserviceaccount.com
---
apiVersion: v1
kind: Service
metadata:
  namespace: prod
  name: relui-internal
  annotations:
    beta.cloud.google.com/backend-config: '{"default": "build-ingress-iap-backend"}'
    cloud.google.com/neg: '{"ingress": false}'
    cloud.google.com/app-protocols: '{"https":"HTTP2"}'
spec:
  ports:
    - port: 444
      targetPort: 444
      name: https
  selector:
    app: relui
  type: NodePort
