aboutsummaryrefslogblamecommitdiff
path: root/nixops/scripts/nixops_wrap
blob: e50b24687913c4fe7b0b9ea2697ddd09fe3e9359 (plain) (tree)
1
2
3
4
5
6
7
8
9

           
                                                     

                                                                                      


         
                                          

                  
                                                                       



                                                                      

                                                                                     
          
                
                                       



                


                                                          





                                                                                          
                                              
 
            
#!/bin/bash

DeploymentUuid="cef694f3-081d-11e9-b31f-0242ec186adf"
if [ -z "$NIXOPS_CONFIG_PASS_SUBTREE_PATH" ]; then
  echo "Please set NIXOPS_CONFIG_PASS_SUBTREE_PATH to the password-store subtree path"
  exit 1;
fi

TEMP=$(mktemp -d /tmp/XXXXXX-nixops-files)
chmod go-rwx $TEMP

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
source $(dirname $(dirname $DIR))/nix_path_env
# __noChroot: ssh-config-file requires relaxed
export NIX_PATH="ssh-config-file=$(dirname $DIR)/ssh/config:$NIX_PATH"

nixops="$(nix-build --no-out-link -A nixops "$(dirname $(dirname $DIR))")/bin/nixops"

finish() {
  rm -rf "$TEMP"
  $nixops set-args --unset privateFiles
}

trap finish EXIT

export NIXOPS_STATE="$(dirname $DIR)/state/eldiron.nixops"
export NIXOPS_DEPLOYMENT="$DeploymentUuid"

# pass cannot "just" list files in a directory without showing a tree :(
files=$(pass ls $NIXOPS_CONFIG_PASS_SUBTREE_PATH/Nixops/files | sed -e '1d' -e 's/^.* //')

for file in $files; do
  pass show "$NIXOPS_CONFIG_PASS_SUBTREE_PATH/Nixops/files/$file" > $TEMP/$file
done
$nixops set-args --argstr privateFiles "$TEMP"

$nixops "$@"