## ## @section Common parameters ## ## @typedef {struct} Resources - Explicit CPU and memory configuration for each RabbitMQ 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 RabbitMQ replicas. replicas: 3 ## @param {Resources} [resources] - Explicit CPU and memory configuration for each RabbitMQ 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. ## @param {map[string]User} users - Users configuration map. users: {} ## Example: ## users: ## user1: ## password: strongpassword ## user2: ## password: hackme ## user3: ## password: testtest ## @typedef {struct} Roles - Virtual host roles. ## @field {[]string} [admin] - List of admin users. ## @field {[]string} [readonly] - List of readonly users. ## @typedef {struct} Vhost - Virtual host configuration. ## @field {Roles} roles - Virtual host roles list. ## @param {map[string]Vhost} vhosts - Virtual hosts configuration map. vhosts: {} ## Example: ## vhosts: ## myapp: ## roles: ## admin: ## - user1 ## - user2 ## readonly: ## - user3 ## test: ## roles: ## admin: ## - user3