diff options
Diffstat (limited to 'nixops/scripts/nixops_wrap')
-rwxr-xr-x | nixops/scripts/nixops_wrap | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/nixops/scripts/nixops_wrap b/nixops/scripts/nixops_wrap new file mode 100755 index 00000000..d03784e7 --- /dev/null +++ b/nixops/scripts/nixops_wrap | |||
@@ -0,0 +1,36 @@ | |||
1 | #!/bin/bash | ||
2 | |||
3 | DeploymentUuid="cef694f3-081d-11e9-b31f-0242ec186adf" | ||
4 | if [ -z "$NIXOPS_CONFIG_PASS_SUBTREE_PATH" ]; then | ||
5 | echo "Please set NIXOPS_CONFIG_PASS_SUBTREE_PATH to the password-store subtree path" | ||
6 | exit 1; | ||
7 | fi | ||
8 | DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" | ||
9 | export NIXOPS_STATE="$(dirname $DIR)/state/eldiron.nixops" | ||
10 | export NIXOPS_DEPLOYMENT="$DeploymentUuid" | ||
11 | source $(dirname $(dirname $DIR))/nix_path_env | ||
12 | nixops="$(nix-build --no-out-link "$(dirname $DIR)/custom_nixops.nix")/bin/nixops" | ||
13 | |||
14 | TEMP=$(mktemp -d /tmp/XXXXXX-nixops-files) | ||
15 | chmod go-rwx $TEMP | ||
16 | |||
17 | # __noChroot: ssh-config-file requires relaxed | ||
18 | export NIX_PATH="ssh-config-file=$(dirname $DIR)/ssh/config:$NIX_PATH" | ||
19 | |||
20 | |||
21 | finish() { | ||
22 | rm -rf "$TEMP" | ||
23 | $nixops set-args --unset privateFiles | ||
24 | } | ||
25 | |||
26 | trap finish EXIT | ||
27 | |||
28 | # pass cannot "just" list files in a directory without showing a tree :( | ||
29 | files=$(pass ls $NIXOPS_CONFIG_PASS_SUBTREE_PATH/Nixops/files | sed -e '1d' -e 's/^.* //') | ||
30 | |||
31 | for file in $files; do | ||
32 | pass show "$NIXOPS_CONFIG_PASS_SUBTREE_PATH/Nixops/files/$file" > $TEMP/$file | ||
33 | done | ||
34 | $nixops set-args --argstr privateFiles "$TEMP" | ||
35 | |||
36 | $nixops "$@" | ||