196 lines
5.4 KiB
JSON
196 lines
5.4 KiB
JSON
{
|
|
"$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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|