apiVersion: apps/v1 kind: Deployment metadata: name: heimdall # < name of the deployment namespace: heimdall # < namespace where place the deployment and pods labels: app: heimdall # < label for tagging and reference spec: replicas: 1 # < number of pods to deploy selector: matchLabels: app: heimdall strategy: rollingUpdate: maxSurge: 0 # < The number of pods that can be created above the desired amount of pods during an update maxUnavailable: 1 # < The number of pods that can be unavailable during the update process type: RollingUpdate # < New pods are added gradually, and old pods are terminated gradually template: metadata: labels: app: heimdall spec: volumes: - name: heimdall-storage persistentVolumeClaim: claimName: heimdall-storage containers: - image: ghcr.io/linuxserver/heimdall:2.5.3 # < the name of the docker image we will use name: heimdall # < name of container imagePullPolicy: Always # < always use the latest image when creating container/pod env: # < the environment variables required (see container documentation) - name: PGID value: "1000" - name: PUID value: "1000" - name: TZ value: "America/Los_Angeles" ports: # < the ports required (see container documentation) - containerPort: 80 name: http-80 protocol: TCP volumeMounts: # < the volume mount in the container. Look at the relation volumelabel->pvc->pv - mountPath: /config # < mount location in the container name: heimdall-storage # < volumelabel configured earlier in the yaml file