diff options
Diffstat (limited to 'old/infest-cac-CentOS-7-64bit.sh')
| -rwxr-xr-x | old/infest-cac-CentOS-7-64bit.sh | 51 | 
1 files changed, 51 insertions, 0 deletions
| diff --git a/old/infest-cac-CentOS-7-64bit.sh b/old/infest-cac-CentOS-7-64bit.sh new file mode 100755 index 000000000..1e96e0e20 --- /dev/null +++ b/old/infest-cac-CentOS-7-64bit.sh @@ -0,0 +1,51 @@ +#! /bin/sh +set -xeuf + +serverspec=$1 +systemname=$2 + +( +  PATH=$PWD/bin:$PATH +  export PATH + +  # Notice NIX_PATH used from host +  # Notice secrets required to evaluate configuration +  NIX_PATH=$NIX_PATH:nixos-config=$PWD/modules/$systemname +  NIX_PATH=$NIX_PATH:secrets=$PWD/secrets/$systemname/nix +  export NIX_PATH + +  case $(nixos-query nixpkgs.dirty) in true) +    echo "$0: cannot use nixpkgs.dirty" >&2 # b/c ./cac pushconfig +    exit -1 +  esac + +  prefetch nixpkgs tmp/nixpkgs/$systemname +) + +./cac poll 10s 2>/dev/null & +pollpid=$! +trap "kill $pollpid; trap - EXIT" EXIT + +./cac waitstatus $serverspec 'Powered On' + +# TODO don't set label/mode if they're already good +./cac setlabel $serverspec $systemname +./cac setmode $systemname normal +./cac generatenetworking $systemname > modules/$systemname/networking.nix + +cat infest.d/cac-CentOS-7-64bit/prepare.sh | ./cac ssh $systemname \ +  nix_url=https://nixos.org/releases/nix/nix-1.9/nix-1.9-x86_64-linux.tar.bz2 \ +  nix_sha256=5c76611c631e79aef5faf3db2d253237998bbee0f61fa093f925fa32203ae32b \ +  /bin/sh + +./cac pushconfig $systemname /mnt + +# This needs to be run twice because (at least): +#   Initialized empty Git repository in /var/lib/git/$reponame +#   chown: invalid user: 'git:nogroup' +cat infest.d/nixos-install.sh | ./cac ssh $systemname || : +cat infest.d/nixos-install.sh | ./cac ssh $systemname + +cat infest.d/cac-CentOS-7-64bit/finalize.sh | ./cac ssh $systemname + +./cac powerop $systemname reset | 
