# 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: gopherbot-deployment
spec:
  replicas: 1 # more than 1 might cause duplicate GitHub comments
  selector:
    matchLabels:
      app: gopherbot
  template:
    metadata:
      labels:
        app: gopherbot
      annotations:
        container.seccomp.security.alpha.kubernetes.io/gopherbot: docker/default
        container.apparmor.security.beta.kubernetes.io/gopherbot: runtime/default
    spec:
      serviceAccountName: gopherbot
      volumes:
      - name: cache-volume
        emptyDir: {}
      containers:
      - name: gopherbot
        image: gcr.io/symbolic-datum-552/gopherbot:latest
        imagePullPolicy: Always
        env:
        - name: XDG_CACHE_HOME
          value: "/cache"
        command: ["/gopherbot", "--daemon"]
        volumeMounts:
        - mountPath: /cache
          name: cache-volume
        resources:
          requests:
            cpu: "1"
            memory: "12Gi"
            ephemeral-storage: "16Gi"
          limits:
            memory: "16Gi"
            ephemeral-storage: "32Gi"
