Packer templates, associated scripts, and configuration for creating deployable OS images for MAAS.
Based on GitHub Actions Runner Images repositiory
OS | Versions |
---|---|
Ubuntu | 22.04 LTS |
Right now installation of brew
is disable, since it was breaking teh build.
All templates are configured to output to serial. Packer does not officially support serial output(GH:5). To see output run with PACKER_LOG=1.
If you wish to use a GUI modify each template as follows:
- Remove any boot_command line that contains "console" or "com1_Port"
- Remove ""-serial", "stdio"" from qemuargs. qemuargs may be removed as well if empty.
If you wish to use QEMU's UI also remove "headless": true
If you keep "headless": true you can connect using VNC. Packer will output the IP and port to connect to when run.
We welcome contributions of new templates.
The following is a set of guidelines for contributing to Packer MAAS. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.
Each OS has it's own directory in the repository. The typical contents is:
- one or more HCL2 templates
- a
scripts
directory with auxiliary scripts required byprovisioner
andpost-processor
- a
http
directory with auto-configuration files used by the OS installer - a
README.md
file describing- what is the target OS
- host requirements for building this template
- MAAS requirements for deploying the generated image
- description of each template (HCL2) file, including the use of all parameters defined by them
- step by step instruction to build it
- default login credentials for the image (if any)
- instructions for uploading this image to MAAS
- a
Makefile
to build the template
- Fork the project to your own GH account
- Create a local branch
- If you are contributing a new OS, create a new directory following the guidelines above
- If you are creating a new template for an already supported OS, just create a HCL2 file and add auxiliary files it requires to the appropriate directories
- Run
packer validate .
in the directory to check your template - Commit your changes and push the branch to your repository
- Open a Merge Request to packer-maas
- Wait for review