Home / Infrastructure / Incus containers

Incus Containers

All runtime infrastructure lives in Incus containers on this host. The containers are split into five Incus projects. Prod, test and dev each have their own bridge and subnet, and OpenTofu owns their topology. The page Incus fleets explains the projects, the ownership, drift and backups. This page is the flat inventory.

IPs are never hard-coded in source or tests. They live in the env profiles (env/prod.env, env/test.env, env/dev.env) and are read at call time.

Inventory (measured 2026-10-23 01:20 EDT, incus list --all-projects)

Diagram infrastructure-incus-containers-2

Project Container State IPv4 Image Purpose
default orchgraph-coord-1 RUNNING 10.53.1.160 Archlinux orchgraph Raft coordinator (bolt 7691); the routing entry
default orchgraph-coord-2 RUNNING 10.53.1.109 Archlinux orchgraph Raft coordinator
default orchgraph-coord-3 RUNNING 10.53.1.198 Archlinux orchgraph Raft coordinator
default orchgraph-data-1 RUNNING 10.53.1.128 Archlinux orchgraph data instance (bolt 7687)
default orchgraph-data-2 RUNNING 10.53.1.123 Archlinux orchgraph data instance (bolt 7687)
default redis-queue RUNNING 10.53.1.10 Debian bookworm prod Redis
default prometheus-metrics RUNNING 10.53.1.40 Debian bookworm Prometheus; scrapes the gateway /metrics
orchestrata-test app RUNNING 10.53.2.13 Archlinux test product copy: kernel + gateway
orchestrata-test memgraph RUNNING 10.53.2.10 Archlinux test graph (TEST_MEMGRAPH_URI)
orchestrata-test memgraph-ha-main RUNNING 10.53.2.20 Archlinux test HA main
orchestrata-test memgraph-ha-replica RUNNING 10.53.2.21 Archlinux test HA replica
orchestrata-test redis RUNNING 10.53.2.11 Debian bookworm test Redis
orchestrata-test prolog RUNNING 10.53.2.12 Debian bookworm test Prolog node
orchestrata-test rh-coord-1 to rh-coord-3 RUNNING 10.53.2.30 to .32 Archlinux test Raft HA coordinators
orchestrata-test rh-data-1 RUNNING 10.53.2.33 Archlinux test Raft HA data instance
orchestrata-dev memgraph RUNNING 10.53.3.20 Archlinux dev graph
orchestrata-dev redis RUNNING 10.53.3.21 Debian bookworm dev Redis
orchestrata-dev prolog RUNNING 10.53.3.22 Debian bookworm dev Prolog node
orchestrata knowledge-wiki RUNNING 10.222.9.101 Debian bookworm Wiki.js, proxied on host port 3000
orchestrata claude-orchestrata RUNNING 10.222.9.18 Debian bookworm Claude agent workspace
orchestrata gitlab-server STOPPED - Ubuntu jammy local GitLab server, not in use
orchestrata codetools-bdd-596514, -601778, -736890, codetools-ensure-715440, codetools-preexisting-715440, ct-installer-test, ct-prov-e710843a STOPPED - Ubuntu noble or not recorded codetools test leftovers
pi-workers none - - - the pi-task worker project; empty

Containers in the 2026-08 inventory that no longer exist

Container Old IP What happened
claude-orchestrata 10.53.1.12 now in the orchestrata project at 10.222.9.18
janus-test, orchestrata-arch, docker-build 10.53.1.15, .20, .30 not in incus list on 2026-10-23; when they were removed is not recorded
prolog-node-1 to prolog-node-3 10.53.1.16 to .18 deleted by hand to cut CPU (Mohamed confirmed on 2026-10-22; ADR-0110 also backs it). OpenTofu still declares them, which is the "3 to add" drift
memgraph-test 10.53.1.167 not in incus list. The test graph is now memgraph in orchestrata-test (10.53.2.10). Prod has not been a test target since 2026-08-03 (infra/README.md)

Decommissioned 2026-07-10: the old Memgraph cluster containers — memgraph-1, memgraph-2, memgraph-3, the memgraph-ha HTTP controller, and standalone memgraph-db — were deleted after data was ported to the orchgraph cluster with a verified parity check. They no longer exist.

Decommissioned 2026-07-27: neo4j-db (10.53.1.11), neo4j-node-2 (10.53.1.13), neo4j-node-3 (10.53.1.14), and neo4j-node-4 (10.53.1.19) were deleted after the operational KG was migrated to the orchkg database on the orchgraph cluster (checksums + query parity + live smoke + a green authoritative suite verified first). See Neo4j Cluster (decommissioned) and the KG migration record. Those IPs no longer exist in incus list.

Commands (read-only)

incus list --all-projects                      # every container in every project
incus list --all-projects -c e,n,s,4,config:boot.autostart
incus project list
incus network list

The containers are created and changed through OpenTofu in infra/terraform and the provisioners in deploy/. The old launch scripts (redis-launch.sh, neo4j-launch.sh, memgraph-*-launch.sh) provisioned containers that no longer exist and do not apply. See Incus fleets.

Rule

If container IPs change, update only the env profiles. Source code and tests read the values from environment variables at call time. There are no hard-coded IP or port fallbacks, including localhost. Code fails fast when a required variable is unset.