diff options
author | Jonas Gunz <himself@jonasgunz.de> | 2020-07-27 20:47:52 +0200 |
---|---|---|
committer | Jonas Gunz <himself@jonasgunz.de> | 2020-07-27 20:47:52 +0200 |
commit | 0c79996398479f184b890c30e998e6cc4cce1f65 (patch) | |
tree | 09c5df91d57314eb54eaccff8fc319a55e87beaa | |
parent | ce2f74f9da8a2289bdec2b52b36ea220602f7ccf (diff) | |
download | ltask-0c79996398479f184b890c30e998e6cc4cce1f65.tar.gz |
moved tasks to seperate repo, support for external workdir
-rwxr-xr-x | ltask | 14 | ||||
-rw-r--r-- | tasks/initial-user-setup | 40 | ||||
-rw-r--r-- | tasks/jenkins | 26 | ||||
-rw-r--r-- | tasks/reboot | 23 | ||||
-rw-r--r-- | tasks/system-update | 33 |
5 files changed, 10 insertions, 126 deletions
@@ -25,11 +25,8 @@ unset DIRNAME [ ! -f ./$(basename $0) ] && echo "Could not find working directory" && exit 1 -readonly BASEDIR=$(pwd) +BASEDIR=$(pwd) -export readonly TASK_DIR=$BASEDIR/tasks -export readonly ASSET_DIR=$BASEDIR/assets -export readonly TARGET_DIR=$BASEDIR/targets export readonly TOOL_DIR=$BASEDIR/tools export readonly INCLUDE_DIR=$BASEDIR/libs @@ -77,6 +74,7 @@ Options: a custom target -p Force parallel execution -h print this help text + -d DIR specify a different folder containing "tasks", "targets", and "assets" EOF exit $1 } @@ -99,6 +97,9 @@ for (( i=0; i < $ARGC;i++ )); do PARALLEL="yes";; -h) print_help 0;; + -d) + i=$((i+1)) + BASEDIR="${ARGV[$i]}";; *) echo Invalid Argument ${ARGV[$i]} echo $0 -h for help @@ -106,6 +107,11 @@ for (( i=0; i < $ARGC;i++ )); do esac done +# Set after BASEDIR might have been changed +export readonly TASK_DIR=$BASEDIR/tasks +export readonly ASSET_DIR=$BASEDIR/assets +export readonly TARGET_DIR=$BASEDIR/targets + if [ -z $TASK ]; then TASK_LIST=( $(ls $TASK_DIR) ) TARGET_LIST=( $(ls $TARGET_DIR) ) diff --git a/tasks/initial-user-setup b/tasks/initial-user-setup deleted file mode 100644 index 68a0d2a..0000000 --- a/tasks/initial-user-setup +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash - -function task_setup() { - SSH_USER=root - SSH_IDENTITY_FILE=$ASSET_DIR/id_jenkins - - FILES+=("$ASSET_DIR/id_user.pub" "$ASSET_DIR/id_jenkins.pub") - INCLUDES+=("$INCLUDE_DIR/pkgmanager") - - TASK_ISSET="yes" -} - -function task_exec() { - pkg_update - pkg_install sudo - - groupadd sudo - useradd -s /bin/bash -d /home/server -m -U -G sudo server - - tee /etc/sudoers.d/autosetup_sudoconf << EOF -# Configured by lTask -%sudo ALL=(ALL) NOPASSWD: ALL -EOF - su server << EOF -cd -mkdir .ssh; cd .ssh -touch authorized_keys -EOF - - cat id_user.pub >> /home/server/.ssh/authorized_keys - cat id_jenkins.pub >> /home/server/.ssh/authorized_keys - - echo > /etc/motd -} - -if [ -z $HOSTMODE ]; then - task_exec -else - task_setup -fi diff --git a/tasks/jenkins b/tasks/jenkins deleted file mode 100644 index d763377..0000000 --- a/tasks/jenkins +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -function task_exec() { - - cat id_jenkins.pub >> /home/server/.ssh/authorized_keys - -} - -function task_setup() { - # Available environment variables - # $ASSET_DIR - # $TOOL_DIR - - SSH_USER=server - SSH_IDENTITY_FILE=$ASSET_DIR/id_jenkins - - FILES+=("$ASSET_DIR/id_jenkins.pub") - - TASK_ISSET="yes" -} - -if [ -z $HOSTMODE ]; then - task_exec -else - task_setup -fi diff --git a/tasks/reboot b/tasks/reboot deleted file mode 100644 index 83c04fd..0000000 --- a/tasks/reboot +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -function task_exec() { - wall "Going down for reboot now." - sudo reboot -} - -function task_setup() { - # Available environment variables - # $ASSET_DIR - # $TOOL_DIR - - SSH_USER=server - SSH_IDENTITY_FILE=$ASSET_DIR/id_rsa - - TASK_ISSET="yes" -} - -if [ -z $HOSTMODE ]; then - task_exec -else - task_setup -fi diff --git a/tasks/system-update b/tasks/system-update deleted file mode 100644 index 8a8c55d..0000000 --- a/tasks/system-update +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/bash - -function task_exec() { - ret=0 - sudo pkg_update - ret=$(($ret + $?)) - - sudo pkg_upgrade - ret=$(($ret + $?)) - - exit $ret -} - -function task_setup() { - # Available environment variables - # $ASSET_DIR - # $TOOL_DIR - - INCLUDES+=("$INCLUDE_DIR/pkgmanager") - - SSH_USER=server - SSH_IDENTITY_FILE=$ASSET_DIR/id_jenkins - - PARALLEL="yes" - - TASK_ISSET="yes" -} - -if [ -z $HOSTMODE ]; then - task_exec -else - task_setup -fi |