provisioning-catalog/components/mariadb/nickel/contracts.ncl

54 lines
1.7 KiB
Text
Raw Permalink Normal View History

let _concerns_lib = import "schemas/lib/concerns.ncl" in
{
MariaDB = {
name | String,
version | String,
port | Number | default = 3306,
data_dir | String | default = "/var/lib/mysql",
databases | Array String | default = [],
mode | [| 'taskserv, 'cluster, 'container |] | default = 'cluster,
# Optional MariaDB server config injected as /etc/mysql/conf.d/extra.cnf.
# Empty string = no ConfigMap, no mount. Non-empty creates a ConfigMap and
# mounts it into the container, triggering a StatefulSet rolling restart on update.
extra_cnf | String | default = "",
namespace | String | optional,
image | String | optional,
replicas | Number | optional,
storage_class | String | optional,
requires | {
storage | { size | String, persistent | Bool } | optional,
ports | Array {
port | Number,
protocol | String | default = "TCP",
exposure | [| 'public, 'private, 'internal |] | default = 'internal,
} | default = [],
credentials | Array String | default = [],
} | default = {},
provides | {
service | String | optional,
port | Number | optional,
databases | Array String | default = [],
} | default = {},
operations | {
install | Bool | default = true,
update | Bool | default = false,
delete | Bool | default = false,
backup | Bool | default = false,
restore | Bool | default = false,
health | Bool | default = false,
restart | Bool | default = false,
} | default = {},
# ServiceConcerns umbrella (ADR-008). Database — backup decided at workspace level.
concerns | _concerns_lib.ServiceConcerns | optional,
..
},
}