diff options
author | Leif Johansson <leifj@sunet.se> | 2013-10-31 23:28:46 +0100 |
---|---|---|
committer | Leif Johansson <leifj@sunet.se> | 2013-10-31 23:28:46 +0100 |
commit | dd2d34287b88b82f299f14baae116cb8244cb385 (patch) | |
tree | 02834d4103d2f65e78894ebe55f1c4353bf05c5b | |
parent | 3a8ff2b979f678a818dd7b4965f633dd3ed6cda1 (diff) | |
parent | 54000987a08f43e33d6c41ef18f0510f6ce7c540 (diff) |
Merge branch 'multiverse'sunet-ops-2013-10-31-v21
-rwxr-xr-x | addhost | 21 | ||||
-rwxr-xr-x | apt/bootstrap-cosmos.sh | 12 | ||||
-rwxr-xr-x | global/post-tasks.d/015cosmos-trust | 2 |
3 files changed, 24 insertions, 11 deletions
@@ -2,15 +2,17 @@ cmd_hostname="" cmd_do_bootstrap="no" +cmd_fqdn="" -set -- $(getopt b?h? "$@") +set -- $(getopt b?h?n: "$@") while [ $# -gt 0 ]; do case "$1" in (-h) echo "Usage: $0 [-h] [-b] [--] [<host>]"; exit 0;; (-b) cmd_do_bootstrap="yes" ;; + (-n) cmd_fqdn="$2" ; shift ;; (--) shift; break;; - (-*) echo "Unknown option $1\nUsage: $0 [-b] [-h] [--] <host>"; exit 1;; + (-*) echo "Unknown option $1\nUsage: $0 [-b] [-h] [-n fqdn] [--] <host>"; exit 1;; (*) break;; esac shift @@ -20,8 +22,12 @@ if [ ! -z "$1" -a -z "$cmd_hostname" ]; then cmd_hostname="$1" fi +if [ ! -z "$cmd_hostname" -a -z "$cmd_fqdn" ]; then + cmd_fqdn="$cmd_hostname" +fi + if test -z "$cmd_hostname"; then - echo "Usage: $0 [-h] [-b] [--] <host>" + echo "Usage: $0 [-h] [-b] [-n fqdn] [--] <host>" exit 1 fi @@ -29,17 +35,18 @@ test -f cosmos.conf && . ./cosmos.conf defrepo=`git remote -v | grep ${remote:="ro"} | grep fetch | awk '{print $2}'` rrepo=${repo:="$defrepo"} +rtag=${tag:="changeme"} if [ ! -d $cmd_hostname ]; then - cp -pr default $cmd_hostname - git add $cmd_hostname - git commit -m "$cmd_hostname added" $cmd_hostname + cp -pr default $cmd_fqdn + git add $cmd_fqdn + git commit -m "$cmd_fqdn added" $cmd_fqdn ./bump-tag fi if [ "$cmd_do_bootstrap" = "yes" ]; then scp apt/cosmos_1.2-2_all.deb apt/bootstrap-cosmos.sh root@$cmd_hostname: - ssh root@$cmd_hostname ./bootstrap-cosmos.sh $cmd_hostname $rrepo + ssh root@$cmd_hostname ./bootstrap-cosmos.sh $cmd_fqdn $rrepo $rtag ssh root@$cmd_hostname cosmos update ssh root@$cmd_hostname cosmos apply fi diff --git a/apt/bootstrap-cosmos.sh b/apt/bootstrap-cosmos.sh index 5b6bc50..1e7b941 100755 --- a/apt/bootstrap-cosmos.sh +++ b/apt/bootstrap-cosmos.sh @@ -4,16 +4,22 @@ set -e cmd_hostname="$1" if test -z "$cmd_hostname"; then - echo "Usage: $0 HOSTNAME REPO" + echo "Usage: $0 HOSTNAME REPO TAGPATTERN" exit 1 fi cmd_repo="$2" if test -z "$cmd_repo"; then - echo "Usage $0 HOSTNAME REPO" + echo "Usage $0 HOSTNAME REPO TAGPATTERN" exit 2 fi +cmd_tags="$3" +if test -z "$cmd_tags"; then + echo "Usage $0 HOSTNAME REPO TAGPATTERN" + exit 3 +fi + set -x apt-get -y install rsync git-core @@ -26,7 +32,7 @@ fi hostname $cmd_hostname perl -pi -e "s,#COSMOS_REPO_MODELS=.*,COSMOS_REPO_MODELS=\"\\\$COSMOS_REPO/global/:\\\$COSMOS_REPO/$cmd_hostname/\"," /etc/cosmos/cosmos.conf -perl -pi -e 's,#COSMOS_UPDATE_VERIFY_GIT_TAG_PATTERN=.*,COSMOS_UPDATE_VERIFY_GIT_TAG_PATTERN="eduid-cosmos*",' /etc/cosmos/cosmos.conf +perl -pi -e 's,#COSMOS_UPDATE_VERIFY_GIT_TAG_PATTERN=.*,COSMOS_UPDATE_VERIFY_GIT_TAG_PATTERN="${cmd_tags}*",' /etc/cosmos/cosmos.conf env COSMOS_BASE=/var/cache/cosmos COSMOS_KEYS=/var/cache/cosmos/repo/global/overlay/etc/cosmos/keys /var/cache/cosmos/repo/global/post-tasks.d/015cosmos-trust diff --git a/global/post-tasks.d/015cosmos-trust b/global/post-tasks.d/015cosmos-trust index dfd8a13..447d875 100755 --- a/global/post-tasks.d/015cosmos-trust +++ b/global/post-tasks.d/015cosmos-trust @@ -11,7 +11,7 @@ done for fp in `cosmos gpg --with-colons --fingerprint | awk -F: '$1 == "pub" {print $5}'`; do seen="no" - for k in /etc/cosmos/keys/*.pub; do + for k in $COSMOS_KEYS/*.pub; do cosmos gpg --with-colons --with-fingerprint < $k | grep -q ":$fp:" && seen="yes" done if [ "x$seen" = "xno" ]; then |