diff options
author | tv <tv@shackspace.de> | 2015-05-21 22:33:16 +0200 |
---|---|---|
committer | tv <tv@shackspace.de> | 2015-05-21 22:33:16 +0200 |
commit | ac764394050f6fc39e406799085259d3fc08956a (patch) | |
tree | c5deade7085a8e63ef36a72afea58e09593c096a /next/bin/copy-secrets | |
parent | b27ec1aafa813740941d9194f1e7e113d5de8244 (diff) |
next: initial commit
Diffstat (limited to 'next/bin/copy-secrets')
-rwxr-xr-x | next/bin/copy-secrets | 28 |
1 files changed, 28 insertions, 0 deletions
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 <<EOF +set -euf +! test -f $retiolum_secret || chown -v $retiolum_uid:0 $retiolum_secret +! test -f $ejabberd_secret || chown -v $ejabberd_uid:0 $ejabberd_secret +EOF |