provisioning-catalog/components/fleet_agent/metadata.ncl

19 lines
1.1 KiB
Text
Raw Permalink Normal View History

{
name = "fleet_agent",
version = "0.1.0",
description = "Node-side autonomic executor for libre-forge fleets. Subscribes to fleet.libre-forge.nodes.<host>.command.>, emits NodeEvent::Heartbeat/Bound/Released/DrainComplete on fleet.libre-forge.nodes.<host>.events.>. Binary is `oras pull`'d from daoreg.../libre-forge/fleet-agent:<semver> and run under systemd. Requires fleet_base (provides /etc/fleet/age.key surface used to decrypt the NATS nkey seed at deploy time).",
tags = ["fleet", "agent", "nats", "control-plane", "autonomic"],
modes = ["systemd_unit"],
dependencies = [
{ id = "fleet_base", kind = 'Required, reason = "provides /etc/fleet/age.key; agent.creds is sops-decrypted before deploy" },
],
provides = [{ id = "fleet-agent", version = "0.1", interface = "fleet-agent" }],
requires = [
{ capability = "vm-lifecycle", kind = 'Required },
{ capability = "ssh-access", kind = 'Required },
{ capability = "oci-pull", kind = 'Required },
],
conflicts_with = [],
best_practices = ["agent-runs-as-system-user", "creds-mode-0400", "no-buildkitd-interference"],
}