50 lines
1.4 KiB
Text
50 lines
1.4 KiB
Text
|
|
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,
|
||
|
|
},
|
||
|
|
}
|