#!/bin/bash set -o errexit # This script generates and uploads a terraform provider.json file and uploads it to Terralist ARTIFACTS_FILE=$1 METADATA_FILE=$2 TERRALIST_API=${TERRALIST_API:-https://terralist.garm-provider-test.t09.de/v1/api} TERRALIST_API_KEY=${TERRALIST_API_KEY:-invalid-key} VERSION=$(cat $METADATA_FILE | jq -r '.version') BASE_URL="$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/releases/download" if ! [[ "$BASE_URL" =~ "terraform" ]]; then echo "Error: GITHUB_ environment variables not set correctly" >&2 exit 1 fi jq --arg base_url "$BASE_URL" --arg version "$VERSION" ' { protocols: ["6"], shasums: ( { url: ($base_url + "/v" + $version + "/" + (.[] | select(.type=="Checksum").name)), signature_url: ($base_url + "/v" + $version + "/" + (.[] | select(.type=="Signature").name)) } ), platforms: [ .[] | select(.type=="Archive") | { os: .goos, arch: .goarch, download_url: ($base_url + "/v" + $version + "/" + .name), shasum: (.extra.Checksum | sub("^sha256:";"")) } ] } ' $ARTIFACTS_FILE >./provider.json cat provider.json | jq . curl -X POST $TERRALIST_API/providers/edge-connect/${VERSION}/upload \ -H "Authorization: Bearer x-api-key:$TERRALIST_API_KEY" \ -d "$(cat ./provider.json)"