mirror of
https://github.com/wazuh/wazuh-docker.git
synced 2025-10-23 04:51:57 +00:00
93 lines
2.8 KiB
Bash
93 lines
2.8 KiB
Bash
#!/bin/bash
|
|
# Wazuh Docker Copyright (C) 2019 Wazuh Inc. (License GPLv2)
|
|
|
|
elastic_config_file="/usr/share/elasticsearch/config/elasticsearch.yml"
|
|
original_file="/usr/share/elasticsearch/config/original-elasticsearch.yml"
|
|
ELASTIC_HOSTAME=`hostname`
|
|
|
|
echo "CLUSTER: - Prepare Configuration"
|
|
echo "CLUSTER: - Hostname"
|
|
echo $ELASTIC_HOSTAME
|
|
echo "CLUSTER: - Security main node"
|
|
echo $SECURITY_MAIN_NODE
|
|
echo "CLUSTER: - Discovery seed"
|
|
echo $CLUSTER_DISCOVERY_SEED
|
|
echo "CLUSTER: - Elastic cluster flag"
|
|
echo $ELASTIC_CLUSTER
|
|
echo "CLUSTER: - Node Master"
|
|
echo $CLUSTER_NODE_MASTER
|
|
echo "CLUSTER: - Node Data"
|
|
echo $CLUSTER_NODE_DATA
|
|
echo "CLUSTER: - Node Ingest"
|
|
echo $CLUSTER_NODE_INGEST
|
|
|
|
cp $elastic_config_file $original_file
|
|
|
|
remove_single_node_conf(){
|
|
if grep -Fq "discovery.type" $1; then
|
|
sed -i '/discovery.type\: /d' $1
|
|
fi
|
|
}
|
|
|
|
remove_cluster_config(){
|
|
sed -i '/# cluster node/,/# end cluster config/d' $1
|
|
}
|
|
|
|
# If Elasticsearch cluster is enable, then set up the elasticsearch.yml
|
|
if [[ $ELASTIC_CLUSTER == "true" && $CLUSTER_NODE_MASTER != "" && $CLUSTER_NODE_DATA != "" && $CLUSTER_NODE_INGEST != "" && $ELASTIC_HOSTAME != "" ]]; then
|
|
# Remove the old configuration
|
|
remove_single_node_conf $elastic_config_file
|
|
remove_cluster_config $elastic_config_file
|
|
echo "CLUSTER: - Remove old configuration"
|
|
|
|
if [[ $ELASTIC_HOSTAME == $SECURITY_MAIN_NODE ]]; then
|
|
# Add the master configuration
|
|
# cluster.initial_master_nodes for bootstrap the cluster
|
|
echo "CLUSTER: - Add the master configuration"
|
|
|
|
cat > $elastic_config_file << EOF
|
|
# cluster node
|
|
cluster.name: $CLUSTER_NAME
|
|
bootstrap.memory_lock: $CLUSTER_MEMORY_LOCK
|
|
network.host: 0.0.0.0
|
|
node.name: $ELASTIC_HOSTAME
|
|
node.master: $CLUSTER_NODE_MASTER
|
|
node.data: $CLUSTER_NODE_DATA
|
|
node.ingest: $CLUSTER_NODE_INGEST
|
|
node.max_local_storage_nodes: $CLUSTER_MAX_NODES
|
|
cluster.initial_master_nodes:
|
|
- $ELASTIC_HOSTAME
|
|
# end cluster config"
|
|
EOF
|
|
|
|
elif [[ $CLUSTER_DISCOVERY_SEED != "" ]]; then
|
|
# Remove the old configuration
|
|
remove_single_node_conf $elastic_config_file
|
|
remove_cluster_config $elastic_config_file
|
|
echo "CLUSTER: - Add standard cluster configuration."
|
|
|
|
cat > $elastic_config_file << EOF
|
|
# cluster node
|
|
cluster.name: $CLUSTER_NAME
|
|
bootstrap.memory_lock: $CLUSTER_MEMORY_LOCK
|
|
network.host: 0.0.0.0
|
|
node.name: $ELASTIC_HOSTAME
|
|
node.master: $CLUSTER_NODE_MASTER
|
|
node.data: $CLUSTER_NODE_DATA
|
|
node.ingest: $CLUSTER_NODE_INGEST
|
|
node.max_local_storage_nodes: $CLUSTER_MAX_NODES
|
|
discovery.seed_hosts:
|
|
- $CLUSTER_DISCOVERY_SEED
|
|
# end cluster config"
|
|
EOF
|
|
fi
|
|
# If the cluster is disabled, then set a single-node configuration
|
|
else
|
|
# Remove the old configuration
|
|
remove_single_node_conf $elastic_config_file
|
|
remove_cluster_config $elastic_config_file
|
|
echo "discovery.type: single-node" >> $elastic_config_file
|
|
echo "CLUSTER: - Discovery type: single-node"
|
|
fi
|
|
|
|
echo "CLUSTER: - Configured" |