aboutsummaryrefslogtreecommitdiff
path: root/nixops
diff options
context:
space:
mode:
authorIsmaël Bouya <ismael.bouya@normalesup.org>2019-05-24 13:55:43 +0200
committerIsmaël Bouya <ismael.bouya@normalesup.org>2019-05-24 13:55:43 +0200
commitdb4f87d640a090c4b469595737503f4189923c45 (patch)
treeea82e39e954ea4cb1efa7ee3c49492480831c9e3 /nixops
parentc58dcd70150d63e01dfe01adbb38244598e6a881 (diff)
downloadNix-db4f87d640a090c4b469595737503f4189923c45.tar.gz
Nix-db4f87d640a090c4b469595737503f4189923c45.tar.zst
Nix-db4f87d640a090c4b469595737503f4189923c45.zip
Build nixops_custom on the fly
Diffstat (limited to 'nixops')
-rw-r--r--nixops/custom_nixops.nix2
-rwxr-xr-xnixops/scripts/nixops_wrap7
-rwxr-xr-xnixops/scripts/pull_deployment9
-rwxr-xr-xnixops/scripts/push_deployment3
-rwxr-xr-xnixops/scripts/setup7
5 files changed, 11 insertions, 17 deletions
diff --git a/nixops/custom_nixops.nix b/nixops/custom_nixops.nix
deleted file mode 100644
index f024a4d..0000000
--- a/nixops/custom_nixops.nix
+++ /dev/null
@@ -1,2 +0,0 @@
1with import <nixpkgs> { overlays = builtins.attrValues (import ../overlays); };
2nixops
diff --git a/nixops/scripts/nixops_wrap b/nixops/scripts/nixops_wrap
index 9cf3388..e75fa2f 100755
--- a/nixops/scripts/nixops_wrap
+++ b/nixops/scripts/nixops_wrap
@@ -9,14 +9,13 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
9export NIXOPS_STATE="$(dirname $DIR)/state/eldiron.nixops" 9export NIXOPS_STATE="$(dirname $DIR)/state/eldiron.nixops"
10export NIXOPS_DEPLOYMENT="$DeploymentUuid" 10export NIXOPS_DEPLOYMENT="$DeploymentUuid"
11source $(dirname $(dirname $DIR))/nix_path_env 11source $(dirname $(dirname $DIR))/nix_path_env
12nixops="$(nix-build --no-out-link "$(dirname $DIR)/custom_nixops.nix")/bin/nixops"
13 12
14TEMP=$(mktemp -d /tmp/XXXXXX-nixops-files) 13TEMP=$(mktemp -d /tmp/XXXXXX-nixops-files)
15chmod go-rwx $TEMP 14chmod go-rwx $TEMP
16 15
17finish() { 16finish() {
18 rm -rf "$TEMP" 17 rm -rf "$TEMP"
19 $nixops set-args --unset privateFiles 18 nixops_custom set-args --unset privateFiles
20} 19}
21 20
22trap finish EXIT 21trap finish EXIT
@@ -27,6 +26,6 @@ files=$(pass ls $NIXOPS_CONFIG_PASS_SUBTREE_PATH/Nixops/files | sed -e '1d' -e '
27for file in $files; do 26for file in $files; do
28 pass show "$NIXOPS_CONFIG_PASS_SUBTREE_PATH/Nixops/files/$file" > $TEMP/$file 27 pass show "$NIXOPS_CONFIG_PASS_SUBTREE_PATH/Nixops/files/$file" > $TEMP/$file
29done 28done
30$nixops set-args --argstr privateFiles "$TEMP" 29nixops_custom set-args --argstr privateFiles "$TEMP"
31 30
32$nixops "$@" 31nixops_custom "$@"
diff --git a/nixops/scripts/pull_deployment b/nixops/scripts/pull_deployment
index 10f71fe..ef0f221 100755
--- a/nixops/scripts/pull_deployment
+++ b/nixops/scripts/pull_deployment
@@ -9,18 +9,17 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
9export NIXOPS_STATE="$(dirname $DIR)/state/eldiron.nixops" 9export NIXOPS_STATE="$(dirname $DIR)/state/eldiron.nixops"
10export NIXOPS_DEPLOYMENT="$DeploymentUuid" 10export NIXOPS_DEPLOYMENT="$DeploymentUuid"
11source $(dirname $(dirname $DIR))/nix_path_env 11source $(dirname $(dirname $DIR))/nix_path_env
12nixops="$(nix-build --no-out-link "$(dirname $DIR)/custom_nixops.nix")/bin/nixops"
13 12
14export NIXOPS_STATE="$(dirname $DIR)/state/eldiron.nixops" 13export NIXOPS_STATE="$(dirname $DIR)/state/eldiron.nixops"
15 14
16if $nixops info -d $DeploymentUuid 2>/dev/null >/dev/null; then 15if nixops_custom info -d $DeploymentUuid 2>/dev/null >/dev/null; then
17 cat <<EOF 16 cat <<EOF
18This will remove your current deployment file and recreate it! 17This will remove your current deployment file and recreate it!
19Continue? [y/N] 18Continue? [y/N]
20EOF 19EOF
21 read y 20 read y
22 if [ "$y" = "y" -o "$y" = "Y" ]; then 21 if [ "$y" = "y" -o "$y" = "Y" ]; then
23 $nixops delete --force -d $DeploymentUuid 22 nixops_custom delete --force -d $DeploymentUuid
24 else 23 else
25 echo "Aborting" 24 echo "Aborting"
26 exit 1 25 exit 1
@@ -29,6 +28,6 @@ fi
29 28
30deployment=$(pass show $NIXOPS_CONFIG_PASS_SUBTREE_PATH/Nixops/Deployment) 29deployment=$(pass show $NIXOPS_CONFIG_PASS_SUBTREE_PATH/Nixops/Deployment)
31 30
32echo "$deployment" | $nixops import 31echo "$deployment" | nixops_custom import
33 32
34$nixops modify -d "$DeploymentUuid" "$(dirname $DIR)/eldiron.nix" 33nixops_custom modify -d "$DeploymentUuid" "$(dirname $DIR)/eldiron.nix"
diff --git a/nixops/scripts/push_deployment b/nixops/scripts/push_deployment
index 6c67fab..26f8cd2 100755
--- a/nixops/scripts/push_deployment
+++ b/nixops/scripts/push_deployment
@@ -9,6 +9,5 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
9export NIXOPS_STATE="$(dirname $DIR)/state/eldiron.nixops" 9export NIXOPS_STATE="$(dirname $DIR)/state/eldiron.nixops"
10export NIXOPS_DEPLOYMENT="$DeploymentUuid" 10export NIXOPS_DEPLOYMENT="$DeploymentUuid"
11source $(dirname $(dirname $DIR))/nix_path_env 11source $(dirname $(dirname $DIR))/nix_path_env
12nixops="$(nix-build --no-out-link "$(dirname $DIR)/custom_nixops.nix")/bin/nixops"
13 12
14$nixops export | pass insert -m $NIXOPS_CONFIG_PASS_SUBTREE_PATH/Nixops/Deployment 13nixops_custom export | pass insert -m $NIXOPS_CONFIG_PASS_SUBTREE_PATH/Nixops/Deployment
diff --git a/nixops/scripts/setup b/nixops/scripts/setup
index 58dbf55..72b19c0 100755
--- a/nixops/scripts/setup
+++ b/nixops/scripts/setup
@@ -95,11 +95,10 @@ fi
95 95
96DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" 96DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
97source $(dirname $(dirname $DIR))/nix_path_env 97source $(dirname $(dirname $DIR))/nix_path_env
98nixops="$(nix-build --no-out-link "$(dirname $DIR)/custom_nixops.nix")/bin/nixops"
99export NIXOPS_STATE="$(dirname $DIR)/state/eldiron.nixops" 98export NIXOPS_STATE="$(dirname $DIR)/state/eldiron.nixops"
100export NIXOPS_DEPLOYMENT="$DeploymentUuid" 99export NIXOPS_DEPLOYMENT="$DeploymentUuid"
101 100
102if ! $nixops info 2>/dev/null >/dev/null; then 101if ! nixops_custom info 2>/dev/null >/dev/null; then
103 cat <<-EOF 102 cat <<-EOF
104 Importing deployment file into nixops: 103 Importing deployment file into nixops:
105 Continue? [y/N] 104 Continue? [y/N]
@@ -107,9 +106,9 @@ if ! $nixops info 2>/dev/null >/dev/null; then
107 read y 106 read y
108 if [ "$y" = "y" -o "$y" = "Y" ]; then 107 if [ "$y" = "y" -o "$y" = "Y" ]; then
109 deployment=$(pass show $NIXOPS_CONFIG_PASS_SUBTREE_PATH/Nixops/Deployment) 108 deployment=$(pass show $NIXOPS_CONFIG_PASS_SUBTREE_PATH/Nixops/Deployment)
110 echo "$deployment" | $nixops import 109 echo "$deployment" | nixops_custom import
111 110
112 $nixops modify "$(dirname $DIR)/eldiron.nix" 111 nixops_custom modify "$(dirname $DIR)/eldiron.nix"
113 else 112 else
114 echo "Aborting" 113 echo "Aborting"
115 exit 1 114 exit 1