provisioning-catalog/components/garage/nickel/defaults.ncl

47 lines
1.7 KiB
Text
Raw Permalink Normal View History

let _presets = (import "schemas/lib/concerns_presets.ncl").presets in
{
garage | default = {
mode | default = 'taskserv,
version | default = "v2.3.0",
namespace | default = "garage",
replicas | default = 1,
replication_factor | default = 1,
storage_class_name | default = "hcloud-volumes",
data_volume_size | default = "10Gi",
s3_api_port | default = 3900,
admin_api_port | default = 3903,
rpc_port | default = 3901,
s3_region | default = "garage",
secret_name | default = "garage-rpc-admin",
node_selector | default = {},
buckets | default = [],
operations | default = {
install = true,
reinstall = true,
delete = true,
health = true,
},
live_check | default = {
strategy = 'k8s_pods,
scope = 'cp_only,
namespace = "garage",
selector = "app=garage",
},
# ServiceConcerns default (ADR-008). Garage is a real datastore for
# in-cluster S3 consumers — unlike infra glue, its data matters and the
# backup question is open (not disabled): single-node, single Hetzner
# Cloud Volume, no off-Hetzner replica decided yet.
concerns | default = _presets.database & {
backup | force = {
kind = 'pending,
reason = "Garage holds live S3 data for in-cluster consumers (Loki, fleet-state) on a single-node, non-replicated Hetzner Cloud Volume — no off-Hetzner backup destination decided yet",
backlog_ref = "BACKUP-GARAGE-001",
},
},
},
}