Files
cozystack/packages/apps/foundationdb/values.yaml
Andrei KvapilandClaude 972a1b3973 feat(apps): declare storageClass x-cozystack-options in data app values.yaml
Add the storageclass dynamic-dropdown x-cozystack-options annotation to the
storageClass field of the data apps (openbao, clickhouse, mariadb, redis,
harbor, opensearch, rabbitmq, mongodb, postgres, nats, kafka, qdrant,
foundationdb, http-cache) at the values.yaml source, so the extension is
emitted by cozyvalues-gen instead of hand-edited into values.schema.json.
kafka carries two (Kafka and ZooKeeper structs); foundationdb is nested
under the Storage struct.

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Andrei Kvapil <andrei.kvapil@aenix.io>
2026-06-02 16:33:57 +03:00

170 lines
5.9 KiB
YAML

##
## @section Common parameters
##
## @typedef {struct} ClusterProcessCounts - Process counts for different roles.
## @field {int} stateless - Number of stateless processes (-1 for automatic).
## @field {int} storage - Number of storage processes (determines cluster size).
## @field {int} cluster_controller - Number of cluster controller processes.
## @typedef {struct} ClusterFaultDomain - Fault domain configuration.
## @field {string} key - Fault domain key.
## @field {string} valueFrom - Fault domain value source.
## @typedef {struct} Cluster - Cluster configuration.
## @field {ClusterProcessCounts} processCounts - Process counts for different roles.
## @field {string} version - Version of FoundationDB to use.
## @field {string} redundancyMode - Database redundancy mode (single, double, triple, three_datacenter, three_datacenter_fallback).
## @field {string} storageEngine - Storage engine (ssd-2, ssd-redwood-v1, ssd-rocksdb-v1, memory).
## @field {ClusterFaultDomain} faultDomain - Fault domain configuration.
## @param {Cluster} cluster - Cluster configuration.
cluster:
processCounts:
stateless: -1
storage: 3
cluster_controller: 1
version: "7.3.63"
redundancyMode: "double"
storageEngine: "ssd-2"
faultDomain:
key: "kubernetes.io/hostname"
valueFrom: "spec.nodeName"
## @typedef {struct} Storage - Storage configuration.
## @field {quantity} size - Size of persistent volumes for each instance.
## @field {string} storageClass - Storage class (if not set, uses cluster default).
## @immutable
## @x-cozystack-options {source: storageclass}
## @param {Storage} storage - Storage configuration.
storage:
size: "16Gi"
storageClass: ""
## @typedef {struct} Resources - Explicit CPU and memory configuration for each FoundationDB instance.
## @field {quantity} [cpu] - CPU available to each instance.
## @field {quantity} [memory] - Memory (RAM) available to each instance.
## @enum {string} ResourcesPreset - Default sizing preset.
## @value t1.nano
## @value t1.micro
## @value t1.small
## @value t1.medium
## @value t1.large
## @value t1.xlarge
## @value t1.2xlarge
## @value t1.4xlarge
## @value c1.nano
## @value c1.micro
## @value c1.small
## @value c1.medium
## @value c1.large
## @value c1.xlarge
## @value c1.2xlarge
## @value c1.4xlarge
## @value s1.nano
## @value s1.micro
## @value s1.small
## @value s1.medium
## @value s1.large
## @value s1.xlarge
## @value s1.2xlarge
## @value s1.4xlarge
## @value u1.nano
## @value u1.micro
## @value u1.small
## @value u1.medium
## @value u1.large
## @value u1.xlarge
## @value u1.2xlarge
## @value u1.4xlarge
## @value m1.nano
## @value m1.micro
## @value m1.small
## @value m1.medium
## @value m1.large
## @value m1.xlarge
## @value m1.2xlarge
## @value m1.4xlarge
## @value nano
## @value micro
## @value small
## @value medium
## @value large
## @value xlarge
## @value 2xlarge
## @param {Resources} [resources] - Explicit CPU and memory configuration for each FoundationDB instance. When omitted, the preset defined in `resourcesPreset` is applied.
resources: {}
## @param {ResourcesPreset} resourcesPreset="c1.small" - Default sizing preset used when `resources` is omitted.
resourcesPreset: "c1.small"
## @typedef {struct} BackupS3Credentials - DEPRECATED S3 credentials.
## @field {string} accessKeyId - DEPRECATED S3 access key ID.
## @field {string} secretAccessKey - DEPRECATED S3 secret access key.
## @typedef {struct} BackupS3 - DEPRECATED S3 configuration for backups.
## @field {string} bucket - DEPRECATED S3 bucket name.
## @field {string} endpoint - DEPRECATED S3 endpoint URL.
## @field {string} region - DEPRECATED S3 region.
## @field {BackupS3Credentials} credentials - DEPRECATED S3 credentials.
## @typedef {struct} Backup - DEPRECATED Backup configuration. The in-chart backup wiring is superseded by the Cozystack backups framework: create a BackupClass + a strategy.backups.cozystack.io/FoundationDB strategy, then drive backups via BackupJob/RestoreJob (see examples/backups/foundationdb/). Existing tenants with backup.enabled=true continue to render the legacy FoundationDBBackup CR unchanged.
## @field {bool} enabled - DEPRECATED Enable in-chart backups (superseded by BackupClass + FoundationDB strategy).
## @field {BackupS3} s3 - DEPRECATED S3 configuration for backups.
## @field {string} retentionPolicy - DEPRECATED Retention policy for backups.
## @param {Backup} backup - DEPRECATED Backup configuration (use the Cozystack backups framework: BackupClass + FoundationDB strategy).
backup:
enabled: false
s3:
bucket: ""
endpoint: ""
region: "us-east-1"
credentials:
accessKeyId: ""
secretAccessKey: ""
retentionPolicy: "7d"
## @typedef {struct} Monitoring - Monitoring configuration.
## @field {bool} enabled - Enable WorkloadMonitor integration.
## @param {Monitoring} monitoring - Monitoring configuration.
monitoring:
enabled: true
##
## @section FoundationDB configuration
##
## @param {[]string} customParameters - Custom parameters to pass to FoundationDB.
customParameters: []
## @enum {string} ImageType - Container image deployment type.
## @value unified
## @value split
## @param {ImageType} imageType="split" - Container image deployment type.
# Defaults to "split" to match the operator default that existing clusters
# already run: before the Flux v2.8 SSA fix this value was nested under
# automationOptions and silently dropped, so the operator never saw "unified".
# Setting it to "split" keeps upgrades non-disruptive; switch to "unified"
# deliberately to migrate (triggers an in-place image-type change).
imageType: "split"
## @typedef {struct} SecurityContext - Security context for containers.
## @field {int} runAsUser - User ID to run the container.
## @field {int} runAsGroup - Group ID to run the container.
## @param {SecurityContext} securityContext - Security context for containers.
securityContext:
runAsUser: 4059
runAsGroup: 4059
## @param {bool} automaticReplacements - Enable automatic pod replacements.
automaticReplacements: true