let _presets = (import "schemas/lib/concerns_presets.ncl").presets in { fleet_agent | default = { name | default = "fleet_agent", version | default = "0.1.0", mode | default = 'systemd_unit, live_check | default = { strategy = 'on_demand }, # Per-instance — caller MUST override. Install script rejects "UNSET". node_id | default = "UNSET", target_server | default = "UNSET", image_ref | default = "daoreg.librecloud.online/libre-forge/fleet-agent:0.1.0", # Direct SSH IP — when set, the deploy recipe connects to this IP instead of # the hostname, bypassing SSH config aliases (needed for OrbStack local VMs). ssh_ip | default = "", # adr-010: agent dials daemon outbound over WebSocket; no NATS broker. daemon_url | default = "ws://fleet-daemon.fleet-system.svc:19012", declared | default = { cpu = 4, ram_gb = 8, disk_gb = 80, }, heartbeat_seconds | default = 15, system_user | default = "fleet-agent", requires | default = { credentials = [], capabilities = ["vm-lifecycle", "ssh-access", "oci-pull"], }, provides | default = { service = "fleet_agent", interface = "fleet-agent", }, operations | default = { install = true, update = true, health = true, }, concerns | default = _presets.infrastructure_glue, }, }