feat(bpmct/templates): add incus-vm and incus-nixos templates#910
Open
bpmct wants to merge 6 commits into
Open
feat(bpmct/templates): add incus-vm and incus-nixos templates#910bpmct wants to merge 6 commits into
bpmct wants to merge 6 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds two new templates under
registry/bpmctfor running workspaces on Incus (the open-source LXD fork).incus-vmProvisions a full KVM virtual machine on a remote Incus host using cloud-init. This is a VM variant of the existing
coder/incussystem container template.Key differences from
coder/incus:type = "virtual-machine") rather than a system containerincus remote add— the Coder provisioner does not need to be co-located with the Incus hostarchparameter (amd64/arm64) threads through the agent, image fetch, and Incus architecture hint — so the same template works on both x86-64 and aarch64 hostsnull_resourceprovisioner (necessary since cloud-init only runs once on first boot)incus-nixosProvisions a NixOS virtual machine on a remote Incus host. NixOS requires a different provisioning approach from the cloud-init-based
incus-vmtemplate.Key design points:
nixos/<channel>)nixos-rebuild switch— no cloud-init/etc/nixos/coder.nixand/etc/nixos/configuration.nixviaincus execon first bootnixos_channelis a Terraformvariable(admin sets at push time); no user-facing image picker since the whole point of the template is NixOSType of Change
Template Information
Paths:
registry/bpmct/templates/incus-vmregistry/bpmct/templates/incus-nixosTesting & Validation
bun test)bun fmt)Related Issues
None
Video
https://www.loom.com/share/f009972a51af452dbbe9eda9f9760d3e