#!/usr/bin/env bash set -e source ${SALT_RUNTIME_DIR}/env-defaults.sh # Map salt user with host user function map_uidgid() { USERMAP_ORIG_UID=$(id -u ${SALT_USER}) USERMAP_ORIG_GID=$(id -g ${SALT_USER}) USERMAP_GID=${USERMAP_GID:-${USERMAP_UID:-$USERMAP_ORIG_GID}} USERMAP_UID=${USERMAP_UID:-$USERMAP_ORIG_UID} if [[ ${USERMAP_UID} != ${USERMAP_ORIG_UID} ]] || [[ ${USERMAP_GID} != ${USERMAP_ORIG_GID} ]]; then echo "Mapping UID and GID for ${SALT_USER}:${SALT_USER} to ${USERMAP_UID}:${USERMAP_GID}..." groupmod -o -g ${USERMAP_GID} ${SALT_USER} sed -i -e "s|:${USERMAP_ORIG_UID}:${USERMAP_GID}:|:${USERMAP_UID}:${USERMAP_GID}:|" /etc/passwd find ${SALT_HOME} -path ${SALT_DATA_DIR}/\* -prune -o -print0 | xargs -0 chown -h ${SALT_USER}: fi } # This function generates a master_sign key pair and its signature function gen_signed_keys() { local key_name=${1:-master} mkdir -p ${SALT_KEYS_DIR}/generated/ GENERATED_KEYS_DIR=$(mktemp -d -p ${SALT_KEYS_DIR}/generated/ -t ${key_name}.XXXXX) salt-key --gen-keys ${key_name} --gen-keys-dir ${GENERATED_KEYS_DIR} > /dev/null 2>&1 salt-key --gen-signature --auto-create --pub ${GENERATED_KEYS_DIR}/${key_name}.pub --signature-path ${GENERATED_KEYS_DIR} > /dev/null 2>&1 echo -n ${GENERATED_KEYS_DIR} } # This function repairs keys permissions and creates keys if neaded function setup_keys() { echo "Setting up keys..." sed -i \ -e "s|^[#]*master_sign_pubkey:.*$|# master_sign_pubkey -> overrided|" \ -e "s|^[#]*master_sign_key_name:.*$|# master_sign_key_name -> overrided|" \ -e "s|^[#]*master_pubkey_signature:.*$|# master_pubkey_signature -> overrided|" \ -e "s|^[#]*master_use_pubkey_signature:.*$|# master_use_pubkey_signature -> overrided|" \ ${SALT_ROOT_DIR}/master cat >> ${SALT_ROOT_DIR}/master <> ${SALT_ROOT_DIR}/master <