hashipi

Raspberry Pi Test Cluster for HashiCorp Vault, Nomad and Consul
git clone https://git.in0rdr.ch/hashipi.git
Log | Files | Refs | Pull requests |Archive | README

commit 7f36c5f31878561c4ac081aec23950f99e6e77b5
parent 26665e287fa0c4790fcc29c2aac3192528f6cfe6
Author: Andreas Gruhler <agruhl@gmx.ch>
Date:   Mon, 28 Jul 2025 18:57:47 +0200

feat: add architecture variable

Diffstat:
Mbootstrap.sh | 2+-
Mhashi-pi.pkr.hcl | 10+++++++++-
Mhosts/intel0.pkrvars.hcl | 1+
Mnomad.sh | 6+++---
4 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/bootstrap.sh b/bootstrap.sh @@ -30,7 +30,7 @@ apt-get update DEBIAN_FRONTEND=noninteractive apt-get install -y jq podman cloud-init curl \ "nomad=${NOMAD_VERSION}-1" -curl -L -o openbao.deb "https://github.com/openbao/openbao/releases/download/v${BAO_VERSION}/bao_${BAO_VERSION}_linux_arm64.deb" +curl -L -o openbao.deb "https://github.com/openbao/openbao/releases/download/v${BAO_VERSION}/bao_${BAO_VERSION}_linux_${ARCHITECTURE}.deb" apt install ./openbao.deb # Configure insecure local registry diff --git a/hashi-pi.pkr.hcl b/hashi-pi.pkr.hcl @@ -139,6 +139,11 @@ variable "bao_version" { default = "2.2.2" } +variable "architecture" { + type = string + default = "arm64" +} + packer { required_plugins { qemu = { @@ -200,7 +205,7 @@ source "qemu" "hashiintel" { shutdown_command = "echo 'debian' | sudo -S shutdown -P now" ssh_timeout = "15m" ssh_username = "in0rdr" - ssh_private_key_file = "/home/andi/.ssh/id_rsa" + ssh_private_key_file = "/home/andi/.ssh/id_ed25519" vm_name = "${var.hostname}.qcow2" } @@ -210,6 +215,7 @@ build { provisioner "shell" { script = "bootstrap.sh" environment_vars = [ + "ARCHITECTURE=${var.architecture}", "HOSTNAME=${var.hostname}", "USERNAME=${var.username}", "AUTHORIZED_KEYS=${var.authorized_keys}", @@ -240,6 +246,7 @@ build { script = "nomad.sh" remote_folder = "/home/${var.username}" environment_vars = [ + "ARCHITECTURE=${var.architecture}", "USERNAME=${var.username}", "NFS_SERVER=${var.nomad_nfs_server}", "NFS_MOUNT=${var.nomad_nfs_mount}", @@ -268,6 +275,7 @@ build { script = "openbao.sh" remote_folder = "/home/${var.username}" environment_vars = [ + "ARCHITECTURE=${var.architecture}", "USERNAME=${var.username}", "HOSTNAME=${var.hostname}", "NOMAD_SERVER=${var.nomad_server}", diff --git a/hosts/intel0.pkrvars.hcl b/hosts/intel0.pkrvars.hcl @@ -1,3 +1,4 @@ +architecture = "amd64" hostname = "intel0" img_name = "HashiIntel0.img" nomad_server = true diff --git a/nomad.sh b/nomad.sh @@ -11,8 +11,8 @@ cd "/home/${USERNAME}" # Install podman driver for Nomad # https://developer.hashicorp.com/nomad/plugins/drivers/community/containerd -curl -LO "https://releases.hashicorp.com/nomad-driver-podman/${NOMAD_PODMAN_DRIVER_VERSION}/nomad-driver-podman_${NOMAD_PODMAN_DRIVER_VERSION}_linux_arm64.zip" -unzip "nomad-driver-podman_${NOMAD_PODMAN_DRIVER_VERSION}_linux_arm64.zip" +curl -LO "https://releases.hashicorp.com/nomad-driver-podman/${NOMAD_PODMAN_DRIVER_VERSION}/nomad-driver-podman_${NOMAD_PODMAN_DRIVER_VERSION}_linux_${ARCHITECTURE}.zip" +unzip "nomad-driver-podman_${NOMAD_PODMAN_DRIVER_VERSION}_linux_${ARCHITECTURE}.zip" mkdir -p /opt/nomad/plugins/ mv nomad-driver-podman /opt/nomad/plugins/ @@ -191,7 +191,7 @@ sed -i 's/$/ cgroup_enable=memory/' /boot/cmdline.txt # Install CNI plugins # - https://developer.hashicorp.com/nomad/docs/networking/cni -curl -L -o cni-plugins.tgz "https://github.com/containernetworking/plugins/releases/download/v1.6.2/cni-plugins-linux-arm64-v1.6.2.tgz" +curl -L -o cni-plugins.tgz "https://github.com/containernetworking/plugins/releases/download/v1.6.2/cni-plugins-linux-${ARCHITECTURE}-v1.6.2.tgz" mkdir -p /opt/cni/bin tar -C /opt/cni/bin -xzf cni-plugins.tgz