## ## @section Common parameters ## ## @typedef {struct} Resources - Explicit CPU and memory configuration for each MariaDB replica. ## @field {quantity} [cpu] - CPU available to each replica. ## @field {quantity} [memory] - Memory (RAM) available to each replica. ## @enum {string} ResourcesPreset - Default sizing preset. ## @value nano ## @value micro ## @value small ## @value medium ## @value large ## @value xlarge ## @value 2xlarge ## @param {int} replicas - Number of MariaDB replicas. replicas: 2 ## @param {Resources} [resources] - Explicit CPU and memory configuration for each MariaDB replica. When omitted, the preset defined in `resourcesPreset` is applied. resources: {} ## @param {ResourcesPreset} resourcesPreset="nano" - Default sizing preset used when `resources` is omitted. resourcesPreset: "nano" ## @param {quantity} size - Persistent Volume Claim size available for application data. size: 10Gi ## @param {string} storageClass - StorageClass used to store the data. storageClass: "" ## @param {bool} external - Enable external access from outside the cluster. external: false ## ## @section Application-specific parameters ## ## @typedef {struct} User - User configuration. ## @field {string} password - Password for the user. ## @field {int} maxUserConnections - Maximum number of connections. ## @param {map[string]User} users - Users configuration map. users: {} ## Example: ## users: ## user1: ## maxUserConnections: 1000 ## password: hackme ## user2: ## maxUserConnections: 1000 ## password: hackme ## @typedef {struct} DatabaseRoles - Role assignments for a database. ## @field {[]string} [admin] - List of users with admin privileges. ## @field {[]string} [readonly] - List of users with read-only privileges. ## @typedef {struct} Database - Database configuration. ## @field {DatabaseRoles} [roles] - Roles assigned to users. ## @param {map[string]Database} databases - Databases configuration map. databases: {} ## Example: ## databases: ## myapp1: ## roles: ## admin: ## - user1 ## readonly: ## - user2 ## ## @section Backup parameters ## ## @typedef {struct} Backup - Backup configuration. ## @field {bool} enabled - Enable regular backups (default: false). ## @field {string} s3Region - AWS S3 region where backups are stored. ## @field {string} s3Bucket - S3 bucket used for storing backups. ## @field {string} schedule - Cron schedule for automated backups. ## @field {string} cleanupStrategy - Retention strategy for cleaning up old backups. ## @field {string} s3AccessKey - Access key for S3 authentication. ## @field {string} s3SecretKey - Secret key for S3 authentication. ## @field {string} resticPassword - Password for Restic backup encryption. ## @param {Backup} backup - Backup configuration. backup: enabled: false s3Region: us-east-1 s3Bucket: "s3.example.org/mysql-backups" schedule: "0 2 * * *" cleanupStrategy: "--keep-last=3 --keep-daily=3 --keep-within-weekly=1m" s3AccessKey: "" s3SecretKey: "" resticPassword: ""