From ac764394050f6fc39e406799085259d3fc08956a Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 21 May 2015 22:33:16 +0200 Subject: next: initial commit --- modules/cd/default.nix | 2 +- modules/tv/ejabberd.nix | 4 ++-- modules/wu/users.nix | 2 +- next/bin/build | 22 ++++++++++++++++++++++ next/bin/copy-secrets | 28 ++++++++++++++++++++++++++++ next/bin/deploy | 16 ++++++++++++++++ next/bin/query | 20 ++++++++++++++++++++ next/profile | 11 +++++++++++ 8 files changed, 101 insertions(+), 4 deletions(-) create mode 100755 next/bin/build create mode 100755 next/bin/copy-secrets create mode 100755 next/bin/deploy create mode 100755 next/bin/query create mode 100755 next/profile diff --git a/modules/cd/default.nix b/modules/cd/default.nix index 3ee370443..7ceaf71f3 100644 --- a/modules/cd/default.nix +++ b/modules/cd/default.nix @@ -3,7 +3,7 @@ { imports = [ - + ./iptables.nix ./networking.nix ../common/nixpkgs.nix diff --git a/modules/tv/ejabberd.nix b/modules/tv/ejabberd.nix index e836d2cdd..008fe2cda 100644 --- a/modules/tv/ejabberd.nix +++ b/modules/tv/ejabberd.nix @@ -221,7 +221,7 @@ in %% file and uncomment this line: %% starttls, - {certfile, "/etc/nixos/secrets/ejabberd.cd.retiolum.pem"}, + {certfile, "/etc/ejabberd/ejabberd.pem"}, {access, c2s}, {shaper, c2s_shaper}, @@ -274,7 +274,7 @@ in %% %% s2s_certfile: Specify a certificate file. %% - {s2s_certfile, "/etc/nixos/secrets/ejabberd.cd.retiolum.pem"}. + {s2s_certfile, "/etc/ejabberd/ejabberd.pem"}. %% %% domain_certfile: Specify a different certificate for each served hostname. diff --git a/modules/wu/users.nix b/modules/wu/users.nix index 654d49cef..88f2b658e 100644 --- a/modules/wu/users.nix +++ b/modules/wu/users.nix @@ -210,7 +210,7 @@ in { imports = [ - + ]; users.defaultUserShell = "/run/current-system/sw/bin/bash"; diff --git a/next/bin/build b/next/bin/build new file mode 100755 index 000000000..40bbec344 --- /dev/null +++ b/next/bin/build @@ -0,0 +1,22 @@ +#! /bin/sh +# +# build : hostname -> system-path +# +set -euf + +host=$1 + +#target=root@$host + +nixos_config=$config_root/modules/$host +secrets_nix=$secrets_root/$host/nix +secrets_rsync=$secrets_root/$host/rsync + +nix-build \ + -I "$nixpkgs" \ + -I nixos-config="$nixos_config" \ + -I retiolum-hosts="$retiolum_hosts" \ + -I secrets="$secrets_nix" \ + -A system \ + --no-out-link \ + '' diff --git a/next/bin/copy-secrets b/next/bin/copy-secrets new file mode 100755 index 000000000..7398d4fb1 --- /dev/null +++ b/next/bin/copy-secrets @@ -0,0 +1,28 @@ +#! /bin/sh +set -euf + +host=$1 + +target=root@$host + +nixos_config=$config_root/modules/$host +secrets_nix=$secrets_root/$host/nix +secrets_rsync=$secrets_root/$host/rsync + +if ! test -e "$secrets_rsync"; then + exit # nothing to do +fi + +retiolum_secret=$(query $host services.retiolum.privateKeyFile) +retiolum_uid=$(query $host users.extraUsers.retiolum-tinc.uid) + +ejabberd_secret=/etc/ejabberd/ejabberd.pem +ejabberd_uid=$(query $host users.extraUsers.ejabberd.uid) + +rsync -cz --chown=0:0 -vr "$secrets_rsync/" "$target:/" + +ssh "$target" -T <' \ + --eval \ + --json \ + | jq -r . diff --git a/next/profile b/next/profile new file mode 100755 index 000000000..138c271f7 --- /dev/null +++ b/next/profile @@ -0,0 +1,11 @@ +#! /bin/sh +export PATH=$HOME/src/config/next/bin:$PATH +export nixpkgs=/var/nixpkgs +export config_root=$HOME/src/config +export retiolum_hosts=$HOME/src/config/hosts +export secrets_root=$HOME/src/config/secrets + +export PS1='\[\e[1;35m\]config>\[\e[m\] ' + +cd /var/empty +exec /bin/sh -- cgit v1.2.3 [cgit] Unable to lock slot /tmp/cgit/92100000.lock: No such file or directory (2)