| # 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: 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" |
| - "--sendgrid-api-key=secret:symbolic-datum-552/sendgrid-sendonly-api-key" |
| - "--announce-mail-from=announce@golang.org" |
| - "--announce-mail-to=golang-nuts@googlegroups.com" |
| - "--announce-mail-bcc=golang-announce@googlegroups.com, golang-dev@googlegroups.com" |
| - "--schedule-mail-from=nobody@golang.org" |
| - "--schedule-mail-to=go-builders-alerts@google.com" |
| - "--twitter-api-secret=secret:symbolic-datum-552/twitter-api-secret" |
| - "--mastodon-api-secret=secret:symbolic-datum-552/mastodon-api-secret" |
| - "--builder-master-key=secret:symbolic-datum-552/builder-master-key" |
| - "--github-token=secret:symbolic-datum-552/maintner-github-token" |
| - "--scratch-files-base=gs://golang-release-staging/relui-scratch" |
| - "--signed-files-base=gs://golang-release-staging/relui-scratch/relworker-scratch" |
| - "--serving-files-base=gs://golang" |
| - "--edge-cache-url=https://dl.google.com/go" |
| - "--website-upload-url=https://go.dev/dl/upload" |
| - "--cloud-build-project=symbolic-datum-552" |
| - "--cloud-build-account=projects/symbolic-datum-552/serviceAccounts/relui-prod@symbolic-datum-552.iam.gserviceaccount.com" |
| - "--swarming-url=https://chrome-swarming.appspot.com" |
| - "--swarming-account=relui-tasks@symbolic-datum-552.iam.gserviceaccount.com" |
| - "--swarming-pool=luci.golang.security-try-workers" |
| - "--swarming-realm=golang:security-try-workers" |
| readinessProbe: |
| httpGet: |
| path: /healthz |
| port: 444 |
| scheme: HTTPS |
| 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: "8" |
| memory: "8Gi" |
| - 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: |
| cloud.google.com/backend-config: '{"default": "relui-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 |
| --- |
| apiVersion: cloud.google.com/v1 |
| kind: BackendConfig |
| metadata: |
| namespace: prod |
| name: relui-iap-backend |
| spec: |
| iap: |
| enabled: true |
| oauthclientCredentials: |
| secretName: iap-oauth |
| healthCheck: |
| timeoutSec: 10 |
| checkIntervalSec: 15 |
| type: HTTPS |
| requestPath: /healthz |