#!/usr/bin/env bash # CONSTANTS BASEDIR=$(dirname "$0") CONTAINER='' IMPORT_FILE='' # FUNCTIONS function usage { echo "$(basename "$0") " } function parse_options { while [[ $# -gt 0 ]]; do case "$1" in --help | -h) usage && exit 0 ;; *) if [[ -z $CONTAINER ]]; then CONTAINER=$1 elif [[ -z $IMPORT_FILE ]]; then IMPORT_FILE=$1 else echo >&2 "Unknown option: $1" && usage && exit 2 fi ;; esac shift 1 # Move to the next argument done [[ -z $CONTAINER ]] && [[ ! -f $IMPORT_FILE ]] && (usage && exit 1) || true } function assert_fake_sympa { [[ $(fqdn) =~ topcode|x270 ]] && [[ -d /opt/miaou-incus ]] } function install_fake_additional { assert_fake_sympa || return echo 'install fake additional...' miaou-push $CONTAINER $HOME/.ssh/id_ed25519 /root/.ssh/ miaou-push $CONTAINER $HOME/.ssh/id_ed25519.pub /root/.ssh/ miaou-recipe "$CONTAINER" "$BASEDIR"/../recipe/sympa_ldap_auth_remote.recipe } function fix_dmarc_off { echo 'fix dmarc off...' miaou-recipe "$CONTAINER" "$BASEDIR"/../recipe/sympa_fix_dmarc_off.recipe } function fix_dkim_global_on { echo 'fix dkim global on...' miaou-recipe "$CONTAINER" "$BASEDIR"/../recipe/sympa_fix_dkim_global_on.recipe } # MAIN set -Eue parse_options $* "$BASEDIR"/miaou-install-sympa "$CONTAINER" import_base=$(basename $IMPORT_FILE) echo "copy import file: $import_base" miaou-push $CONTAINER $IMPORT_FILE /root/ echo "launch the import process" miaou-exec $CONTAINER -- /opt/miaou-sympa/tools/sympa_import.bash "/root/$import_base" fix_dmarc_off fix_dkim_global_on install_fake_additional