aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jonas Gunz <himself@jonasgunz.de> 2020-07-27 20:47:52 +0200
committerGravatar Jonas Gunz <himself@jonasgunz.de> 2020-07-27 20:47:52 +0200
commit0c79996398479f184b890c30e998e6cc4cce1f65 (patch)
tree09c5df91d57314eb54eaccff8fc319a55e87beaa
parentce2f74f9da8a2289bdec2b52b36ea220602f7ccf (diff)
downloadltask-0c79996398479f184b890c30e998e6cc4cce1f65.tar.gz
moved tasks to seperate repo, support for external workdir
-rwxr-xr-xltask14
-rw-r--r--tasks/initial-user-setup40
-rw-r--r--tasks/jenkins26
-rw-r--r--tasks/reboot23
-rw-r--r--tasks/system-update33
5 files changed, 10 insertions, 126 deletions
diff --git a/ltask b/ltask
index 4716c63..bb82507 100755
--- a/ltask
+++ b/ltask
@@ -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