diff options
author | tv <tv@shackspace.de> | 2015-05-21 23:52:06 +0200 |
---|---|---|
committer | tv <tv@shackspace.de> | 2015-05-21 23:52:06 +0200 |
commit | f8b1e849a6a3bd53f24a4aac70bc904cdb5ff711 (patch) | |
tree | 826235e1b776665ab32ee787bb96cd3b6f519d95 /bin/copy-secrets | |
parent | ac764394050f6fc39e406799085259d3fc08956a (diff) |
deploy: merge next
Diffstat (limited to 'bin/copy-secrets')
-rwxr-xr-x | bin/copy-secrets | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/bin/copy-secrets b/bin/copy-secrets new file mode 100755 index 000000000..36854eaf1 --- /dev/null +++ b/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=$(nixos-query $host services.retiolum.privateKeyFile) +retiolum_uid=$(nixos-query $host users.extraUsers.retiolum-tinc.uid) + +ejabberd_secret=/etc/ejabberd/ejabberd.pem +ejabberd_uid=$(nixos-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 |