Skip to content
Development docs, for main @ c56b482 - what's coming, not yet released. This page for v2026.10.05-5, the latest release →

User guide

Everything to run Janus: getting an image, booting and provisioning nodes, the Controller that manages them, HAProxy, the network and the optional extensions, and keeping a fleet running. A Janus node has no shell and no SSH: everything here goes through the node’s mTLS API - from the Controller’s web UI, from janusctl, or from Terraform.

  • Quick start - a node in a virtual machine on your workstation, configured through its API, serving HTTP: ten minutes.
  • Images and extensions - the images each release publishes, and how to build one with the optional extensions you need (BGP, VRRP, firewall, Consul, Let’s Encrypt…).
  • Provisioning a node - four ways to turn a blank machine into a node that registers itself with a Controller. Deploying many, on a hypervisor or bare metal: Janus in a private cloud.
  • The Controller - the web UI for a fleet: installing it, accounts and roles, adding nodes, backups, updates.
  • Hypervisors - nodes the Controller creates itself, on libvirt/KVM or Proxmox VE.
  • Updating nodes - A/B updates with an automatic revert, from the Controller or janusctl; going back.
  • Metrics - the Prometheus exporter every node serves.
  • Packet capture - tcpdump-style captures streamed over the API.
  • Troubleshooting - where each problem shows, without a shell: registration, access, HAProxy, the network, VRRP and BGP, updates.
  • Security policy - supported versions and how to report a vulnerability.