mirror of
https://github.com/hashicorp/vault.git
synced 2025-11-10 05:11:09 +01:00
51 lines
1.9 KiB
Bash
Executable File
51 lines
1.9 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Copyright (c) HashiCorp, Inc.
|
|
# SPDX-License-Identifier: BUSL-1.1
|
|
ARTIFACTORY_NPM_URL="https://artifactory.hashicorp.engineering/artifactory/npm/"
|
|
|
|
# Show error if doormat CLI or jq doesn't exist
|
|
|
|
if ! command -v doormat &> /dev/null; then
|
|
echo "Error: doormat CLI is not installed."
|
|
exit 1
|
|
fi
|
|
|
|
if ! command -v jq &> /dev/null; then
|
|
echo "Error: jq is not installed."
|
|
exit 1
|
|
fi
|
|
|
|
doormat login
|
|
# Get artifactory token from doormat
|
|
AF_TOKEN=$(doormat artifactory create-token | jq -r .access_token)
|
|
|
|
# Get package info from artifactory API
|
|
PACKAGE_INFO=$(curl -s -L -H "Authorization: Bearer $AF_TOKEN" "https://artifactory.hashicorp.engineering/artifactory/api/npm/npm/@hashicorp-internal/vault-reporting")
|
|
|
|
# Extract the latest version and tarball URL
|
|
LATEST_VERSION=$(echo "$PACKAGE_INFO" | jq -r '."dist-tags".latest')
|
|
TARBALL_URL=$(echo "$PACKAGE_INFO" | jq -r --arg version "$LATEST_VERSION" '.versions[$version].dist.tarball')
|
|
|
|
echo "LATEST_VERSION: $LATEST_VERSION"
|
|
echo "TARBALL_URL: $TARBALL_URL"
|
|
|
|
# Download the tarball
|
|
echo "Downloading vault-reporting v$LATEST_VERSION..."
|
|
curl -L -H "Authorization: Bearer $AF_TOKEN" -o "vault-reporting/$LATEST_VERSION.tgz" "$TARBALL_URL"
|
|
|
|
if [ $? -eq 0 ]; then
|
|
echo "✅ Successfully downloaded vault-reporting-$LATEST_VERSION.tgz"
|
|
echo "📦 File size: $(ls -lh vault-reporting-$LATEST_VERSION.tgz | awk '{print $5}')"
|
|
else
|
|
echo "❌ Failed to download tarball"
|
|
exit 1
|
|
fi
|
|
|
|
# Delete all but the latest version
|
|
find vault-reporting -name "*.tgz" ! -name "$LATEST_VERSION.tgz" -delete
|
|
|
|
# Update package.json to point to file:vault-reporting/$LATEST_VERSION.tgz
|
|
FILENAME="$LATEST_VERSION.tgz"
|
|
jq --arg version "$LATEST_VERSION" --arg filename "$FILENAME" '.dependencies["@hashicorp-internal/vault-reporting"] = "file:vault-reporting/" + $filename' package.json > tmp.json && mv tmp.json package.json
|
|
# Install dependencies
|
|
yarn install |