Go to file
Maarten 896731a7ed Validate OC guide: teardown + rebuild with fresh output
Full teardown and rebuild of the OC-managed cluster lab to validate
the guide works end-to-end with zero manual interventions. Key fixes:

- Add missing `provisioning channel add old-stable` step (was causing
  "Not found" error on `assign-channels`)
- Fix command paths: `examples/` → `incusos/examples/` (repo-relative)
- Fix version numbers: Incus 6.12 → 6.21, OC output format
- Fix update list table format (Severity not Sev, add Published At note)
- Fix cluster list: remove premature ovn-chassis roles at Section 4.4
- Add WARNING line to `admin os show` output
- Add TLS cert acceptance note for `remote add`
- Add cleanup --yes flag to teardown commands
- Add test container cleanup command in Section 5.7
- Note variable-per-deployment values (incusbr0 subnet, token UUIDs)
- Add `provisioning channel add` to Quick Reference and CLI table
- Add channel creation to troubleshooting table
- Use consistent <token-UUID> placeholder throughout

All 16 verification checklist items PASS. Lab left running.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 12:23:49 +01:00
incusos OC-managed cluster with OVN and HA nginx: full validated deployment 2026-02-23 11:08:28 +01:00
notes Validate OC guide: teardown + rebuild with fresh output 2026-02-23 12:23:49 +01:00
.gitignore Add observe-deploy diagnostics, boot failure analysis, and deploy reliability fixes 2026-02-21 13:42:51 +01:00
CLAUDE.md OC-managed cluster with OVN and HA nginx: full validated deployment 2026-02-23 11:08:28 +01:00
README.md Add macOS support, multi-lab lifecycle, extended testing, and migration docs 2026-02-20 23:41:06 +01:00

README.md

incu-contrib

Peripheral tools, snippets, and scripts for working with Incus, IncusOS, and the broader ecosystem.

Primarily aimed at home lab environments but useful in production as well.

Contents

incusos/

Scripts for building IncusOS installation media and seed configurations:

  • incusos-iso -- Build customized IncusOS ISO/IMG images using the official flasher-tool. Supports both architectures (x86_64, aarch64), multiple applications (Incus, Operations Center), automatic client certificate injection, and batch generation.

  • incusos-seed -- Generate IncusOS seed archives (tar or FAT image) for installation customization. Covers all seed file types: install, applications, Incus preseed, Operations Center, network, and update configuration.

  • incusos-proxmox -- Declarative IncusOS deployment on Proxmox VE. Define VMs in YAML, and the script handles seed generation, ISO upload, VM creation with correct settings (UEFI, TPM 2.0, VirtIO-SCSI), and automated installation.

See incusos/README.md for full documentation.

notes/

Research notes and reference material:

Quick Start

# Install the flasher-tool (requires Go 1.22+)
go install github.com/lxc/incus-os/incus-osd/cmd/flasher-tool@latest

# Build a default IncusOS ISO with your client cert injected
./incusos/incusos-iso

# Build for a specific architecture and application
./incusos/incusos-iso --arch aarch64 --app operations-center --defaults

# Generate all common ISO variants at once
./incusos/incusos-iso --batch

# Generate a standalone seed archive
./incusos/incusos-seed --app incus --defaults --output my-seed.tar

# Generate a SEED_DATA FAT image for external boot media
./incusos/incusos-seed --format fat --app incus --defaults --output seed.img

Requirements

  • Go 1.22+ -- for installing the flasher-tool
  • curl -- for downloading images from the CDN
  • tar, gzip -- for seed archive creation and image decompression
  • Incus client (recommended) -- for automatic client certificate detection. Works with any version; certificates are read directly from disk. See version compatibility notes for install instructions per platform (macOS, Debian/Ubuntu, Arch).
  • mtools (optional) -- for creating FAT seed images

License

MIT