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

55 lines
1.5 KiB
Text
Raw Normal View History

let _concerns_lib = import "schemas/lib/concerns.ncl" in
{
FleetBase = {
name | String,
version | String,
mode | [| 'base_setup |],
# Path to the fleet age private key on the operator machine.
# The provisioning binary reads this file and injects its content
# as FLEET_AGE_KEY in the env template at deploy time.
fleet_key_path | String,
# Where to write the age key on the target server.
fleet_key_install_path | String | default = "/etc/fleet/age.key",
# OCI registries to configure auth for (written to /etc/containers/auth.json).
registries | Array {
name | String,
endpoint | String,
creds_ref | String,
} | default = [],
# Optional sccache S3 backend — written to /etc/sccache/sccache.env.
sccache | {
endpoint | String,
bucket | String,
region | String,
creds_ref | String,
disk_path | String | default = "/var/cache/sccache",
} | optional,
requires | {
credentials | Array String | default = [],
capabilities | Array String | default = [],
} | default = {},
provides | {
service | String | optional,
interface | String | optional,
} | default = {},
operations | {
install | Bool | default = true,
update | Bool | default = true,
delete | Bool | default = false,
health | Bool | default = true,
} | default = {},
concerns | _concerns_lib.ServiceConcerns | optional,
..
},
}