blob: d391a3e3f96b2bc40b26d08f5fcb53ea85eb1eb5 [file] [log] [blame]
apiVersion: v1
kind: Service
metadata:
name: gold-{{.INSTANCE_ID}}-frontend
annotations:
beta.cloud.google.com/backend-config: '{"ports": {"8000":"skia-default-backendconfig"}}'
spec:
ports:
- name: http
port: 8000
- name: metrics
port: 20000
selector:
app: gold-{{.INSTANCE_ID}}-frontend
type: NodePort
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: gold-{{.INSTANCE_ID}}-frontend
spec:
replicas: 1
selector:
matchLabels:
app: gold-{{.INSTANCE_ID}}-frontend
strategy:
type: RollingUpdate
template:
metadata:
labels:
app: gold-{{.INSTANCE_ID}}-frontend
appgroup: gold-{{.INSTANCE_ID}}
date: "{{.NOW}}" # Forces a re-deploy even if just the config file changes.
annotations:
prometheus.io.scrape: "true"
prometheus.io.port: "20000"
spec:
automountServiceAccountToken: false
securityContext:
runAsUser: 2000 # aka skia
fsGroup: 2000 # aka skia
serviceAccountName: gold
containers:
- name: gold-{{.INSTANCE_ID}}-frontend
image: {{.FRONTEND_IMAGE}}
args:
- "--common_instance_config=/etc/gold-config/{{.INSTANCE_ID}}.json5"
- "--config=/etc/gold-config/{{.INSTANCE_ID}}-frontend.json5"
ports:
- containerPort: 8000
name: http
- containerPort: 20000
name: prom
volumeMounts:
- name: gold-{{.INSTANCE_ID}}-config-volume
mountPath: /etc/gold-config/
- name: {{.K8S_LOGIN_SECRETS}}
mountPath: /etc/skia.org/
{{if .INCLUDE_GITHUB_CREDS}}
- name: gold-github-token
mountPath: /var/secrets/github/
{{end}}
env:
- name: K8S_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
resources:
requests:
memory: "{{.K8S_MEMORY}}"
cpu: "{{.K8S_CPU}}"
ephemeral-storage: '32M'
readinessProbe:
httpGet:
path: /healthz
port: 8000
initialDelaySeconds: 30
periodSeconds: 10
failureThreshold: 6
volumes:
- name: gold-{{.INSTANCE_ID}}-config-volume
configMap:
defaultMode: 400
name: gold-{{.INSTANCE_ID}}-config
- name: {{.K8S_LOGIN_SECRETS}}
secret:
secretName: {{.K8S_LOGIN_SECRETS}}
{{if .INCLUDE_GITHUB_CREDS}}
- name: gold-github-token
secret:
secretName: gold-github-token
{{end}}