#!/usr/bin/env bash set -e export DEBIAN_FRONTEND=noninteractive # shellcheck source=assets/build/functions.sh FUNCTIONS_FILE="${SALT_BUILD_DIR}/functions.sh" source "${FUNCTIONS_FILE}" log_info "Installing required packages and build dependencies ..." REQUIRED_PACKAGES=( libssl3 zlib1g libffi7 libpcre3 libgssapi3-heimdal ) BUILD_DEPENDENCIES=( make gcc g++ ) apt-get update install_pkgs "${REQUIRED_PACKAGES[@]}" "${BUILD_DEPENDENCIES[@]}" # Create salt user log_info "Creating ${SALT_USER} user ..." useradd -d "${SALT_HOME}" -ms /bin/bash -U -G root,sudo,shadow "${SALT_USER}" # Set PATH exec_as_salt cat >> "${SALT_HOME}/.profile" <> /etc/ssh/ssh_config # Configure logrotate log_info "Configuring logrotate ..." # move supervisord.log file to ${SALT_LOGS_DIR}/supervisor/ sed -i "s|^[#]*logfile=.*|logfile=${SALT_LOGS_DIR}/supervisor/supervisord.log ;|" /etc/supervisor/supervisord.conf # fix "unknown group 'syslog'" error preventing logrotate from functioning sed -i "s|^su root syslog$|su root root|" /etc/logrotate.conf # Configure supervisor log_info "Configuring supervisor ..." # configure supervisord to start salt-master cat > /etc/supervisor/conf.d/salt-master.conf < /etc/supervisor/conf.d/cron.conf <