Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/canonical/packer-maas
Packer templates to create MAAS deployable images
https://github.com/canonical/packer-maas
maas packer-template
Last synced: 15 days ago
JSON representation
Packer templates to create MAAS deployable images
- Host: GitHub
- URL: https://github.com/canonical/packer-maas
- Owner: canonical
- License: other
- Created: 2020-01-14T01:08:44.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2024-05-17T20:17:30.000Z (6 months ago)
- Last Synced: 2024-05-17T21:27:15.909Z (6 months ago)
- Topics: maas, packer-template
- Language: HCL
- Size: 701 KB
- Stars: 250
- Watchers: 21
- Forks: 153
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Packer MAAS
[Packer](http://packer.io) [templates](https://www.packer.io/docs/templates/index.html),
associated scripts, and configuration for creating deployable OS images for [MAAS](http://maas.io).See README.md in each directory for documentation on how to customize, build,
and upload images.Read more about how [custom images](https://maas.io/docs/how-to-customise-images) work.
## Existing templates
| **OS** | **Maturity Level** | **MAAS Version** |
|-----------------|:------------------:|:-----------------|
| AlmaLinux 8 | Beta | >= 3.5 |
| AlmaLinux 9 | Beta | >= 3.5 |
| AzureLinux 2.0 | Beta | >= 3.3 |
| CentOS 6 | EOL | >= 1.6 |
| CentOS 7 | Stable | >= 2.3 |
| CentOS 8 | EOL | >= 2.7 |
| CentOS 8 Stream | Beta | >= 3.2 |
| CentOS 9 Stream | Beta | >= 3.2 |
| Debian 10 | Beta | >= 3.3 |
| Debian 11 | Beta | >= 3.3 |
| Debian 12 | Beta | >= 3.3 |
| OL8 | Alpha | >= 3.5 |
| OL9 | Alpha | >= 3.5 |
| RHEL 7 | EOL | >= 2.3 |
| RHEL 8 | Stable | >= 2.7 |
| RHEL 9 | Beta | >= 3.3 |
| Rocky 8 | Beta | >= 3.3 |
| Rocky 9 | Beta | >= 3.3 |
| SLES 12 | Beta | >= 3.4 |
| SLES 15 | Beta | >= 3.3 |
| Ubuntu | Stable | >= 3.0 |
| VMWare ESXi 6 | EOL | >= 3.0 |
| VMWare ESXi 7 | Stable | >= 3.0 |
| VMWare ESXi 8 | Beta | >= 3.0 |
| Windows 2016 | Beta | >= 3.3 |
| Windows 2019 | Beta | >= 3.3 |
| Windows 2022 | Beta | >= 3.3 |
| Windows 10 | Beta | >= 3.3 |### Maturity level
* Templates marked as *EOL* are OSes that are no longer supported by the upstream maintainer, and **are not recommended for new deployments**. These systems don't receive security updates and mirrors can become permanently offline at any moment.
* *Alpha* templates require packages that are not yet generally available, e.g. an unreleased MAAS or Curtin version. These should not be used in production environments.
* *Beta* templates should work but we still don't have enough successful deployment reports to regard it as *Stable*.### Output
All templates are configured to output to serial. Packer does not officially
support serial output([GH:5](https://github.com/hashicorp/packer-plugin-qemu/issues/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.## Contributing new templates
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.
### Project structure
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 by `provisioner` and `post-processor` blocks
* 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### How to submit a new template
1. [Fork the project](https://github.com/canonical/packer-maas/fork) to your own GH account
2. Create a local branch
3. If you are contributing a new OS, create a new directory following the guidelines above
4. 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
5. Run `packer validate .` in the directory to check your template
6. Commit your changes and push the branch to your repository
7. Open a Merge Request to packer-maas
8. Wait for review