Skip to content

Latest commit

 

History

History
217 lines (149 loc) · 8.13 KB

File metadata and controls

217 lines (149 loc) · 8.13 KB
icon
octicons/verified-24

Requirements

:octicons-cloud-24:   Platform

The project is tested on the following platforms:

::spantable::

Platform Version
VMware vSphere @span 8.0 or later
7.0 Update 3D or later
::end-spantable::

:octicons-stack-24:   Operating Systems

The project is tested on the following operating systems for the Packer host 1 :

::spantable::

Operating System Version Architecture
:fontawesome-brands-linux:    VMware Photon OS 5.0 x86_64
:fontawesome-brands-ubuntu:    Ubuntu Server 22.04 LTS x86_64
:fontawesome-brands-apple:    macOS @span Sonoma Intel or Apple Silicon
::end-spantable::

:simple-packer:   Packer

:octicons-terminal-24:   Packer CLI

HashiCorp Packer 1.10.0 or higher.

=== ":fontawesome-brands-linux:   VMware Photon OS"

You can install Packer on VMware Photon OS using the following commands:

```shell
PACKER_VERSION="1.10.0"
OS_PACKAGES="wget unzip"

if [[ $(uname -m) == "x86_64" ]]; then
  LINUX_ARCH="amd64"
elif [[ $(uname -m) == "aarch64" ]]; then
  LINUX_ARCH="arm64"
fi

tdnf install ${OS_PACKAGES} -y

wget -q https://releases.hashicorp.com/packer/${PACKER_VERSION}/packer_${PACKER_VERSION}_linux_${LINUX_ARCH}.zip

unzip -o -d /usr/local/bin/ packer_${PACKER_VERSION}_linux_${LINUX_ARCH}.zip
```

=== ":fontawesome-brands-ubuntu:   Ubuntu"

You must configure your system to trust that HashiCorp key for package authentication.

1. Configure the repository:

      ```shell
      sudo bash -c 'wget -O- https://apt.releases.hashicorp.com/gpg | gpg --dearmor > /usr/share/keyrings/hashicorp-archive-keyring.gpg'
      ```

2. Verify the fingerprint:

      ```shell
      gpg --no-default-keyring --keyring /usr/share/keyrings/hashicorp-archive-keyring.gpg --fingerprint
      ```

      You can verify that the fingerprint matches the HashiCorp public key published on [Security at HashiCorp][hcp-security].

3. Add the official HashiCorp repository to your system:

      ```shell
      sudo bash -c 'echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] \
      https://apt.releases.hashicorp.com $(lsb_release -cs) main" > /etc/apt/sources.list.d/hashicorp.list'
      ```

4. Install Packer from the HashiCorp repository:

      ```shell
      sudo apt update && sudo apt install packer
      ```

=== ":fontawesome-brands-apple:   macOS"

You can install Packer on macOS using :simple-homebrew: [Homebrew][homebrew].

```shell
brew tap hashicorp/tap

brew install hashicorp/tap/packer
```

:octicons-plug-24:   Packer Plugins

Required plugins are automatically downloaded and initialized when using ./build.sh.

For disconnected sites (e.g., air-gapped or dark sites), you may download the plugins and place these same directory as your Packer executable /usr/local/bin or $HOME/.packer.d/plugins.

Plugin Version Description Resources
:simple-hashicorp:    Packer Plugin for Ansible >= 1.1.0 By HashiCorp :fontawesome-brands-github:    :material-library:
:simple-hashicorp:    Packer Plugin for VMware vSphere >= 1.2.7 By HashiCorp :fontawesome-brands-github:    :material-library:
:fontawesome-brands-git:    Packer Plugin for Git >= 0.6.2 Community Plugin :fontawesome-brands-github:    :material-library:

:octicons-package-dependencies-24:   Additional Software Packages

The following additional software packages must be installed on the operating system running Packer.

=== ":fontawesome-brands-linux:   VMware Photon OS"

- [git][download-git] command-line tools.

- [ansible-core][ansible-docs] 2.15.

- [jq][jq] - A command-line JSON processor.

- xorriso - A command-line ISO creator.

    ```shell
    pip3 install --user ansible-core==2.15
    export PATH="$HOME/.local/bin:$PATH"
    tdnf -y install git jq xorriso
    ```

- HashiCorp [Terraform][terraform-install] 1.7.1 or higher.

    ```shell
    TERRAFORM_VERSION="1.7.1"
    OS_PACKAGES="wget unzip"

    if [[ $(uname -m) == "x86_64" ]]; then
      LINUX_ARCH="amd64"
    elif [[ $(uname -m) == "aarch64" ]]; then
      LINUX_ARCH="arm64"
    fi

    tdnf install ${OS_PACKAGES} -y

    wget -q https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_${LINUX_ARCH}.zip

    unzip -o -d /usr/local/bin/ terraform_${TERRAFORM_VERSION}_linux_${LINUX_ARCH}.zip
    ```

=== ":fontawesome-brands-ubuntu:   Ubuntu"

- [git][download-git] command-line tools.

- [ansible-core][ansible-docs] 2.15.

- [jq][jq] - A command-line JSON processor.

- xorriso - A command-line ISO creator.

- mkpasswd - A password generating utility.

- HashiCorp [Terraform][terraform-install] 1.7.1 or higher.

    ```shell
    pip3 install --user ansible-core==2.15
    sudo apt -y install git jq xorriso whois terraform
    ```

- [gomplate][gomplate-install] 3.11.7 or higher.

    ```shell
    GOMPLATE_VERSION="3.11.7"
    LINUX_ARCH="amd64"

    sudo curl -o /usr/local/bin/gomplate -sSL https://github.com/hairyhenderson/gomplate/releases/download/v${GOMPLATE_VERSION}/gomplate_linux-${LINUX_ARCH}
    sudo chmod 755 /usr/local/bin/gomplate
    ```

=== ":fontawesome-brands-apple:   macOS"

- [git][download-git] command-line tools.
- [ansible-core][ansible-docs] 2.15.
- [jq][jq] - A command-line JSON processor.
- Coreutils
- HashiCorp [Terraform][terraform-install] 1.7.1 or higher.
- [gomplate][gomplate-install] 3.11.7 or higher.

    ```shell
    pip3 install --user ansible-core==2.15
    brew install git jq coreutils hashicorp/tap/terraform gomplate
    ```

- mkpasswd - A password generating utility.

    ```shell
    brew install --cask docker
    ```

Footnotes

  1. The project may work on other operating systems and versions, but has not been tested by the maintainers.