2020-04-24 23:36:52 +00:00
|
|
|
#!/usr/bin/env bash
|
2020-09-25 04:45:31 +00:00
|
|
|
# Bash 3 compatible for Darwin
|
2020-04-24 23:36:52 +00:00
|
|
|
|
2020-09-25 04:45:31 +00:00
|
|
|
# Version of Pulumi from
|
|
|
|
# https://www.pulumi.com/docs/get-started/install/versions/
|
2021-09-18 10:52:07 +00:00
|
|
|
VERSION="3.12.0"
|
2020-04-24 23:36:52 +00:00
|
|
|
|
2020-09-25 04:45:31 +00:00
|
|
|
# Grab latest release ${VERSION} from
|
|
|
|
# https://github.com/pulumi/pulumi-${NAME}/releases
|
2020-04-24 23:36:52 +00:00
|
|
|
plugins=(
|
2021-06-04 09:07:49 +00:00
|
|
|
"auth0=2.2.0"
|
2021-09-18 10:52:07 +00:00
|
|
|
"aws=4.19.0"
|
|
|
|
"cloudflare=3.5.0"
|
|
|
|
"consul=3.3.0"
|
|
|
|
"datadog=4.1.0"
|
|
|
|
"digitalocean=4.6.1"
|
|
|
|
"docker=3.1.0"
|
2021-05-28 09:39:13 +00:00
|
|
|
"equinix-metal=2.0.0"
|
2021-09-18 10:52:07 +00:00
|
|
|
"gcp=5.18.0"
|
|
|
|
"github=4.3.0"
|
|
|
|
"gitlab=4.2.0"
|
|
|
|
"hcloud=1.4.0"
|
|
|
|
"kubernetes=3.7.0"
|
|
|
|
"linode=3.3.2"
|
2021-05-28 09:39:13 +00:00
|
|
|
"mailgun=3.1.0"
|
2021-05-03 20:48:10 +00:00
|
|
|
"mysql=3.0.0"
|
2021-08-18 13:19:15 +00:00
|
|
|
"openstack=3.3.0"
|
2020-12-07 07:45:13 +00:00
|
|
|
"packet=3.2.2"
|
2021-09-18 10:52:07 +00:00
|
|
|
"postgresql=3.2.0"
|
2021-06-04 09:07:49 +00:00
|
|
|
"random=4.2.0"
|
2021-09-18 10:52:07 +00:00
|
|
|
"vault=4.4.0"
|
2021-08-08 23:34:03 +00:00
|
|
|
"vsphere=4.0.1"
|
2021-02-05 17:12:51 +00:00
|
|
|
)
|
2020-04-24 23:36:52 +00:00
|
|
|
|
|
|
|
function genMainSrc() {
|
2021-09-18 10:52:07 +00:00
|
|
|
local url="https://get.pulumi.com/releases/sdk/pulumi-v${VERSION}-${1}-${2}.tar.gz"
|
2020-04-24 23:36:52 +00:00
|
|
|
local sha256
|
|
|
|
sha256=$(nix-prefetch-url "$url")
|
|
|
|
echo " {"
|
|
|
|
echo " url = \"${url}\";"
|
|
|
|
echo " sha256 = \"$sha256\";"
|
|
|
|
echo " }"
|
|
|
|
}
|
|
|
|
|
|
|
|
function genSrcs() {
|
2020-07-18 16:06:22 +00:00
|
|
|
for plugVers in "${plugins[@]}"; do
|
|
|
|
local plug=${plugVers%=*}
|
|
|
|
local version=${plugVers#*=}
|
2020-04-24 23:36:52 +00:00
|
|
|
# url as defined here
|
|
|
|
# https://github.com/pulumi/pulumi/blob/06d4dde8898b2a0de2c3c7ff8e45f97495b89d82/pkg/workspace/plugins.go#L197
|
2021-09-18 10:52:07 +00:00
|
|
|
local url="https://api.pulumi.com/releases/plugins/pulumi-resource-${plug}-v${version}-${1}-${2}.tar.gz"
|
2020-04-24 23:36:52 +00:00
|
|
|
local sha256
|
|
|
|
sha256=$(nix-prefetch-url "$url")
|
2021-09-18 10:52:07 +00:00
|
|
|
if [ "$sha256" ]; then # file exists
|
|
|
|
echo " {"
|
|
|
|
echo " url = \"${url}\";"
|
|
|
|
echo " sha256 = \"$sha256\";"
|
|
|
|
echo " }"
|
|
|
|
else
|
|
|
|
echo " # pulumi-resource-${plug} skipped (does not exist on remote)"
|
|
|
|
fi
|
2020-04-24 23:36:52 +00:00
|
|
|
done
|
|
|
|
}
|
|
|
|
|
2021-03-09 03:18:52 +00:00
|
|
|
{
|
|
|
|
cat <<EOF
|
2020-04-24 23:36:52 +00:00
|
|
|
# DO NOT EDIT! This file is generated automatically by update.sh
|
|
|
|
{ }:
|
|
|
|
{
|
|
|
|
version = "${VERSION}";
|
|
|
|
pulumiPkgs = {
|
|
|
|
EOF
|
2021-09-18 10:52:07 +00:00
|
|
|
|
|
|
|
echo " x86_64-linux = ["
|
|
|
|
genMainSrc "linux" "x64"
|
|
|
|
genSrcs "linux" "amd64"
|
2021-03-09 03:18:52 +00:00
|
|
|
echo " ];"
|
2021-09-18 10:52:07 +00:00
|
|
|
|
2021-03-09 03:18:52 +00:00
|
|
|
echo " x86_64-darwin = ["
|
2021-09-18 10:52:07 +00:00
|
|
|
genMainSrc "darwin" "x64"
|
|
|
|
genSrcs "darwin" "amd64"
|
|
|
|
echo " ];"
|
2020-04-24 23:36:52 +00:00
|
|
|
|
2021-09-18 10:52:07 +00:00
|
|
|
echo " aarch64-linux = ["
|
|
|
|
genMainSrc "linux" "arm64"
|
|
|
|
genSrcs "linux" "arm64"
|
2021-03-09 03:18:52 +00:00
|
|
|
echo " ];"
|
2021-09-18 10:52:07 +00:00
|
|
|
|
|
|
|
echo " aarch64-darwin = ["
|
|
|
|
genMainSrc "darwin" "arm64"
|
|
|
|
genSrcs "darwin" "arm64"
|
|
|
|
echo " ];"
|
|
|
|
|
2021-03-09 03:18:52 +00:00
|
|
|
echo " };"
|
|
|
|
echo "}"
|
2021-09-18 10:52:07 +00:00
|
|
|
|
2021-03-09 03:18:52 +00:00
|
|
|
} > data.nix
|