apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app.kubernetes.io/instance: peertube
    app.kubernetes.io/managed-by: Helm
    app.kubernetes.io/name: peertube
    app.kubernetes.io/version: 1.16.0
    helm.sh/chart: peertube-0.1.0
  name: peertube
  namespace: peertube
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app.kubernetes.io/instance: peertube
      app.kubernetes.io/name: peertube
  strategy:
    type: Recreate
  template:
    metadata:
      creationTimestamp: null
      labels:
        app.kubernetes.io/instance: peertube
        app.kubernetes.io/name: peertube
    spec:
      containers:
      - command:
        - /bin/sh
        - -c
        - install -g peertube -o peertube -m 666 /app/helm-config/production.yaml
          /config/production.yaml && mkdir -p /var/www/peertube/storage/tmp && chown
          -R peertube:peertube /var/www/peertube/storage && mkdir -p /root/.config
          && chown -R peertube:peertube /root/.config && /usr/local/bin/docker-entrypoint.sh
          echo 0 && gosu peertube npm start
        image: chocobozzz/peertube:v5.1.0-bullseye
        imagePullPolicy: IfNotPresent
        livenessProbe:
          failureThreshold: 3
          httpGet:
            path: /
            port: http
            scheme: HTTP
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 1
        name: peertube
        ports:
        - containerPort: 9000
          name: http
          protocol: TCP
        resources:
          requests:
            cpu: 25m
            memory: 351198544
        readinessProbe:
          failureThreshold: 3
          httpGet:
            path: /
            port: http
            scheme: HTTP
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 1
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /var/www/peertube
          name: peertube
        - mountPath: /app/helm-config
          name: config
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      schedulerName: default-scheduler
      terminationGracePeriodSeconds: 30
      volumes:
      - name: peertube
        persistentVolumeClaim:
          claimName: peertube-data
      - configMap:
          defaultMode: 420
          items:
          - key: production.yaml
            path: production.yaml
          name: peertube-production-config
        name: config