Arch Cloud Init
@evrardjp/arch-cloud-initv2026.07.17.1
01README
Convenience Arch Linux VM image preparer for Swamp: downloads the Arch cloud image, creates a qcow2 overlay, and writes a NoCloud seed ISO.
02Release Notes
2026.07.17.1
Fixed: Artifact creation is atomic and concurrency-safe; invalid existing qcow2 and ISO files are rejected.
Fixed: Cloud-init values are YAML-safe and networking matches predictable libvirt interface names.
Added: Configurable pacman mirrors and network interface matching.
Changed: Preparation now validates directories, SSH keys, qcow2 backing metadata, disk size, and ISO structure before durable changes.
Upgrade note: Existing configurations use the new en* interface default. Set networkInterfaceMatch explicitly for other guest interface names and remove an existing seed ISO to regenerate it.
03Models
@evrardjp/arch-cloud-initv2026.07.17.1arch_cloud_init.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| vmName | string | VM name — used as prefix for disk and ISO filenames |
| hostname | string | cloud-init local-hostname |
| ipAddress | string | Static IP address with prefix length (e.g. 192.0.2.12/24) |
| gateway | string | Default gateway IP |
| nameserver | string | DNS nameserver IP |
| networkInterfaceMatch | string | cloud-init interface-name glob; defaults to common predictable libvirt names |
| sshUser | string | Non-root user to create via cloud-init |
| sshPubKeyPath | string | Path to SSH public key for the created user |
| diskSizeGb | number | Overlay disk size in GiB |
| imagesDir | string | Directory where VM images are stored |
| baseImagePath | string | Path for the shared Arch Linux base image |
| baseImageUrl | string | URL for downloading the Arch Linux cloud image |
| extraRuncmd | array | Additional cloud-init runcmd entries appended after enabling sshd |
| pacmanMirrors | array | Ordered Arch Linux pacman mirrors written to /etc/pacman.d/mirrorlist during cloud-init |
| fileAclUser? | string | Optional user to grant rw ACLs on generated image files, e.g. qemu |
fn prepare()
Download base Arch image if absent, create qcow2 overlay, and write cloud-init NoCloud seed ISO to disk
Resources
prep(infinite)— Result of the image preparation (disk and ISO paths, what was created)
Files
log(text/plain)— Preparation log
04Previous Versions
2026.05.21.1
05Stats
A
100 / 100
Downloads
2
Archive size
18.9 KB
- Has README or module doc2/2earned
- README has a code example1/1earned
- README is substantive1/1earned
- Most symbols documented1/1earned
- No slow types (deprecated)1/1earned
- Dependencies pass trust audit2/2earned
- Has description1/1earned
- Platform support declared (or universal)2/2earned
- License declared1/1earned
- Verified public repository2/2earned
06Platforms
07Labels