mirror of
				https://github.com/wazuh/wazuh-docker.git
				synced 2025-11-03 21:43:15 +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" |