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




                                                

                                                                                      


         
                                          


                  
                
                                       



                





                                                                                          
                                              
 
    
#!/usr/bin/env bash

if [ -z "$NIXOPS" ]; then
  echo "Please set NIXOPS to the nixops command"
  exit 1;
fi

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

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

trap finish EXIT

# 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"

"$@"