123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195 |
- {
- "$schema": "http://json-schema.org/schema#",
- "type": "object",
- "properties": {
- "architecture": {
- "type": "string",
- "title": "MySQL architecture",
- "form": true,
- "description": "Allowed values: `standalone` or `replication`",
- "enum": ["standalone", "replication"]
- },
- "auth": {
- "type": "object",
- "title": "Authentication configuration",
- "form": true,
- "required": ["username", "password"],
- "if": {
- "properties": {
- "createDatabase": { "enum": [ true ] }
- }
- },
- "then": {
- "properties": {
- "database": {
- "pattern": "[a-zA-Z0-9]{1,64}"
- }
- }
- },
- "properties": {
- "rootPassword": {
- "type": "string",
- "title": "MySQL root password",
- "description": "Defaults to a random 10-character alphanumeric string if not set"
- },
- "database": {
- "type": "string",
- "title": "MySQL custom database name",
- "maxLength": 64
- },
- "username": {
- "type": "string",
- "title": "MySQL custom username"
- },
- "password": {
- "type": "string",
- "title": "MySQL custom password"
- },
- "replicationUser": {
- "type": "string",
- "title": "MySQL replication username"
- },
- "replicationPassword": {
- "type": "string",
- "title": "MySQL replication password"
- },
- "createDatabase": {
- "type": "boolean",
- "title": "MySQL create custom database"
- }
- }
- },
- "primary": {
- "type": "object",
- "title": "Primary database configuration",
- "form": true,
- "properties": {
- "podSecurityContext": {
- "type": "object",
- "title": "MySQL primary Pod security context",
- "properties": {
- "enabled": {
- "type": "boolean",
- "default": false
- },
- "fsGroup": {
- "type": "integer",
- "default": 1001,
- "hidden": {
- "value": false,
- "path": "primary/podSecurityContext/enabled"
- }
- }
- }
- },
- "containerSecurityContext": {
- "type": "object",
- "title": "MySQL primary container security context",
- "properties": {
- "enabled": {
- "type": "boolean",
- "default": false
- },
- "runAsUser": {
- "type": "integer",
- "default": 1001,
- "hidden": {
- "value": false,
- "path": "primary/containerSecurityContext/enabled"
- }
- }
- }
- },
- "persistence": {
- "type": "object",
- "title": "Enable persistence using Persistent Volume Claims",
- "properties": {
- "enabled": {
- "type": "boolean",
- "default": true,
- "title": "If true, use a Persistent Volume Claim, If false, use emptyDir"
- },
- "size": {
- "type": "string",
- "title": "Persistent Volume Size",
- "form": true,
- "render": "slider",
- "sliderMin": 1,
- "sliderUnit": "Gi",
- "hidden": {
- "value": false,
- "path": "primary/persistence/enabled"
- }
- }
- }
- }
- }
- },
- "secondary": {
- "type": "object",
- "title": "Secondary database configuration",
- "form": true,
- "properties": {
- "podSecurityContext": {
- "type": "object",
- "title": "MySQL secondary Pod security context",
- "properties": {
- "enabled": {
- "type": "boolean",
- "default": false
- },
- "fsGroup": {
- "type": "integer",
- "default": 1001,
- "hidden": {
- "value": false,
- "path": "secondary/podSecurityContext/enabled"
- }
- }
- }
- },
- "containerSecurityContext": {
- "type": "object",
- "title": "MySQL secondary container security context",
- "properties": {
- "enabled": {
- "type": "boolean",
- "default": false
- },
- "runAsUser": {
- "type": "integer",
- "default": 1001,
- "hidden": {
- "value": false,
- "path": "secondary/containerSecurityContext/enabled"
- }
- }
- }
- },
- "persistence": {
- "type": "object",
- "title": "Enable persistence using Persistent Volume Claims",
- "properties": {
- "enabled": {
- "type": "boolean",
- "default": true,
- "title": "If true, use a Persistent Volume Claim, If false, use emptyDir"
- },
- "size": {
- "type": "string",
- "title": "Persistent Volume Size",
- "form": true,
- "render": "slider",
- "sliderMin": 1,
- "sliderUnit": "Gi",
- "hidden": {
- "value": false,
- "path": "secondary/persistence/enabled"
- }
- }
- }
- }
- }
- }
- }
- }
|