diff --git a/registry/coder/modules/vault-cli/README.md b/registry/coder/modules/vault-cli/README.md index f8df790f..04420570 100644 --- a/registry/coder/modules/vault-cli/README.md +++ b/registry/coder/modules/vault-cli/README.md @@ -13,7 +13,7 @@ Installs the [Vault](https://www.vaultproject.io/) CLI and optionally configures ```tf module "vault_cli" { source = "registry.coder.com/coder/vault-cli/coder" - version = "1.1.0" + version = "1.1.1" agent_id = coder_agent.example.id vault_addr = "https://vault.example.com" } @@ -34,7 +34,7 @@ If you have a Vault token, you can provide it to automatically configure authent ```tf module "vault_cli" { source = "registry.coder.com/coder/vault-cli/coder" - version = "1.1.0" + version = "1.1.1" agent_id = coder_agent.example.id vault_addr = "https://vault.example.com" vault_token = var.vault_token # Optional @@ -50,7 +50,7 @@ Install the Vault CLI without any authentication: ```tf module "vault_cli" { source = "registry.coder.com/coder/vault-cli/coder" - version = "1.1.0" + version = "1.1.1" agent_id = coder_agent.example.id vault_addr = "https://vault.example.com" } @@ -61,7 +61,7 @@ module "vault_cli" { ```tf module "vault_cli" { source = "registry.coder.com/coder/vault-cli/coder" - version = "1.1.0" + version = "1.1.1" agent_id = coder_agent.example.id vault_addr = "https://vault.example.com" vault_cli_version = "1.15.0" @@ -73,7 +73,7 @@ module "vault_cli" { ```tf module "vault_cli" { source = "registry.coder.com/coder/vault-cli/coder" - version = "1.1.0" + version = "1.1.1" agent_id = coder_agent.example.id vault_addr = "https://vault.example.com" install_dir = "/home/coder/bin" @@ -87,7 +87,7 @@ For Vault Enterprise users who need to specify a namespace: ```tf module "vault_cli" { source = "registry.coder.com/coder/vault-cli/coder" - version = "1.1.0" + version = "1.1.1" agent_id = coder_agent.example.id vault_addr = "https://vault.example.com" vault_token = var.vault_token @@ -102,7 +102,7 @@ Install the Vault Enterprise binary. This is required if using SAML authenticati ```tf module "vault_cli" { source = "registry.coder.com/coder/vault-cli/coder" - version = "1.1.0" + version = "1.1.1" agent_id = coder_agent.example.id vault_addr = "https://vault.example.com" enterprise = true diff --git a/registry/coder/modules/vault-cli/run.sh b/registry/coder/modules/vault-cli/run.sh index 18803ee5..40c2c26d 100644 --- a/registry/coder/modules/vault-cli/run.sh +++ b/registry/coder/modules/vault-cli/run.sh @@ -7,40 +7,34 @@ INSTALL_DIR=${INSTALL_DIR} VAULT_CLI_VERSION=${VAULT_CLI_VERSION} ENTERPRISE=${ENTERPRISE} -# Fetch URL content. If dest is provided, write to file; otherwise output to stdout. -# Usage: fetch [dest] +# Fetch URL content to stdout fetch() { url="$1" - dest="$${2:-}" - - # Detect HTTP client on first run - if [ -z "$${HTTP_CLIENT:-}" ]; then - if command -v curl > /dev/null 2>&1; then - HTTP_CLIENT="curl" - elif command -v wget > /dev/null 2>&1; then - HTTP_CLIENT="wget" - elif command -v busybox > /dev/null 2>&1; then - HTTP_CLIENT="busybox" - else - printf "curl, wget, or busybox is not installed. Please install curl or wget in your image.\n" - return 1 - fi - fi - - if [ -n "$${dest}" ]; then - # shellcheck disable=SC2195 - case "$${HTTP_CLIENT}" in - curl) curl -sSL --fail "$${url}" -o "$${dest}" ;; - wget) wget -O "$${dest}" "$${url}" ;; - busybox) busybox wget -O "$${dest}" "$${url}" ;; - esac + if command -v curl > /dev/null 2>&1; then + curl -sSL --fail "$${url}" + elif command -v wget > /dev/null 2>&1; then + wget -qO- "$${url}" + elif command -v busybox > /dev/null 2>&1; then + busybox wget -qO- "$${url}" else - # shellcheck disable=SC2195 - case "$${HTTP_CLIENT}" in - curl) curl -sSL --fail "$${url}" ;; - wget) wget -qO- "$${url}" ;; - busybox) busybox wget -qO- "$${url}" ;; - esac + printf "curl, wget, or busybox is not installed. Please install curl or wget in your image.\n" + return 1 + fi +} + +# Download URL to a file +fetch_to_file() { + dest="$1" + url="$2" + if command -v curl > /dev/null 2>&1; then + curl -sSL --fail "$${url}" -o "$${dest}" + elif command -v wget > /dev/null 2>&1; then + wget -O "$${dest}" "$${url}" + elif command -v busybox > /dev/null 2>&1; then + busybox wget -O "$${dest}" "$${url}" + else + printf "curl, wget, or busybox is not installed. Please install curl or wget in your image.\n" + return 1 fi } @@ -141,7 +135,7 @@ install() { cd "$${TEMP_DIR}" || return 1 printf "Downloading from %s\n" "$${DOWNLOAD_URL}" - if ! fetch "$${DOWNLOAD_URL}" vault.zip; then + if ! fetch_to_file vault.zip "$${DOWNLOAD_URL}"; then printf "Failed to download Vault.\n" rm -rf "$${TEMP_DIR}" return 1