aboutsummaryrefslogtreecommitdiff
path: root/tasks/initial-user-setup
diff options
context:
space:
mode:
Diffstat (limited to 'tasks/initial-user-setup')
-rw-r--r--tasks/initial-user-setup53
1 files changed, 53 insertions, 0 deletions
diff --git a/tasks/initial-user-setup b/tasks/initial-user-setup
new file mode 100644
index 0000000..fb402bb
--- /dev/null
+++ b/tasks/initial-user-setup
@@ -0,0 +1,53 @@
+#!/bin/bash
+
+function task_exec() {
+ source /etc/os-release
+ case $ID in
+ arch)
+ pacman -Sy
+ INSTALL_CMD="pacman --noconfirm -S";;
+ debian)
+ apt update
+ INSTALL_CMD="apt-get install -y"
+ esac
+
+ PACKAGES="sudo vim git"
+ [ ! -z "$INSTALL_CMD" ] && $INSTALL_CMD $PACKAGES
+
+ 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
+}
+
+function task_setup() {
+ # Available environment variables
+ # $ASSET_DIR
+ # $TOOL_DIR
+
+ SSH_USER=root
+ #SSH_IDENTITY_FILE=$ASSET_DIR/id_jenkins
+
+ FILES+=("$ASSET_DIR/id_user.pub" "$ASSET_DIR/id_jenkins.pub")
+
+ TASK_ISSET="yes"
+}
+
+if [ -z $HOSTMODE ]; then
+ task_exec
+else
+ task_setup
+fi