feat: add Pulumi support

Signed-off-by: David Flanagan <david@rawkode.com>
This commit is contained in:
David Flanagan
2022-01-07 13:30:37 +00:00
committed by David Flanagan
parent cc4cabb713
commit 4074b5d264
3 changed files with 150 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
#!/usr/bin/env bash
set -xeo pipefail
if test -v PULUMI_CONFIG_PASSPHRASE || test -v PULUMI_CONFIG_PASSPHRASE_FILE; then
echo "PULUMI_CONFIG_PASSPHRASE is set, using a local login"
pulumi login --local
fi
# Using Pulumi SaaS
# We need to check for an existing stack with the name
# If it exists, refresh the config
# If it doesn't, create the stack
if test -v PULUMI_ACCESS_TOKEN; then
if (pulumi stack ls | grep -e "^${STACK_NAME}"); then
echo "Stack exists, let's refresh"
pulumi stack select ${PULUMI_STACK}
# Could be first deployment, so let's not worry about this failing
pulumi config refresh --force || true
else
echo "Stack does not exist, let's create"
pulumi stack init ${PULUMI_STACK}
fi
else
# Not using Pulumi SaaS, relying on local stack files
if test -v PULUMI_STACK_CREATE && test ! -f Pulumi.${PULUMI_STACK}.yaml; then
pulumi stack init ${PULUMI_STACK}
fi
fi
case $PULUMI_RUNTIME in
nodejs)
npm install
;;
*)
echo -n "unknown"
;;
esac
pulumi up --stack ${PULUMI_STACK} --yes