From c9f861e832edf6dd03433b576218f2e56d9e3a36 Mon Sep 17 00:00:00 2001 From: Lucas Di Pentima Date: Fri, 19 May 2023 11:57:03 -0300 Subject: [PATCH] 20482: Overrides shellinabox config templates to fix the domain name usage. Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima --- .../default/shell-pam-shellinabox.tmpl.jinja | 35 +++++++++++++++++++ .../default/shell-shellinabox.tmpl.jinja | 16 +++++++++ tools/salt-install/provision.sh | 8 +++++ 3 files changed, 59 insertions(+) create mode 100644 tools/salt-install/config_examples/multi_host/aws/tofs/arvados/shell/config/files/default/shell-pam-shellinabox.tmpl.jinja create mode 100644 tools/salt-install/config_examples/multi_host/aws/tofs/arvados/shell/config/files/default/shell-shellinabox.tmpl.jinja diff --git a/tools/salt-install/config_examples/multi_host/aws/tofs/arvados/shell/config/files/default/shell-pam-shellinabox.tmpl.jinja b/tools/salt-install/config_examples/multi_host/aws/tofs/arvados/shell/config/files/default/shell-pam-shellinabox.tmpl.jinja new file mode 100644 index 0000000000..f42bde7a3c --- /dev/null +++ b/tools/salt-install/config_examples/multi_host/aws/tofs/arvados/shell/config/files/default/shell-pam-shellinabox.tmpl.jinja @@ -0,0 +1,35 @@ +{# +########################################################## +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: CC-BY-SA-3.0 +#} +######################################################################## +# File managed by Salt at <{{ source }}>. +# Your changes will be overwritten. +######################################################################## +auth optional pam_faildelay.so delay=3000000 +auth [success=ok new_authtok_reqd=ok ignore=ignore user_unknown=bad default=die] pam_securetty.so +auth requisite pam_nologin.so +session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so close +session required pam_env.so readenv=1 +session required pam_env.so readenv=1 envfile=/etc/default/locale + +# yamllint disable rule:line-length +auth [success=1 default=ignore] /usr/lib/pam_arvados.so {{ arvados.cluster.domain }} shell.{{ arvados.cluster.domain }} +# yamllint enable rule:line-length +auth requisite pam_deny.so +auth required pam_permit.so + +auth optional pam_group.so +session required pam_limits.so +session optional pam_lastlog.so +session optional pam_motd.so motd=/run/motd.dynamic +session optional pam_motd.so +session optional pam_mail.so standard + +@include common-account +@include common-session +@include common-password + +session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so open diff --git a/tools/salt-install/config_examples/multi_host/aws/tofs/arvados/shell/config/files/default/shell-shellinabox.tmpl.jinja b/tools/salt-install/config_examples/multi_host/aws/tofs/arvados/shell/config/files/default/shell-shellinabox.tmpl.jinja new file mode 100644 index 0000000000..b600d76291 --- /dev/null +++ b/tools/salt-install/config_examples/multi_host/aws/tofs/arvados/shell/config/files/default/shell-shellinabox.tmpl.jinja @@ -0,0 +1,16 @@ +{# +########################################################## +# Copyright (C) The Arvados Authors. All rights reserved. +# +# SPDX-License-Identifier: CC-BY-SA-3.0 +#} +######################################################################## +# File managed by Salt at <{{ source }}>. +# Your changes will be overwritten. +######################################################################## +# Should shellinaboxd start automatically +SHELLINABOX_DAEMON_START=1 +# TCP port that shellinboxd's webserver listens on +SHELLINABOX_PORT={{ arvados.shell.shellinabox.service.port }} +# SSL is disabled because it is terminated in Nginx. Adjust as needed. +SHELLINABOX_ARGS="--disable-ssl --no-beep --service=/shell.{{ arvados.cluster.domain }}:AUTH:HOME:SHELL" diff --git a/tools/salt-install/provision.sh b/tools/salt-install/provision.sh index 9824b2b827..f90386652b 100755 --- a/tools/salt-install/provision.sh +++ b/tools/salt-install/provision.sh @@ -396,10 +396,12 @@ fi if [ "x${VAGRANT}" = "xyes" ]; then EXTRA_STATES_DIR="/home/vagrant/${CONFIG_DIR}/states" SOURCE_PILLARS_DIR="/home/vagrant/${CONFIG_DIR}/pillars" + SOURCE_TOFS_DIR="/home/vagrant/${CONFIG_DIR}/tofs" SOURCE_TESTS_DIR="/home/vagrant/${TESTS_DIR}" else EXTRA_STATES_DIR="${SCRIPT_DIR}/${CONFIG_DIR}/states" SOURCE_PILLARS_DIR="${SCRIPT_DIR}/${CONFIG_DIR}/pillars" + SOURCE_TOFS_DIR="${SCRIPT_DIR}/${CONFIG_DIR}/tofs" SOURCE_TESTS_DIR="${SCRIPT_DIR}/${TESTS_DIR}" fi @@ -545,6 +547,12 @@ fi # As we need to separate both states and pillars in case we want specific # roles, we iterate on both at the same time +# Formula template overrides (TOFS) +# See: https://template-formula.readthedocs.io/en/latest/TOFS_pattern.html#template-override +if [ -d ${SOURCE_TOFS_DIR} ]; then + find ${SOURCE_TOFS_DIR} -mindepth 1 -maxdepth 1 -type d -exec cp -r "{}" ${S_DIR} \; +fi + # States cat > ${S_DIR}/top.sls << EOFTSLS base: -- 2.30.2