blob: 1cb261cfcd32967e469240ea2aec8d49f8be08a5 [file] [log] [blame]
kind: Service
apiVersion: v1
metadata:
name: gold-{{.INSTANCE_ID}}-traceservice
labels:
app: gold-{{.INSTANCE_ID}}
spec:
ports:
- name: grpc
port: 9090
- name: http-ready
port: 9091
- name: prometheus
port: 20000
selector:
app: gold-{{.INSTANCE_ID}}-traceserver
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: gold-{{.INSTANCE_ID}}-traceserver
spec:
selector:
matchLabels:
app: gold-{{.INSTANCE_ID}}-traceserver # Label selector that determines which Pods belong to the StatefulSet
# Must match spec: template: metadata: labels
serviceName: "gold-{{.INSTANCE_ID}}-traceserver"
replicas: 1
updateStrategy:
type: RollingUpdate
template:
metadata:
labels:
app: gold-{{.INSTANCE_ID}}-traceserver # Pod template's label selector
appgroup: gold-{{.INSTANCE_ID}}
annotations:
prometheus.io.scrape: "true"
prometheus.io.port: "20000"
spec:
automountServiceAccountToken: false
securityContext:
runAsUser: 2000 # aka skia
fsGroup: 2000 # aka skia
containers:
- name: gold-{{.INSTANCE_ID}}-traceserver
image: {{.TRACESERVER_IMAGE}}
args:
- "--db_file=/mnt/traceserver/traces.db"
- "--http_port=:9091"
- "--logtostderr"
- "--no_cloud_log"
- "--port=:9090"
- "--prom_port=:20000"
ports:
- containerPort: 9090
- containerPort: 9091
- containerPort: 20000
volumeMounts:
- name: gold-{{.INSTANCE_ID}}-traceserver-storage-volume
mountPath: /mnt/traceserver
resources:
limits:
memory: "{{.TRACESERVER_MEMORY}}"
cpu: "{{.TRACESERVER_CPU}}"
readinessProbe:
httpGet:
path: /healthz
port: 9091
initialDelaySeconds: 30
periodSeconds: 10
volumeClaimTemplates:
- metadata:
name: gold-{{.INSTANCE_ID}}-traceserver-storage-volume
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 20Gi