# Ubuntu Appliance ISO Build Layout This directory defines the Ubuntu Server 24.04 LTS appliance ISO build workspace. ## Purpose The Ubuntu ISO path replaces Talos-based image generation for supported appliance installs. This layout separates concerns so later plan items can evolve independently: - `config/nocloud/`: autoinstall seed (`user-data`, `meta-data`) injected into the ISO. - `overlay/`: host files copied into the installed system (systemd units, scripts, defaults). - `scripts/`: repeatable build/validation automation. - `work/`: ephemeral unpacked ISO workspace. - `output/`: generated appliance ISO artifacts. ## Build Contract `scripts/build-ubuntu-appliance-iso.sh` is the single entrypoint. It stages host appliance artifacts through `scripts/stage-host-artifacts.sh` into `overlay/opt/alga-appliance/` before ISO remaster steps. Expected inputs: - A base Ubuntu Server 24.04 LTS ISO path (`--base-iso`). - A release version string (`--release-version`). Expected outputs: - `output/alga-appliance-ubuntu-.iso` - `output/alga-appliance-ubuntu-.sha256` ## Fresh Install Smoke After building an ISO, validate the Kubernetes-hosted setup payload and then run a live fresh VM smoke with: ```bash ee/appliance/tests/kubernetes-hosted-fresh-install-smoke.sh preflight \ --overlay-root ee/appliance/ubuntu-iso/overlay ``` For a live VM, use the same script's `live` mode with the VM node IP and setup token printed on the appliance console. ## Current Status This commit establishes the layout and build interface (`F001`). Autoinstall seed files now live in `config/nocloud/user-data` and `config/nocloud/meta-data`. Subsequent features add host service artifacts and full ISO remastering.