28 lines
537 B
Bash
Executable File
28 lines
537 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
TOP="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)/.."
|
|
|
|
if [ $# = 0 ]; then
|
|
echo "usage: deploy.sh name ..."
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -f $TOP/clusters/$1/default.nix ]; then
|
|
echo "error: $1 does not contain a deployment"
|
|
exit 1
|
|
fi
|
|
|
|
cd $TOP/clusters/$1
|
|
|
|
nixops list | grep -q $1
|
|
if [ $? = 0 ]; then
|
|
echo "--- Updating deployment"
|
|
nixops modify -d $1 .
|
|
else
|
|
echo "--- Creating deployment"
|
|
nixops create -d $1 .
|
|
fi
|
|
|
|
echo "--- Deploying $1"
|
|
nixops deploy -k -d $* --allow-reboot
|