Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/elastic_stack/wait-for-elasticsearch.sh')
-rwxr-xr-xvendor/elastic_stack/wait-for-elasticsearch.sh23
1 files changed, 23 insertions, 0 deletions
diff --git a/vendor/elastic_stack/wait-for-elasticsearch.sh b/vendor/elastic_stack/wait-for-elasticsearch.sh
new file mode 100755
index 00000000000..1423af2e10b
--- /dev/null
+++ b/vendor/elastic_stack/wait-for-elasticsearch.sh
@@ -0,0 +1,23 @@
+#!/bin/bash
+# http://redsymbol.net/articles/unofficial-bash-strict-mode/
+IFS=$'\n\t'
+set -euo pipefail
+
+HOST="$1"
+
+printf 'Waiting for ES to be reachable ...'
+until $(wget -O- -q "$HOST" &>/dev/null); do
+ printf '.'
+ sleep 1
+done
+echo " OK!"
+
+printf 'Waiting for ES to be healthy ...'
+while : ; do
+ HEALTH="$(wget -O- -q "$HOST/_cat/health?h=status" 2> /dev/null)"
+ HEALTH="$(echo "$HEALTH" | sed -r 's/^[[:space:]]+|[[:space:]]+$//g')" # trim whitespace (otherwise we'll have "green ")
+ ([ "$HEALTH" != "green" ] && printf '.' && sleep 1) || break
+done
+echo " OK!"
+
+echo "Elastic Search is up!"