Provision Paperless PostgreSQL with CloudNativePG
This commit is contained in:
1 parent
5b88f87f8b
commit
7695e4e38a
7 files changed
+86
No files matched your search
@@ -0,0 +1,40 @@
|
||||
apiVersion: postgresql.cnpg.io/v1
|
||||
kind: Cluster
|
||||
metadata:
|
||||
name: paperless-cnpg
|
||||
namespace: paperless-ngx
|
||||
spec:
|
||||
instances: 1
|
||||
enableSuperuserAccess: true
|
||||
affinity:
|
||||
nodeAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: kubernetes.io/hostname
|
||||
operator: In
|
||||
values:
|
||||
- odroid-h3-00
|
||||
- odroid-h3-01
|
||||
- odroid-h3-02
|
||||
- odroid-h3-03
|
||||
- odroid-h3-04
|
||||
preferredDuringSchedulingIgnoredDuringExecution:
|
||||
- weight: 100
|
||||
preference:
|
||||
matchExpressions:
|
||||
- key: kubernetes.io/hostname
|
||||
operator: In
|
||||
values:
|
||||
- odroid-h3-00
|
||||
- odroid-h3-03
|
||||
imageName: ghcr.io/cloudnative-pg/postgresql:17.11-standard-trixie
|
||||
bootstrap:
|
||||
initdb:
|
||||
database: paperless
|
||||
owner: paperless
|
||||
secret:
|
||||
name: paperless-cnpg-bootstrap
|
||||
storage:
|
||||
size: 8Gi
|
||||
storageClass: rook-ceph-block-ec
|
||||
@@ -0,0 +1,4 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- cluster.yaml
|
||||
@@ -0,0 +1,4 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- service.yaml
|
||||
@@ -0,0 +1,15 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: postgresql
|
||||
namespace: paperless-ngx
|
||||
spec:
|
||||
ports:
|
||||
- name: postgresql
|
||||
port: 5432
|
||||
protocol: TCP
|
||||
targetPort: 5432
|
||||
selector:
|
||||
cnpg.io/cluster: paperless-cnpg
|
||||
cnpg.io/instanceRole: primary
|
||||
type: ClusterIP
|
||||
@@ -96,6 +96,7 @@ resources:
|
||||
- plex.yaml
|
||||
- jellyfin.yaml
|
||||
- paperless-project.yaml
|
||||
- paperless-cnpg.yaml
|
||||
- paperless-storage.yaml
|
||||
- pdf-editor.yaml
|
||||
- scanner.yaml
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: paperless-cnpg
|
||||
namespace: argocd
|
||||
annotations:
|
||||
argocd.argoproj.io/sync-wave: "0"
|
||||
spec:
|
||||
project: paperless
|
||||
source:
|
||||
repoURL: https://code.brunner.ninja/feedc0de/homelab-gitops.git
|
||||
targetRevision: main
|
||||
path: apps/paperless-postgresql/cluster
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: paperless-ngx
|
||||
syncPolicy:
|
||||
automated:
|
||||
enabled: true
|
||||
prune: true
|
||||
selfHeal: true
|
||||
@@ -20,4 +20,5 @@ spec:
|
||||
- {group: "", kind: ServiceAccount}
|
||||
- {group: apps, kind: Deployment}
|
||||
- {group: apps, kind: StatefulSet}
|
||||
- {group: postgresql.cnpg.io, kind: Cluster}
|
||||
- {group: networking.k8s.io, kind: Ingress}
|
||||
Reference in new issue
Block a user