Define first Ansible profile — Incus with ZFS block storage #17

Open
opened 2026-06-19 23:22:31 +01:00 by bits · 0 comments
Owner

Create the first netizenOS Ansible profile that installs and configures Incus with ZFS as the storage backend. This profile targets a single-node Incus setup and leaves the system ready to launch VMs.

Design Decisions Already Made

  • Incus targets both VMs (primary) and containers (when needed)
  • Storage abstraction modelled on cloud concepts: block storage (this profile) and object storage (future)
  • Single-node only for now — clustering deferred
  • ZFS pool on a dedicated block device (/dev/vdb) as default, with fallback to single-disk via systemd-repart
  • Ansible profile variables:
  incus_storage_pool_name: default
  incus_storage_backend: zfs
  incus_storage_device: /dev/vdb

Acceptance Criteria

  • Ansible role installs Incus from the Zabbly repository
  • ZFS pool created on the specified block device
  • Incus initialized with ZFS storage pool
  • Default network bridge configured
  • System left in a state ready to launch VMs
  • Molecule tests added for the profile
Create the first netizenOS Ansible profile that installs and configures Incus with ZFS as the storage backend. This profile targets a single-node Incus setup and leaves the system ready to launch VMs. ### Design Decisions Already Made - Incus targets both VMs (primary) and containers (when needed) - Storage abstraction modelled on cloud concepts: **block storage** (this profile) and **object storage** (future) - Single-node only for now — clustering deferred - ZFS pool on a dedicated block device (`/dev/vdb`) as default, with fallback to single-disk via `systemd-repart` - Ansible profile variables: ```yaml incus_storage_pool_name: default incus_storage_backend: zfs incus_storage_device: /dev/vdb ``` ### Acceptance Criteria - [ ] Ansible role installs Incus from the Zabbly repository - [ ] ZFS pool created on the specified block device - [ ] Incus initialized with ZFS storage pool - [ ] Default network bridge configured - [ ] System left in a state ready to launch VMs - [ ] Molecule tests added for the profile
Sign in to join this conversation.
No labels
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
neticenter/neticenter#17
No description provided.