incus-contrib/.claude/rules/operations-center.md

2.4 KiB

paths
notes/operations-center-guide.md
incusos/incusos-proxmox
incusos/examples/*oc*

Operations Center

Basics

  • CLI: operations-center (from GitHub releases or github.com/FuturFusion/operations-center).
  • Config: ~/.config/operations-center/ (copy certs from ~/.config/incus/).
  • Port: 8443. Browser needs PKCS#12 client cert (client.pfx). Web UI at /ui/.
  • v0.3.0 (active dev). Use --version to check.
  • No remote: suffix: requires operations-center remote switch NAME.

Provisioning workflow

  • No brownfield: nodes must boot from OC-provisioned ISO.
  • Token seeds: provisioning token seed add/get-image. No force_reboot for Proxmox.
    operations-center provisioning token seed add <UUID> proxmox-preseed \
        /tmp/preseed.yaml --description "No force_reboot for Proxmox"
    operations-center provisioning token seed get-image <UUID> proxmox-preseed \
        /tmp/IncusOS-oc.iso --type iso --architecture x86_64 --channel old-stable
    
  • Hybrid deploy (recommended): incusos-proxmox --iso /tmp/IncusOS-oc.iso --yes lab-oc-nodes.yaml
  • Self-registration: nodes register with OC in ~30s after first boot.

needs_update blocker (critical)

  • OC requires needs_update: false for provisioning cluster add.
  • Nodes from latest ISO are needs_update: true (never went through OC pipeline).
  • Fix: use --channel old-stable for ISO. OC pushes update, clears flag.

Cluster formation

echo '{}' > /tmp/oc-app-config.yaml
operations-center provisioning cluster add oc-cluster \
    https://<NODE_01_IP>:8443 \
    --server-names oc-node-01,oc-node-02,oc-node-03 \
    --server-type incus \
    --application-seed-config /tmp/oc-app-config.yaml
  • Use apply_defaults: false for OC nodes (recommended).
  • Empty {} app config if cert already in trust store from SEED_DATA.

Tested limitations

  • Inventory NOT real-time -- requires cluster resync
  • OC reboot breaks OC-managed Proxmox nodes (daemon crash from invalid state.txt)
    • Fix: destroy and redeploy. Proxmox stop/start is safe.
  • No cluster member state tracking (always shows ready)
  • Stale entries from out-of-band changes persist
  • Server removal blocked if part of OC cluster
  • needs_update is pipeline-based, not version-based
  • OVN LB has no health checks

ISO upload skip bug (fixed)

  • --iso now deletes existing ISO before re-upload (prevents stale reuse).