feat: add Pulumi support
Signed-off-by: David Flanagan <david@rawkode.com>
This commit is contained in:
committed by
David Flanagan
parent
cc4cabb713
commit
4074b5d264
40
pkg/universe.dagger.io/x/david@rawkode.dev/pulumi/up.sh
Normal file
40
pkg/universe.dagger.io/x/david@rawkode.dev/pulumi/up.sh
Normal 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
|
Reference in New Issue
Block a user