
Packer Plugin Lume
https://github.com/trycua/packer-plugin-lume- Category
- Developer Tools
- Rank
- No. 1823Tools index
Previous survey · No. 1831 ·
- Pricing
- Open Source
- Type
- TOOL
- Builder
- trycua
- GitHub
- 15 stars
- Date
About
HashiCorp Packer plugin for Lume, used to build macOS VM images for agent workloads.
What it does
It connects Packer’s declarative build workflow to Lume on Apple Silicon. A build can create a virtual machine from an IPSW image or clone an existing machine, start it, type boot commands over VNC, discover its network address, connect through SSH, and run Packer provisioners.
Why it's ranked here
The integration covers an unusually complete machine-image workflow, including creation, startup, unattended boot input, networking, and provisioning. However, visible unfinished areas weaken confidence: cloning carries an explicit warning in the source, shutdown cleanup is disabled, and the published component documentation still contains generic scaffolding text.
What's good
Configuration exposes practical controls for processors, memory, disk, display, headless operation, recovery mode, SSH, and boot commands. It rejects conflicting image and clone inputs early. It can host provisioning content, interpolate the host address and port into boot instructions, and return the resulting virtual machine as a Packer artifact.
Tradeoffs
This is tied to Lume and Apple Silicon, with Go, Packer, and Lume required for the documented development installation. Clone support is marked as probably broken. Normal run cleanup does not stop the machine, while cancellation cleanup only works after the machine name reaches shared state. Network discovery accepts syntactically invalid IPv4 values.
How to use it well
Use it when your team already standardizes machine preparation in Packer and needs Lume-backed macOS or Linux guests on Apple Silicon. Prefer the IPSW creation path, explicit SSH settings, and carefully tested boot commands. Treat cloning and lifecycle cleanup as areas requiring validation. It does not replace Lume, Packer, restore-image acquisition, or downstream workload orchestration.
Technical notes+
main.go registers one Packer builder named cli through plugin.NewSet. builder/lume/builder.go assembles a multistep pipeline for cleanup, optional HTTP serving, creation or cloning, Lume startup, communicator connection, and provisioning; it also enforces mutual exclusion between IPSW and VMBaseName. builder/lume/step_run.go parses VNC credentials from Lume output, drives boot input through bootcommand.NewVNCDriver, waits one minute, and stores cancellation and output channels in state. builder/lume/ssh.go obtains an address by running a Bash pipeline and matching the first IPv4-shaped string. builder/lume/helpers.go executes Lume directly or through /bin/bash -c, including PTY streaming. builder/lume/artifact.go represents the VM directory as the artifact and deletes that directory in Destroy. builder/lume/ssh_test.go tests only the address regular expression, including its acceptance of 256.256.256.256. docs/README.md remains generic Packer scaffolding documentation rather than project-specific installation guidance.
Observed
- License
- MPL-2.0
- Primary language
- Go
- Interface
- HashiCorp Packer builder plugin backed by the Lume CLI/API
- Platform support
- Builds macOS and Linux virtual machine images with Lume on Apple Silicon
- Installation surface
- Documented development flow installs Go, Packer, and Lume, then builds the plugin with Make
- Testing structure
- A Go test covers IPv4-pattern capture used during virtual machine address discovery
Read from README.md, go.mod, main.go, docs/README.md, version/version.go, builder/lume/ssh.go, builder/lume/builder.go, builder/lume/helpers.go, builder/lume/artifact.go, builder/lume/quiet_ui.go, builder/lume/ssh_test.go, builder/lume/step_run.go, builder/lume/step_cleanup.go, builder/lume/step_connect.go, builder/lume/step_clone_vm.go.
What it can do
Build macOS virtual machine images
Packer configuration files and macOS installation media → macOS VM image files
Configure macOS VM settings for agent workloads
VM configuration parameters and agent requirements → Optimized macOS VM configuration
Provision macOS VMs with software packages
Package lists and installation scripts → Pre-configured macOS VM images with installed software
Automate macOS VM image creation workflow
Packer templates and build parameters → Automated build process and resulting VM images
Integrate with HashiCorp Packer ecosystem
Existing Packer workflows and configurations → Extended Packer functionality for macOS VM builds
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.