Switch to cnpg for postgres

This commit is contained in:
Jim Nicholson 2024-04-08 17:15:06 -07:00
parent 1371397480
commit 71ff99e764
8 changed files with 45 additions and 140 deletions

28
01-postgresql.yaml Normal file
View File

@ -0,0 +1,28 @@
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
name: gitea-db
namespace: gitea
spec:
instances: 3
bootstrap:
initdb:
database: gitea-db
import:
type: microservice
databases:
- gitea
source:
externalCluster: cluster-pg12
storage:
storageClass: nfs-client
size: 5Gi
externalClusters:
- name: cluster-pg12
connectionParameters:
host: postgres.gitea.svc.cluster.local
user: postgres
dbname: gitea
password:
name: gitea-secrets
key: pg_password

View File

@ -1,14 +1,3 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: postgres-config
namespace: gitea
labels:
app: postgres
data:
PGDATA: "/var/lib/postgresql/data"
POSTGRES_DB: "gitea"
POSTGRES_USER: "postgres"
---
apiVersion: v1
kind: ConfigMap
@ -23,7 +12,7 @@ data:
USER_GID: "1000"
ROOT_URL: "https://git.thejimnicholson.com"
HTTP_PORT: "3000"
DB_TYPE: postgres
DB_HOST: postgres.gitea.svc.cluster.local:5432
DB_NAME: gitea
GITEA__database__DB_TYPE: postgres
GITEA__database__HOST: gitea-db-rw:5432
GITEA__database__NAME: gitea-db

View File

@ -24,26 +24,34 @@ spec:
containers:
- image: gitea/gitea:1.21.10
name: gitea
# command: ['sh','-c','echo "Container active" ; sleep 3600000']
envFrom:
- configMapRef:
name: gitea-env
env:
- name: DB_USER
- name: GITEA__database__USER
valueFrom:
secretKeyRef:
name: gitea-secrets
key: pg_username
- name: DB_PASSWD
name: gitea-db-app
key: user
- name: GITEA__database__PASSWD
valueFrom:
secretKeyRef:
name: gitea-secrets
key: pg_password
name: gitea-db-app
key: password
ports:
- containerPort: 3000
name: gitea
volumeMounts:
- name: gitea-storage-nfs
mountPath: /data
resources:
limits:
cpu: "2"
memory: "4Gi"
requests:
cpu: "1"
memory: "512Mi"
volumes:
- name: gitea-storage-nfs
persistentVolumeClaim:

View File

@ -1,58 +0,0 @@
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: postgres
namespace: gitea
labels:
app: postgres
spec:
selector:
matchLabels:
app: postgres # has to match .spec.template.metadata.labels
tier: postgres
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
template:
metadata:
labels:
app: postgres
tier: postgres
spec:
containers:
- image: postgres:12
# command: ["/bin/sh", "-ec", "while :; do echo '.'; sleep 5 ; done"]
# securityContext:
# runAsUser: 1000
name: postgres
# command: ["chown", "-R", "1000:1000", "/var/lib/postgresql/data"]
envFrom:
- configMapRef:
name: postgres-config
env:
- name: PGDATA
value: /var/lib/postgresql/data/pgdata
- name: POSTGRES_USER
valueFrom:
secretKeyRef:
name: gitea-secrets
key: pg_username
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: gitea-secrets
key: pg_password
ports:
- containerPort: 5432
name: postgres
volumeMounts:
- name: postgres-persistent-storage
mountPath: /var/lib/postgresql/data
subPath: pgdata
volumes:
- name: postgres-persistent-storage
persistentVolumeClaim:
claimName: postgres-pvc

View File

@ -1,20 +0,0 @@
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: postgres-pv
namespace: gitea
labels:
app: gitea
spec:
storageClassName: "local-path"
capacity:
storage: 5Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
mountOptions:
- nolock
nfs:
server: 10.0.96.2
path: "/volume1/storage/git-database"

View File

@ -1,16 +0,0 @@
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: postgres-pvc
namespace: gitea
labels:
app: gitea
spec:
storageClassName: "local-path"
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
volumeName: postgres-pv

View File

@ -1,16 +0,0 @@
---
apiVersion: v1
kind: Service
metadata:
name: postgres
namespace: gitea
labels:
app: postgres
spec:
ports:
- name: postgres
port: 5432
targetPort: 5432
selector:
app: postgres
clusterIP: None

View File

@ -1,10 +0,0 @@
apiVersion: v1
kind: Secret
type: Opaque
metadata:
name: gitea-secrets
namespace: gitea
annotations:
secret-generator.v1.mittwald.de/autogenerate: pg_password
data:
pg_username: cG9zdGdyZXM=