{ "title": "Chart Values", "type": "object", "properties": { "backup": { "description": "Backup configuration", "type": "object", "default": {}, "properties": { "destinationPath": { "description": "Path to store the backup (i.e. s3://bucket/path/to/folder)", "type": "string", "default": "s3://bucket/path/to/folder/" }, "enabled": { "description": "Enable regular backups", "type": "boolean", "default": false }, "endpointURL": { "description": "S3 Endpoint used to upload data to the cloud", "type": "string", "default": "http://minio-gateway-service:9000" }, "retentionPolicy": { "description": "Retention policy", "type": "string", "default": "30d" }, "s3AccessKey": { "description": "Access key for S3, used for authentication", "type": "string", "default": "\u003cyour-access-key\u003e" }, "s3SecretKey": { "description": "Secret key for S3, used for authentication", "type": "string", "default": "\u003cyour-secret-key\u003e" }, "schedule": { "description": "Cron schedule for automated backups", "type": "string", "default": "0 2 * * * *" } } }, "bootstrap": { "description": "Bootstrap configuration", "type": "object", "default": {}, "required": [ "enabled", "oldName" ], "properties": { "enabled": { "description": "Restore database cluster from a backup", "type": "boolean", "default": false }, "oldName": { "description": "Name of database cluster before deleting", "type": "string" }, "recoveryTime": { "description": "Timestamp (PITR) up to which recovery will proceed, expressed in RFC 3339 format. If left empty, will restore latest", "type": "string" } } }, "databases": { "description": "Databases configuration", "type": "object", "default": {}, "additionalProperties": { "type": "object", "properties": { "extensions": { "description": "Extensions enabled for the database", "type": "array", "items": { "type": "string" } }, "roles": { "description": "Roles for the database", "type": "object", "properties": { "admin": { "description": "List of users with admin privileges", "type": "array", "items": { "type": "string" } }, "readonly": { "description": "List of users with read-only privileges", "type": "array", "items": { "type": "string" } } } } } } }, "external": { "description": "Enable external access from outside the cluster", "type": "boolean", "default": false }, "postgresql": { "description": "PostgreSQL server configuration", "type": "object", "default": {}, "required": [ "parameters" ], "properties": { "parameters": { "description": "PostgreSQL server parameters", "type": "object", "default": {}, "required": [ "max_connections" ], "properties": { "max_connections": { "description": "Determines the maximum number of concurrent connections to the database server. The default is typically 100 connections", "type": "integer", "default": 100 } } } } }, "quorum": { "description": "Quorum configuration for synchronous replication", "type": "object", "default": {}, "required": [ "maxSyncReplicas", "minSyncReplicas" ], "properties": { "maxSyncReplicas": { "description": "Maximum number of synchronous replicas that can acknowledge a transaction (must be lower than the number of instances).", "type": "integer", "default": 0 }, "minSyncReplicas": { "description": "Minimum number of synchronous replicas that must acknowledge a transaction before it is considered committed.", "type": "integer", "default": 0 } } }, "replicas": { "description": "Number of Postgres replicas", "type": "integer", "default": 2 }, "resources": { "description": "Explicit CPU and memory configuration for each PostgreSQL replica. When left empty, the preset defined in `resourcesPreset` is applied.", "type": "object", "default": {}, "properties": { "cpu": { "description": "CPU available to each replica", "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true }, "memory": { "description": "Memory (RAM) available to each replica", "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true } } }, "resourcesPreset": { "description": "Default sizing preset used when `resources` is omitted. Allowed values: `nano`, `micro`, `small`, `medium`, `large`, `xlarge`, `2xlarge`.", "type": "string", "default": "micro", "enum": [ "nano", "micro", "small", "medium", "large", "xlarge", "2xlarge" ] }, "size": { "description": "Persistent Volume Claim size, available for application data", "default": "10Gi", "pattern": "^(\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\\+|-)?(([0-9]+(\\.[0-9]*)?)|(\\.[0-9]+))))?$", "anyOf": [ { "type": "integer" }, { "type": "string" } ], "x-kubernetes-int-or-string": true }, "storageClass": { "description": "StorageClass used to store the data", "type": "string" }, "users": { "description": "Users configuration", "type": "object", "default": {}, "additionalProperties": { "type": "object", "properties": { "password": { "description": "Password for the user", "type": "string" }, "replication": { "description": "Whether the user has replication privileges", "type": "boolean" } } } } } }