/packer-plugin-nutanix

Packer Builder for Nutanix AHV

Primary LanguageGoApache License 2.0Apache-2.0

Packer Plugin Nutanix

The Nutanix multi-component plugin can be used with HashiCorp Packer to create custom images. For the full list of available features for this plugin see docs.


Go Report Card CI Release

release License Proudly written in Golang Releases


Installation

Using pre-built releases

Using the packer init command

Starting from version 1.7, Packer supports a new packer init command allowing automatic installation of Packer plugins. Read the Packer documentation for more information.

To install this plugin, copy and paste this code into your Packer configuration . Then, run packer init.

packer {
  required_plugins {
    nutanix = {
      version = ">= 0.1.3"
      source  = "github.com/nutanix-cloud-native/nutanix"
    }
  }
}

Manual installation

You can find pre-built binary releases of the plugin here. Once you have downloaded the latest archive corresponding to your target OS, uncompress it to retrieve the plugin binary file corresponding to your platform. To install the plugin, please follow the official Packer documentation on installing a plugin.

From Source

If you prefer to build the plugin from its source code, clone the GitHub repository locally and run the command make build from the root directory. Upon successful compilation, a packer-plugin-nutanix plugin binary file can be found in the root directory. To install the compiled plugin, please follow the official Packer documentation on installing a plugin.

Configuration

For more information on how to configure the plugin, please find some examples in the example/ directory.

Limitations

Building temporary ISOs on MacOS

If you want to use the cd_files Option to create an additional iso-image for kickstart-files or similiar be aware that MacOS won´t create a suitable file. Please install xorriso for support on MacOS.

 brew install xorriso

Image Creation

Right now the plugin cannot upload source-images directly, but Terraform can be used to create a source image before running packer itself. Create a Terraform Manifest using the Nutanix Provider to create your Image and define an output with your image uuid. You can pass this uuid into a Packer Variable. In that case the centos_iso_image_name Variable in the example settings file must be commented.

export PKR_VAR_centos_iso_image_name=$(terraform output -raw centos_uuid)

Contributing

See the contributing docs.

Support

Community Plus

This code is developed in the open with input from the community through issues and PRs. A Nutanix engineering team serves as the maintainer. Documentation is available in the project repository.

Issues and enhancement requests can be submitted in the Issues tab of this repository. Please search for and review the existing open issues before submitting a new issue.

License

The project is released under version 2.0 of the Apache license.