Install the agent
The InfraCanvas agent's scopes, its systemd service, and exactly what it reads.
The agent is a single Go binary. It discovers your machine locally and streams a topology graph to InfraCanvas over one outbound WebSocket connection. It never listens on an inbound port.
Only here for Kubernetes, with no VM to install on? You don't need the agent at all — see Clusters for kubeconfig direct-connect and the relay-pod option.
Install
The dashboard gives you a ready-made command under + Add machine:
curl -fsSL https://cloud.infracanvas.app/api/v1/install | \
INFRACANVAS_API_KEY=ic_xxx INFRACANVAS_API_URL=https://cloud.infracanvas.app bashThis installs a systemd unit (ic-agent.service) that starts on boot and
reconnects automatically.
Scopes
The agent only collects what its scope allows. The installer probes the machine and enables what it finds:
| Scope | What it discovers |
|---|---|
host | OS, CPU/memory/disk, processes, systemd services |
docker | Containers, images, networks, volumes (via the Docker socket) |
kubernetes | Nodes, namespaces, workloads, pods, services, ingresses (via your kubeconfig) |
lxd | LXD / Incus containers and profiles |
Set it explicitly with the INFRACANVAS_SCOPE environment variable:
Environment="INFRACANVAS_SCOPE=host,docker,kubernetes"Run as the right user
Kubernetes and Docker access depend on the user the agent runs as. The installer
sets User= to your login user (resolved from SUDO_USER) and exports
KUBECONFIG so the agent sees the same cluster you do. If you run it as root,
root must have a kubeconfig and Docker access or those scopes go dark.
Managing the service
sudo systemctl status ic-agent # health
sudo systemctl restart ic-agent # restart
journalctl -u ic-agent -f # live logsUpdating
When a newer agent is available, the machine card in the dashboard shows Update available. Click it, and the agent verifies the download (size and binary signature) before swapping itself and restarting. Bad downloads are rejected and the running agent is kept.
Uninstall
sudo systemctl disable --now ic-agent
sudo rm -f /etc/systemd/system/ic-agent.service
sudo systemctl daemon-reload