apiVersion: v1
kind: Service
metadata:
  name: oncall-workbench
  labels:
    app: oncall-workbench
spec:
  ports:
    - port: 3000
      name: oncall-workbench
  clusterIP: None
  selector:
    app: oncall-workbench
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: oncall-workbench
spec:
  selector:
    matchLabels:
      app: oncall-workbench
  serviceName: "oncall-workbench"
  replicas: 1
  template:
    metadata:
      labels:
        app: oncall-workbench
    spec:
      terminationGracePeriodSeconds: 10
      initContainers:
        - name: init-workbench
          image: gcr.io/pingcap-public/alpine:3.14
          command: ["sh", "-c", "touch /home/workspace/hello.md"]
          volumeMounts:
            - name: data-storage
              mountPath: /home/workspace
      containers:
        - name: oncall-workbench
          image: 385595570414.dkr.ecr.us-west-2.amazonaws.com/dbaas/chenyiwen/gitpods:latest
          ports:
            - containerPort: 3000
          args:
            - "--connection-token"
            - "<connection-token>"
          volumeMounts:
            - name: data-storage
              mountPath: /home/workspace
  volumeClaimTemplates:
    - metadata:
        name: data-storage
      spec:
        accessModes: ["ReadWriteOnce"]
        resources:
          requests:
            storage: 1Gi
