47 lines
1.7 KiB
Text
47 lines
1.7 KiB
Text
|
|
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",
|
||
|
|
},
|
||
|
|
},
|
||
|
|
},
|
||
|
|
}
|