bin/install.sh: add packer installation
This commit is contained in:
@@ -41,14 +41,14 @@ Already have a clone? Just run it directly:
|
|||||||
linked release binaries into `~/.local/bin`: jq, kubectl, helm, k9s,
|
linked release binaries into `~/.local/bin`: jq, kubectl, helm, k9s,
|
||||||
kubectx/kubens, stern, yq, OpenTofu, terragrunt, task (go-task, the
|
kubectx/kubens, stern, yq, OpenTofu, terragrunt, task (go-task, the
|
||||||
Taskfile runner), the 1Password CLI `op` for secrets storage, the
|
Taskfile runner), the 1Password CLI `op` for secrets storage, the
|
||||||
opencode coding agent, and zarf (DevSecOps for Offline and Airgapped
|
opencode coding agent, zarf (DevSecOps for Offline and Airgapped
|
||||||
Kubernetes). kind is installed
|
Kubernetes), and packer (HashiCorp's infrastructure build tool).
|
||||||
only when full (non-rootless) Docker is available — it doesn't work
|
kind is installed only when full (non-rootless) Docker is available —
|
||||||
against rootless Docker, so it is skipped on Kasm. No sudo, nothing
|
it doesn't work against rootless Docker, so it is skipped on Kasm.
|
||||||
outside `$HOME`, so tools persist across Kasm redeploys with no
|
No sudo, nothing outside `$HOME`, so tools persist across Kasm
|
||||||
reinstall. Idempotent: each tool records its version under
|
redeploys with no reinstall. Idempotent: each tool records its version
|
||||||
`~/.local/bin/.versions` and is skipped when the pinned version is
|
under `~/.local/bin/.versions` and is skipped when the pinned version
|
||||||
already present. `zsh/zshrc` puts `~/.local/bin` on `PATH`.
|
is already present. `zsh/zshrc` puts `~/.local/bin` on `PATH`.
|
||||||
|
|
||||||
opencode is configured by `mcp-config/`: it points at the covert-gpt
|
opencode is configured by `mcp-config/`: it points at the covert-gpt
|
||||||
LiteLLM gateway (`https://llm.covert-gpt.com/v1` for models,
|
LiteLLM gateway (`https://llm.covert-gpt.com/v1` for models,
|
||||||
|
|||||||
@@ -179,6 +179,21 @@ install_task() {
|
|||||||
mark_version task "$ver"
|
mark_version task "$ver"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# packer — infrastructure as code build tool (single static binary).
|
||||||
|
install_packer() {
|
||||||
|
ver=1.15.4
|
||||||
|
have_version packer "$ver" && { fsay "packer $ver already installed."; return 0; }
|
||||||
|
case "$(fetch_arch)" in
|
||||||
|
x86_64) _packer_arch=amd64 ;;
|
||||||
|
aarch64) _packer_arch=arm64 ;;
|
||||||
|
*) fsay "packer: unsupported arch $(uname -m)"; return 1 ;;
|
||||||
|
esac
|
||||||
|
install_zip_bin \
|
||||||
|
"https://releases.hashicorp.com/packer/$ver/packer_${ver}_linux_$_packer_arch.zip" \
|
||||||
|
packer packer
|
||||||
|
mark_version packer "$ver"
|
||||||
|
}
|
||||||
|
|
||||||
# terragrunt — thin wrapper around tofu/terraform (single static binary).
|
# terragrunt — thin wrapper around tofu/terraform (single static binary).
|
||||||
install_terragrunt() {
|
install_terragrunt() {
|
||||||
ver=v1.1.0
|
ver=v1.1.0
|
||||||
@@ -226,6 +241,7 @@ try install_terragrunt
|
|||||||
try install_1p
|
try install_1p
|
||||||
try install_opencode
|
try install_opencode
|
||||||
try install_zarf
|
try install_zarf
|
||||||
|
try install_packer
|
||||||
|
|
||||||
if [ -n "$FAILED" ]; then
|
if [ -n "$FAILED" ]; then
|
||||||
fsay ""
|
fsay ""
|
||||||
|
|||||||
Reference in New Issue
Block a user