Update install script for OpenBao release asset changes

OpenBao now uses raw architecture names (x86_64, aarch64) instead of
Go-style (amd64, arm64) and publishes .tar.gz archives instead of .zip
files. This commit updates the install script to match the new naming
convention and archive format.
This commit is contained in:
Damien
2026-05-26 17:38:38 +02:00
parent 34e0ce087d
commit c7f44aa293

View File

@@ -67,10 +67,12 @@ require_root() {
fi
}
# OpenBao publishes release assets named with the raw `uname -m` arch
# (e.g. x86_64, aarch64), not Go-style amd64/arm64.
get_arch() {
case "$(uname -m)" in
x86_64) echo "amd64" ;;
aarch64) echo "arm64" ;;
x86_64) echo "x86_64" ;;
aarch64) echo "aarch64" ;;
*) log_error "Unsupported architecture: $(uname -m)"; exit 1 ;;
esac
}
@@ -112,14 +114,14 @@ install_or_upgrade_bao() {
return 0
fi
# OpenBao publishes zip archives named bao_<version>_linux_<arch>.zip
url="https://github.com/openbao/openbao/releases/download/${tag}/bao_${version}_linux_${arch}.zip"
# Asset naming convention: bao_<version>_Linux_<arch>.tar.gz
url="https://github.com/openbao/openbao/releases/download/${tag}/bao_${version}_Linux_${arch}.tar.gz"
log_info "Downloading OpenBao ${tag} (${arch}) from ${url}..."
tmpdir=$(mktemp -d)
trap 'rm -rf "$tmpdir"' RETURN
curl -fsSL "$url" -o "${tmpdir}/bao.zip"
unzip -q -o "${tmpdir}/bao.zip" -d "$tmpdir"
curl -fsSL "$url" -o "${tmpdir}/bao.tar.gz"
tar -xzf "${tmpdir}/bao.tar.gz" -C "$tmpdir"
if [[ ! -f "${tmpdir}/bao" ]]; then
log_error "Archive did not contain expected 'bao' binary."
@@ -258,7 +260,7 @@ exec_in_lxc() {
local mode="$2" # --install or --update
# Ensure base tooling exists inside the container before piping the script.
pct exec "$ctid" -- sh -c "apk add --no-cache bash curl jq unzip ca-certificates >/dev/null 2>&1"
pct exec "$ctid" -- sh -c "apk add --no-cache bash curl jq ca-certificates >/dev/null 2>&1"
curl -fsSL "$SCRIPT_URL" \
| pct exec "$ctid" -- env \
SCRIPT_URL="$SCRIPT_URL" \
@@ -378,8 +380,7 @@ install_inside_lxc() {
apk upgrade >/dev/null
log_info "Installing dependencies..."
# gcompat: OpenBao binaries are glibc-built; gcompat is required on musl Alpine.
apk add --no-cache bash curl jq unzip ca-certificates gcompat openrc logrotate tailscale >/dev/null
apk add --no-cache bash curl jq ca-certificates gcompat openrc logrotate tailscale >/dev/null
log_info "Enabling tailscaled..."
rc-update add tailscale default >/dev/null 2>&1 || true