InfraCanvas Docs

Install the agent

The InfraCanvas agent — scopes, the 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.

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 bash

This 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:

ScopeWhat it discovers
hostOS, CPU/memory/disk, processes, systemd services
dockerContainers, images, networks, volumes (via the Docker socket)
kubernetesNodes, namespaces, workloads, pods, services, ingresses (via your kubeconfig)
lxdLXD / 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 logs

Updating

When a newer agent is available, the machine card in the dashboard shows Update available. Click it — the agent verifies the download (size + 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

On this page