#!/usr/bin/with-contenv bash ############################################################################## # Migration sequence # Detect if there is a mounted volume on /wazuh-migration and copy the data # to /var/wazuh-manager, finally it will create a flag ".migration-completed" inside # the mounted volume ############################################################################## function __colortext() { echo -e " \e[1;$2m$1\e[0m" } function echogreen() { echo $(__colortext "$1" "32") } function echoyellow() { echo $(__colortext "$1" "33") } function echored() { echo $(__colortext "$1" "31") } function_wazuh_migration(){ if [ -d "/wazuh-migration" ]; then if [ ! -e /wazuh-migration/.migration-completed ]; then if [ ! -e /wazuh-migration/global.db ]; then echoyellow "The volume mounted on /wazuh-migration does not contain all the correct files." return fi \cp -f /wazuh-migration/data/etc/wazuh-manager.conf /var/wazuh-manager/etc/wazuh-manager.conf chown root:wazuh-manager /var/wazuh-manager/etc/wazuh-manager.conf chmod 640 /var/wazuh-manager/etc/wazuh-manager.conf \cp -f /wazuh-migration/data/etc/client.keys /var/wazuh-manager/etc/client.keys chown wazuh-manager:wazuh-manager /var/wazuh-manager/etc/client.keys chmod 640 /var/wazuh-manager/etc/client.keys \cp -f /wazuh-migration/data/etc/sslmanager.cert /var/wazuh-manager/etc/sslmanager.cert \cp -f /wazuh-migration/data/etc/sslmanager.key /var/wazuh-manager/etc/sslmanager.key chown root:root /var/wazuh-manager/etc/sslmanager.cert /var/wazuh-manager/etc/sslmanager.key chmod 640 /var/wazuh-manager/etc/sslmanager.cert /var/wazuh-manager/etc/sslmanager.key \cp -f /wazuh-migration/data/etc/shared/default/agent.conf /var/wazuh-manager/etc/shared/default/agent.conf chown wazuh-manager:wazuh-manager /var/wazuh-manager/etc/shared/default/agent.conf chmod 660 /var/wazuh-manager/etc/shared/default/agent.conf \cp -f /wazuh-migration/data/etc/decoders/* /var/wazuh-manager/etc/decoders/ chown wazuh-manager:wazuh-manager /var/wazuh-manager/etc/decoders/* chmod 660 /var/wazuh-manager/etc/decoders/* \cp -f /wazuh-migration/data/etc/rules/* /var/wazuh-manager/etc/rules/ chown wazuh-manager:wazuh-manager /var/wazuh-manager/etc/rules/* chmod 660 /var/wazuh-manager/etc/rules/* \cp -f /wazuh-migration/global.db /var/wazuh-manager/queue/db/global.db chown wazuh-manager:wazuh-manager /var/wazuh-manager/queue/db/global.db chmod 640 /var/wazuh-manager/queue/db/global.db # mark volume as migrated touch /wazuh-migration/.migration-completed echogreen "Migration completed succesfully" else echoyellow "This volume has already been migrated. You may proceed and remove it from the mount point (/wazuh-migration)" fi fi } function_entrypoint_scripts() { # It will run every .sh script located in entrypoint-scripts folder in lexicographical order if [ -d "/entrypoint-scripts/" ] then for script in `ls /entrypoint-scripts/*.sh | sort -n`; do bash "$script" done fi } function_configure_vulnerability_detection() { if [ "$INDEXER_PASSWORD" != "" ]; then >&2 echo "Configuring password." echo "$INDEXER_USERNAME" | /var/wazuh-manager/bin/wazuh-manager-keystore -f indexer -k username echo "$INDEXER_PASSWORD" | /var/wazuh-manager/bin/wazuh-manager-keystore -f indexer -k password fi } # Migrate data from /wazuh-migration volume function_wazuh_migration # configure Vulnerabilty detection function_configure_vulnerability_detection # run entrypoint scripts function_entrypoint_scripts # Start Wazuh /var/wazuh-manager/bin/wazuh-manager-control start