From 743dc97e157d44af9be3967a53214c485ac7f1ec Mon Sep 17 00:00:00 2001 From: j Date: Sat, 12 Jul 2025 13:51:48 +1000 Subject: [PATCH 1/3] Remove psql because it was a pain --- deployments/operators/kustomization.yaml | 1 - deployments/operators/postgres.yaml | 57 ------------------------ 2 files changed, 58 deletions(-) delete mode 100644 deployments/operators/postgres.yaml diff --git a/deployments/operators/kustomization.yaml b/deployments/operators/kustomization.yaml index 3fc92d1..9a0fb27 100644 --- a/deployments/operators/kustomization.yaml +++ b/deployments/operators/kustomization.yaml @@ -4,7 +4,6 @@ kind: Kustomization resources: - mariadb.yaml - - postgres.yaml - replicator.yaml - namespace.yaml - redis.yaml diff --git a/deployments/operators/postgres.yaml b/deployments/operators/postgres.yaml deleted file mode 100644 index e12a3c6..0000000 --- a/deployments/operators/postgres.yaml +++ /dev/null @@ -1,57 +0,0 @@ ---- -apiVersion: v1 -kind: Namespace -metadata: - name: postgres-operator-system ---- -apiVersion: source.toolkit.fluxcd.io/v1 -kind: HelmRepository -metadata: - name: crunchydata-postgres-operator - namespace: flux-system -spec: - interval: 1h - url: oci://registry.developers.crunchydata.com/crunchydata/pgo ---- -apiVersion: helm.toolkit.fluxcd.io/v2 -kind: HelmRelease -metadata: - name: postgres-operator-crds - namespace: postgres-operator-system -spec: - interval: 30m - chart: - spec: - chart: pgo-crds - version: 5.3.0 - sourceRef: - kind: HelmRepository - name: crunchydata-postgres-operator - namespace: flux-system - install: - createNamespace: true - upgrade: - disableWait: true - timeout: 5m ---- -apiVersion: helm.toolkit.fluxcd.io/v2 -kind: HelmRelease -metadata: - name: postgres-operator - namespace: postgres-operator-system -spec: - interval: 30m - chart: - spec: - chart: postgres-operator - version: 5.3.0 - sourceRef: - kind: HelmRepository - name: crunchydata-postgres-operator - namespace: flux-system - install: - createNamespace: true - dependsOn: - - name: postgres-operator-crds - namespace: postgres-operator-system - From 54d85078667409201b62b24eda3a8e98f132ec1b Mon Sep 17 00:00:00 2001 From: j Date: Sat, 12 Jul 2025 13:53:27 +1000 Subject: [PATCH 2/3] GPT rework cloned with db --- deployments/home-server/linkwarden.yaml | 117 ++++++++++++++++++------ 1 file changed, 89 insertions(+), 28 deletions(-) diff --git a/deployments/home-server/linkwarden.yaml b/deployments/home-server/linkwarden.yaml index 95492f2..d3aaa9d 100644 --- a/deployments/home-server/linkwarden.yaml +++ b/deployments/home-server/linkwarden.yaml @@ -1,6 +1,92 @@ --- apiVersion: v1 kind: PersistentVolume +metadata: + name: linkwarden-pgdata-pv +spec: + capacity: + storage: 5Gi + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + storageClassName: local-path + hostPath: + path: /dpool/services/linkwarden/database +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: linkwarden-pgdata-pvc + namespace: home-server +spec: + accessModes: + - ReadWriteOnce + storageClassName: local-path + resources: + requests: + storage: 5Gi + volumeName: linkwarden-pgdata-pv +--- +apiVersion: v1 +kind: Service +metadata: + name: linkwarden-postgres + namespace: home-server +spec: + ports: + - port: 5432 + selector: + app: linkwarden-postgres +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: linkwarden-postgres + namespace: home-server +spec: + replicas: 1 + selector: + matchLabels: + app: linkwarden-postgres + template: + metadata: + labels: + app: linkwarden-postgres + spec: + containers: + - name: postgres + image: postgres:15 + env: + - name: POSTGRES_DB + value: linkwarden + - name: POSTGRES_USER + value: linkwardenuser + - name: POSTGRES_PASSWORD + valueFrom: + secretKeyRef: + name: linkwarden-postgres-secret + key: postgres-password + ports: + - containerPort: 5432 + volumeMounts: + - name: pgdata + mountPath: /var/lib/postgresql/data + volumes: + - name: pgdata + persistentVolumeClaim: + claimName: linkwarden-pgdata-pvc +--- +apiVersion: v1 +kind: Secret +metadata: + name: linkwarden-postgres-secret + namespace: home-server +type: Opaque +stringData: + postgres-password: "your-strong-password-here" +--- +apiVersion: v1 +kind: PersistentVolume metadata: name: linkwarden-pv spec: @@ -11,7 +97,7 @@ spec: persistentVolumeReclaimPolicy: Retain storageClassName: local-path hostPath: - path: /dpool/services/linkwarden + path: /dpool/services/linkwarden/app --- apiVersion: v1 kind: PersistentVolumeClaim @@ -80,9 +166,9 @@ spec: - name: NODE_ENV value: "production" - name: TZ - value: "Australia/Sydney" + value: "Australia/Brisbane" - name: DATABASE_URL - value: "file:/data/data.db" + value: "postgresql://linkwardenuser:$(POSTGRES_PASSWORD)@linkwarden-postgres.home-server.svc.cluster.local:5432/linkwarden" volumeMounts: - name: linkwarden-data mountPath: /data @@ -91,29 +177,4 @@ spec: persistentVolumeClaim: claimName: linkwarden-pvc --- -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: linkwarden - namespace: home-server - annotations: - external-dns.alpha.kubernetes.io/hostname: links.hxme.net - nginx.ingress.kubernetes.io/server-snippet: | - add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always; -spec: - tls: - - hosts: - - links.hxme.net - secretName: wildcard-hxme-net - rules: - - host: links.hxme.net - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: linkwarden - port: - number: 3000 From b3d6a3830946ffacc2ffebc975f7734f903cb249 Mon Sep 17 00:00:00 2001 From: j Date: Sat, 12 Jul 2025 13:56:53 +1000 Subject: [PATCH 3/3] Reorder --- deployments/home-server/linkwarden.yaml | 103 +++++++++++------------- 1 file changed, 46 insertions(+), 57 deletions(-) diff --git a/deployments/home-server/linkwarden.yaml b/deployments/home-server/linkwarden.yaml index d3aaa9d..6b9ff25 100644 --- a/deployments/home-server/linkwarden.yaml +++ b/deployments/home-server/linkwarden.yaml @@ -28,15 +28,32 @@ spec: volumeName: linkwarden-pgdata-pv --- apiVersion: v1 -kind: Service +kind: PersistentVolume metadata: - name: linkwarden-postgres + name: linkwarden-pv +spec: + capacity: + storage: 5Gi + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + storageClassName: local-path + hostPath: + path: /dpool/services/linkwarden/app +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: linkwarden-pvc namespace: home-server spec: - ports: - - port: 5432 - selector: - app: linkwarden-postgres + accessModes: + - ReadWriteOnce + storageClassName: local-path + resources: + requests: + storage: 5Gi + volumeName: linkwarden-pv --- apiVersion: apps/v1 kind: Deployment @@ -76,56 +93,6 @@ spec: persistentVolumeClaim: claimName: linkwarden-pgdata-pvc --- -apiVersion: v1 -kind: Secret -metadata: - name: linkwarden-postgres-secret - namespace: home-server -type: Opaque -stringData: - postgres-password: "your-strong-password-here" ---- -apiVersion: v1 -kind: PersistentVolume -metadata: - name: linkwarden-pv -spec: - capacity: - storage: 5Gi - accessModes: - - ReadWriteOnce - persistentVolumeReclaimPolicy: Retain - storageClassName: local-path - hostPath: - path: /dpool/services/linkwarden/app ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: linkwarden-pvc - namespace: home-server -spec: - accessModes: - - ReadWriteOnce - storageClassName: local-path - resources: - requests: - storage: 5Gi - volumeName: linkwarden-pv ---- -apiVersion: v1 -kind: Service -metadata: - name: linkwarden - namespace: home-server -spec: - selector: - app: linkwarden - ports: - - port: 3000 - targetPort: 3000 - protocol: TCP ---- apiVersion: apps/v1 kind: Deployment metadata: @@ -177,4 +144,26 @@ spec: persistentVolumeClaim: claimName: linkwarden-pvc --- - +apiVersion: v1 +kind: Service +metadata: + name: linkwarden + namespace: home-server +spec: + selector: + app: linkwarden + ports: + - port: 3000 + targetPort: 3000 + protocol: TCP +--- +apiVersion: v1 +kind: Service +metadata: + name: linkwarden-postgres + namespace: home-server +spec: + ports: + - port: 5432 + selector: + app: linkwarden-postgres