Skip to content

Commit 95b39d0

Browse files
committed
feat: Add MR_USER_BASE environment variable to override system-wide default for runners' local users base directory
1 parent 3394733 commit 95b39d0

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

mr.bash

+5-3
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ declare -rg MR_GIHUB_BASEURL="${MR_GIHUB_BASEURL:-https://github.com}"
2727
# runners' local username prefix, defaults to `runner-`
2828
declare -rg MR_USER_PREFIX="${MR_USER_PREFIX:-runner-}"
2929
# runners' local users base directory, overrides the `HOME` setting in `/etc/default/useradd`
30-
declare -rg MR_USER_BASE="${MR_USER_BASE:-$(useradd -D | grep '^HOME=' | cut -d= -f2-)}"
30+
declare -rg MR_USER_BASE
3131
# URL of this application
3232
declare -rg MR_URL='https://github.com/vbem/multi-runners'
3333

@@ -152,10 +152,12 @@ function mr::addUser {
152152
id -u "$user" &>/dev/null || break
153153
done
154154
fi
155+
useraddArgs=(-m -s /bin/bash -G 'runners,docker')
156+
[[ -n "$MR_USER_BASE" ]] && useraddArgs+=('-b' "$MR_USER_BASE")
155157
run::logFailed sudo tee /etc/sudoers.d/runners <<<'%runners ALL=(ALL) NOPASSWD:ALL' >/dev/null \
156158
&& run::logFailed sudo groupadd -f 'runners' >&2 \
157159
&& run::logFailed sudo groupadd -f 'docker' >&2 \
158-
&& run::log sudo useradd -b "$MR_USER_BASE" -m -s /bin/bash -G 'runners,docker' "$user" >&2 || return $?
160+
&& run::log sudo useradd "${useraddArgs[@]}" "$user" >&2 || return $?
159161
echo "$user"
160162
}
161163

@@ -320,7 +322,7 @@ Environment variables:
320322
MR_GIHUB_BASEURL=$MR_GIHUB_BASEURL
321323
MR_GIHUB_API_BASEURL=$MR_GIHUB_API_BASEURL
322324
MR_RELEASE_URL=${MR_RELEASE_URL:-<latest on github.com/actions/runner/releases>}
323-
MR_USER_BASE=$MR_USER_BASE
325+
MR_USER_BASE=${MR_USER_BASE:-<default in /etc/default/useradd>}
324326
MR_GITHUB_PAT=${MR_GITHUB_PAT::11}${MR_GITHUB_PAT:+***}
325327
326328
Sub-commands:

0 commit comments

Comments
 (0)