{ "title": "Chart Values", "type": "object", "properties": { "automaticReplacements": { "description": "Enable automatic pod replacements.", "type": "boolean", "default": true }, "backup": { "description": "Backup configuration.", "type": "object", "default": {}, "required": [ "enabled", "retentionPolicy", "s3" ], "properties": { "enabled": { "description": "Enable backups.", "type": "boolean", "default": false }, "retentionPolicy": { "description": "Retention policy for backups.", "type": "string", "default": "7d" }, "s3": { "description": "S3 configuration for backups.", "type": "object", "default": {}, "required": [ "bucket", "credentials", "endpoint", "region" ], "properties": { "bucket": { "description": "S3 bucket name.", "type": "string", "default": "" }, "credentials": { "description": "S3 credentials.", "type": "object", "default": {}, "required": [ "accessKeyId", "secretAccessKey" ], "properties": { "accessKeyId": { "description": "S3 access key ID.", "type": "string", "default": "" }, "secretAccessKey": { "description": "S3 secret access key.", "type": "string", "default": "" } } }, "endpoint": { "description": "S3 endpoint URL.", "type": "string", "default": "" }, "region": { "description": "S3 region.", "type": "string", "default": "us-east-1" } } } } }, "cluster": { "description": "Cluster configuration.", "type": "object", "default": {}, "required": [ "faultDomain", "processCounts", "redundancyMode", "storageEngine", "version" ], "properties": { "faultDomain": { "description": "Fault domain configuration.", "type": "object", "default": {}, "required": [ "key", "valueFrom" ], "properties": { "key": { "description": "Fault domain key.", "type": "string", "default": "kubernetes.io/hostname" }, "valueFrom": { "description": "Fault domain value source.", "type": "string", "default": "spec.nodeName" } } }, "processCounts": { "description": "Process counts for different roles.", "type": "object", "default": {}, "required": [ "cluster_controller", "stateless", "storage" ], "properties": { "cluster_controller": { "description": "Number of cluster controller processes.", "type": "integer", "default": 1 }, "stateless": { "description": "Number of stateless processes (-1 for automatic).", "type": "integer", "default": -1 }, "storage": { "description": "Number of storage processes (determines cluster size).", "type": "integer", "default": 3 } } }, "redundancyMode": { "description": "Database redundancy mode (single, double, triple, three_datacenter, three_datacenter_fallback).", "type": "string", "default": "double" }, "storageEngine": { "description": "Storage engine (ssd-2, ssd-redwood-v1, ssd-rocksdb-v1, memory).", "type": "string", "default": "ssd-2" }, "version": { "description": "Version of FoundationDB to use.", "type": "string", "default": "7.3.63" } } }, "customParameters": { "description": "Custom parameters to pass to FoundationDB.", "type": "array", "default": [], "items": { "type": "string" } }, "imageType": { "description": "Container image deployment type.", "type": "string", "default": "unified", "enum": [ "unified", "split" ] }, "monitoring": { "description": "Monitoring configuration.", "type": "object", "default": {}, "required": [ "enabled" ], "properties": { "enabled": { "description": "Enable WorkloadMonitor integration.", "type": "boolean", "default": true } } }, "resources": { "description": "Explicit CPU and memory configuration for each FoundationDB instance. When omitted, the preset defined in `resourcesPreset` is applied.", "type": "object", "default": {}, "properties": { "cpu": { "description": "CPU available to each instance.", "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 instance.", "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.", "type": "string", "default": "medium", "enum": [ "small", "medium", "large", "xlarge", "2xlarge" ] }, "securityContext": { "description": "Security context for containers.", "type": "object", "default": {}, "required": [ "runAsGroup", "runAsUser" ], "properties": { "runAsGroup": { "description": "Group ID to run the container.", "type": "integer", "default": 4059 }, "runAsUser": { "description": "User ID to run the container.", "type": "integer", "default": 4059 } } }, "storage": { "description": "Storage configuration.", "type": "object", "default": {}, "required": [ "size", "storageClass" ], "properties": { "size": { "description": "Size of persistent volumes for each instance.", "default": "16Gi", "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": "Storage class (if not set, uses cluster default).", "type": "string", "default": "" } } } } }