mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-11 07:25:23 +00:00
Today we explicitly export the HOSTNAME variable from scripts. This is probably a relic from the days when the scripts were not run on bash but instead assume a POSIX-compliant shell only where HOSTNAME is not guaranteed to exist. Yet, bash guarantees that HOSTNAME is set so we do not need to set it in scripts. This commit removes this legacy. Relates elastic/x-pack-elasticsearch#2047 Original commit: elastic/x-pack-elasticsearch@7b833e061c
86 lines
2.3 KiB
Bash
86 lines
2.3 KiB
Bash
#!/bin/bash
|
|
|
|
# Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
|
|
# or more contributor license agreements. Licensed under the Elastic License;
|
|
# you may not use this file except in compliance with the Elastic License.
|
|
|
|
SCRIPT="$0"
|
|
|
|
# SCRIPT may be an arbitrarily deep series of symlinks. Loop until we have the concrete path.
|
|
while [ -h "$SCRIPT" ] ; do
|
|
ls=`ls -ld "$SCRIPT"`
|
|
# Drop everything prior to ->
|
|
link=`expr "$ls" : '.*-> \(.*\)$'`
|
|
if expr "$link" : '/.*' > /dev/null; then
|
|
SCRIPT="$link"
|
|
else
|
|
SCRIPT=`dirname "$SCRIPT"`/"$link"
|
|
fi
|
|
done
|
|
|
|
# determine elasticsearch home
|
|
ES_HOME=`dirname "$SCRIPT"`/../..
|
|
|
|
# make ELASTICSEARCH_HOME absolute
|
|
ES_HOME=`cd "$ES_HOME"; pwd`
|
|
|
|
source "$ES_HOME/bin/elasticsearch.in.sh"
|
|
|
|
if [ -x "$JAVA_HOME/bin/java" ]; then
|
|
JAVA="$JAVA_HOME/bin/java"
|
|
else
|
|
JAVA=`which java`
|
|
fi
|
|
|
|
if [ ! -x "$JAVA" ]; then
|
|
echo "Could not find any executable java binary. Please install java in your PATH or set JAVA_HOME"
|
|
exit 1
|
|
fi
|
|
|
|
if [ -z "$ES_CLASSPATH" ]; then
|
|
echo "You must set the ES_CLASSPATH var" >&2
|
|
exit 1
|
|
fi
|
|
|
|
if [ -z "$CONF_DIR" ]; then
|
|
# Try to read package config files
|
|
if [ -f "/etc/sysconfig/elasticsearch" ]; then
|
|
CONF_DIR=/etc/elasticsearch
|
|
|
|
. "/etc/sysconfig/elasticsearch"
|
|
elif [ -f "/etc/default/elasticsearch" ]; then
|
|
CONF_DIR=/etc/elasticsearch
|
|
|
|
. "/etc/default/elasticsearch"
|
|
fi
|
|
fi
|
|
|
|
# include x-pack jars in classpath
|
|
ES_CLASSPATH="$ES_CLASSPATH:$ES_HOME/plugins/x-pack/*"
|
|
|
|
# don't let JAVA_TOOL_OPTIONS slip in (e.g. crazy agents in ubuntu)
|
|
# works around https://bugs.launchpad.net/ubuntu/+source/jayatana/+bug/1441487
|
|
if [ "x$JAVA_TOOL_OPTIONS" != "x" ]; then
|
|
echo "Warning: Ignoring JAVA_TOOL_OPTIONS=$JAVA_TOOL_OPTIONS"
|
|
echo "Please pass JVM parameters via ES_JAVA_OPTS instead"
|
|
unset JAVA_TOOL_OPTIONS
|
|
fi
|
|
|
|
# CONF_FILE setting was removed
|
|
if [ ! -z "$CONF_FILE" ]; then
|
|
echo "CONF_FILE setting is no longer supported. elasticsearch.yml must be placed in the config directory and cannot be renamed."
|
|
exit 1
|
|
fi
|
|
|
|
declare -a args=("$@")
|
|
|
|
if [ -e "$CONF_DIR" ]; then
|
|
args=("${args[@]}" --path.conf "$CONF_DIR")
|
|
fi
|
|
|
|
cd "$ES_HOME" > /dev/null
|
|
"$JAVA" $ES_JAVA_OPTS -cp "$ES_CLASSPATH" -Des.path.home="$ES_HOME" org.elasticsearch.xpack.ssl.CertificateTool "${args[@]}"
|
|
status=$?
|
|
cd - > /dev/null
|
|
exit $status
|