InfraCanvas Docs

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 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, 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

On this page