| #!/bin/bash |
|
|
| |
| export http_proxy=""; export https_proxy=""; export no_proxy=""; export HTTP_PROXY=""; export HTTPS_PROXY=""; export NO_PROXY="" |
|
|
| echo "Elasticsearch built-in user: elastic:${ELASTIC_PASSWORD}" |
|
|
| |
| while true; do |
| response=$(curl -s -v -w "\n%{http_code}" -u "elastic:${ELASTIC_PASSWORD}" "http://es01:9200") |
| exit_code=$? |
| status=$(echo "$response" | tail -n1) |
| if [ $exit_code -eq 0 ] && [ "$status" = "200" ]; then |
| echo "Elasticsearch is healthy" |
| break |
| else |
| echo "Elasticsearch is unhealthy: $exit_code $status" |
| echo "$response" |
| sleep 5 |
| fi |
| done |
|
|
| |
| |
| echo "Going to create Elasticsearch role own_indices with all privileges to all indices" |
| while true; do |
| response=$(curl -s -v -w "\n%{http_code}" -u "elastic:${ELASTIC_PASSWORD}" -X POST http://es01:9200/_security/role/own_indices -H 'Content-Type: application/json' -d '{"indices": [{"names": ["*"], "privileges": ["all"]}]}') |
| exit_code=$? |
| status=$(echo "$response" | tail -n1) |
| if [ $exit_code -eq 0 ] && [ "$status" = "200" ]; then |
| echo "Elasticsearch role own_indices created" |
| break |
| else |
| echo "Elasticsearch role own_indices failure: $exit_code $status" |
| echo "$response" |
| sleep 5 |
| fi |
| done |
|
|
| echo "Elasticsearch role own_indices:" |
| curl -u "elastic:${ELASTIC_PASSWORD}" -X GET "http://es01:9200/_security/role/own_indices" |
| echo "" |
|
|
| PAYLOAD="{\"password\": \"${KIBANA_PASSWORD}\", \"roles\": [\"kibana_admin\", \"kibana_system\", \"own_indices\"], \"full_name\": \"${KIBANA_USER}\", \"email\": \"${KIBANA_USER}@example.com\"}" |
|
|
| echo "Going to create Elasticsearch user ${KIBANA_USER}: ${PAYLOAD}" |
|
|
| |
| while true; do |
| response=$(curl -s -v -w "\n%{http_code}" -u "elastic:${ELASTIC_PASSWORD}" -X POST http://es01:9200/_security/user/${KIBANA_USER} -H "Content-Type: application/json" -d "${PAYLOAD}") |
| exit_code=$? |
| status=$(echo "$response" | tail -n1) |
| if [ $exit_code -eq 0 ] && [ "$status" = "200" ]; then |
| echo "Elasticsearch user ${KIBANA_USER} created" |
| break |
| else |
| echo "Elasticsearch user ${KIBANA_USER} failure: $exit_code $status" |
| echo "$response" |
| sleep 5 |
| fi |
| done |
|
|
| echo "Elasticsearch user ${KIBANA_USER}:" |
| curl -u "elastic:${ELASTIC_PASSWORD}" -X GET "http://es01:9200/_security/user/${KIBANA_USER}" |
| echo "" |
|
|
| exit 0 |
|
|