apiVersion: apps/v1
kind: Deployment
metadata:
  namespace: metrics
  labels:
    app.kubernetes.io/name: pyroscope
  name: pyroscope
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: pyroscope
  strategy:
    type: Recreate
  template:
    metadata:
      namespace: metrics
      labels:
        app.kubernetes.io/name: pyroscope
    spec:
      securityContext:
        runAsUser: 1000
        runAsGroup: 1000
        fsGroup: 1000
      containers:
        - image: grafana/pyroscope:1.7.1
          name: pyroscope
          ports:
            - containerPort: 4040
              protocol: TCP
          resources:
            limits:
              cpu: "500m"
              memory: "256Mi"
            requests:
              cpu: "250m"
          volumeMounts:
            - mountPath: /etc/pyroscope.yml
              name: pyroscope-config
              subPath: pyroscope.yml
            - mountPath: /data
              name: pyroscope-data
      restartPolicy: Always
      volumes:
        - configMap:
            items:
              - key: config.yaml
                path: pyroscope.yml
            name: pyroscope-config
          name: pyroscope-config
        - name: pyroscope-data
          persistentVolumeClaim:
            claimName: pyroscope-data