diff --git a/01-postgresql.yaml b/01-postgresql.yaml new file mode 100644 index 0000000..77312c5 --- /dev/null +++ b/01-postgresql.yaml @@ -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 \ No newline at end of file diff --git a/configuration.yaml b/configuration.yaml index e9a73cc..4f7276f 100644 --- a/configuration.yaml +++ b/configuration.yaml @@ -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 diff --git a/gitea-deployment.yaml b/gitea-deployment.yaml index 77cb197..bcd76f8 100644 --- a/gitea-deployment.yaml +++ b/gitea-deployment.yaml @@ -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: diff --git a/postgres-deployment.yaml b/postgres-deployment.yaml deleted file mode 100644 index ea146ca..0000000 --- a/postgres-deployment.yaml +++ /dev/null @@ -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 diff --git a/postgres-pv.yaml b/postgres-pv.yaml deleted file mode 100644 index e4fc009..0000000 --- a/postgres-pv.yaml +++ /dev/null @@ -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" diff --git a/postgres-pvc.yaml b/postgres-pvc.yaml deleted file mode 100644 index 20e7756..0000000 --- a/postgres-pvc.yaml +++ /dev/null @@ -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 \ No newline at end of file diff --git a/postgres-service.yaml b/postgres-service.yaml deleted file mode 100644 index 1627bcf..0000000 --- a/postgres-service.yaml +++ /dev/null @@ -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 diff --git a/secrets.yaml b/secrets.yaml deleted file mode 100644 index 915344e..0000000 --- a/secrets.yaml +++ /dev/null @@ -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= \ No newline at end of file