summaryrefslogtreecommitdiff
path: root/global/overlay/etc/cosmos/apt/bootstrap-cosmos.sh
diff options
context:
space:
mode:
Diffstat (limited to 'global/overlay/etc/cosmos/apt/bootstrap-cosmos.sh')
-rwxr-xr-xglobal/overlay/etc/cosmos/apt/bootstrap-cosmos.sh42
1 files changed, 42 insertions, 0 deletions
diff --git a/global/overlay/etc/cosmos/apt/bootstrap-cosmos.sh b/global/overlay/etc/cosmos/apt/bootstrap-cosmos.sh
new file mode 100755
index 0000000..28cbde0
--- /dev/null
+++ b/global/overlay/etc/cosmos/apt/bootstrap-cosmos.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+set -e
+
+cmd_hostname="$1"
+if test -z "$cmd_hostname"; then
+ echo "Usage: $0 HOSTNAME REPO TAGPATTERN"
+ exit 1
+fi
+
+cmd_repo="$2"
+if test -z "$cmd_repo"; then
+ 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 wget
+dpkg -i cosmos_1.2-2_all.deb
+
+if ! test -d /var/cache/cosmos/repo; then
+ cosmos clone "$cmd_repo"
+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=\"${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
+
+(date; nohup cosmos -v update && nohup cosmos -v apply; date) 2>&1 | tee /var/log/cosmos.log
+
+
+exit 0