Adding storage to DB

Since listmonk relies on Postgres as it's storage backend to store email campaigns data, subscriber details, etc we need to attach a Persistent Volume to the pod running the DB. Many cloud providers have plugins baked in the storage provisioner (mentioned via StorageClass) but since we are doing a local deployment, we will make use of hostpath provisioner to create storage backed by the node on which the pod is running:

# vim base/add-db-volume.yml apiVersion: v1 kind: PersistentVolume metadata: name: postgres-storage labels: app.kubernetes.io/component: storage spec: storageClassName: microk8s-hostpath capacity: storage: 1Gi accessModes: - ReadWriteOnce hostPath: path: "/mnt/data"

And like always, let's add this to the inventory:

# vim base/kustomization.yml resources: - add-db-volume.yml