diff --git a/clusters/cl01tl/management/komodo/Chart.yaml b/clusters/cl01tl/management/komodo/Chart.yaml index e3e51cb70..2f558ffa6 100644 --- a/clusters/cl01tl/management/komodo/Chart.yaml +++ b/clusters/cl01tl/management/komodo/Chart.yaml @@ -25,5 +25,9 @@ dependencies: alias: postgres-17-cluster version: 6.9.1 repository: oci://harbor.alexlebens.net/helm-charts + - name: postgres-cluster + alias: postgresql-17-fdb-cluster + version: 6.9.1 + repository: oci://harbor.alexlebens.net/helm-charts icon: https://cdn.jsdelivr.net/gh/selfhst/icons/png/komodo.png appVersion: v1.17.5 diff --git a/clusters/cl01tl/management/komodo/values.yaml b/clusters/cl01tl/management/komodo/values.yaml index 81eb6dc23..8d812f596 100644 --- a/clusters/cl01tl/management/komodo/values.yaml +++ b/clusters/cl01tl/management/komodo/values.yaml @@ -107,6 +107,27 @@ komodo: requests: cpu: 10m memory: 128Mi + ferretdb-2: + type: deployment + replicas: 1 + strategy: Recreate + revisionHistoryLimit: 3 + containers: + main: + image: + repository: ghcr.io/ferretdb/ferretdb + tag: 2.5.0 + pullPolicy: IfNotPresent + env: + - name: FERRETDB_POSTGRESQL_URL + valueFrom: + secretKeyRef: + name: komodo-postgresql-17-fdb-cluster-app + key: uri + resources: + requests: + cpu: 10m + memory: 128Mi service: main: controller: main @@ -122,6 +143,13 @@ komodo: port: 27017 targetPort: 27017 protocol: HTTP + ferretdb-2: + controller: ferretdb-2 + ports: + http: + port: 27017 + targetPort: 27017 + protocol: HTTP persistence: cache: storageClass: ceph-block @@ -170,3 +198,65 @@ postgres-17-cluster: suspend: false schedule: "0 0 0 * * *" backupName: external +postgresql-17-fdb-cluster: + nameOverride: komodo-postgresql-17-fdb + mode: standalone + cluster: + image: + repository: ghcr.io/ferretdb/postgres-documentdb + tag: "17-0.106.0-ferretdb-2.5.0" + storage: + storageClass: local-path + walStorage: + storageClass: local-path + postgresUID: 999 + postgresGID: 999 + enableSuperuserAccess: true + monitoring: + enabled: true + prometheusRule: + enabled: true + postgresql: + parameters: + cron.database_name: 'ferretDB' + documentdb.enableCompact: "true" + documentdb.enableLetAndCollationForQueryMatch: "true" + documentdb.enableNowSystemVariable: "true" + documentdb.enableSortbyIdPushDownToPrimaryKey: "true" + documentdb.enableSchemaValidation: "true" + documentdb.enableBypassDocumentValidation: "true" + documentdb.enableUserCrud: "true" + documentdb.maxUserLimit: "100" + shared_buffers: 128MB + max_slot_wal_keep_size: 2000MB + hot_standby_feedback: "on" + pg_hba: + - host ferretDB postgres localhost trust + - host ferretDB ferret localhost trust + shared_preload_libraries: + - pg_cron + - pg_documentdb_core + - pg_documentdb + initdb: + database: ferretDB + owner: ferret + postInitApplicationSQL: + - create extension if not exists pg_cron; + - create extension if not exists documentdb cascade; + - grant documentdb_admin_role to ferret; + recovery: + method: objectStore + objectStore: + destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/komodo/komodo-postgresql-17-fdb-cluster + index: 1 + backup: + objectStore: + - name: external + destinationPath: s3://postgres-backups-ce540ddf106d186bbddca68a/cl01tl/komodo/komodo-postgresql-17-fdb-cluster + index: 1 + retentionPolicy: "3d" + scheduledBackups: + - name: daily-backup + suspend: true + schedule: "0 0 0 * * *" + backupName: external