aboutsummaryrefslogtreecommitdiff
path: root/textproc/elasticsearch5/files/elasticsearch.in
blob: 9a1643ab1a0343a391be023502700e1e467d85bb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#!/bin/sh
#
# $FreeBSD$
#
# PROVIDE: elasticsearch
# REQUIRE: NETWORKING SERVERS
# BEFORE: DAEMON
# KEYWORD: shutdown
#
# Add the following line to /etc/rc.conf to enable elasticsearch:
#
# elasticsearch_enable="YES"
#
# elasticsearch_user (username): Set to elasticsearch by default.
#               Set it to required username.
# elasticsearch_group (group):   Set to elasticsearch by default.
#               Set it to required group.
# elasticsearch_config (path):   Set to %%PREFIX%%/etc/elasticsearch/elasticsearch.yml by default.
#               Set it to the config file location.
# elasticsearch_tmp (path):  Set to /var/tmp/elasticsearch by default.
#		Set it to the path to be used for temp files.
#
. /etc/rc.subr

name=elasticsearch
rcvar=elasticsearch_enable

load_rc_config ${name}

: ${elasticsearch_enable:=NO}
: ${elasticsearch_user=elasticsearch}
: ${elasticsearch_group=elasticsearch}
: ${elasticsearch_config=%%PREFIX%%/etc/elasticsearch}
: ${elasticsearch_tmp=/var/tmp/elasticsearch}

required_files="${elasticsearch_config}/elasticsearch.yml"
_pidprefix=/var/run/elasticsearch/elasticsearch
pidfile=${_pidprefix}.pid
procname=%%JAVA%%

extra_commands="console status"
console_cmd=elasticsearch_console
start_precmd=elasticsearch_precmd
command=%%PREFIX%%/lib/elasticsearch/bin/elasticsearch
command_args="-d --pidfile=${pidfile} -Epath.conf=${elasticsearch_config}"

elasticsearch_precmd()
{
    /usr/bin/install -d -o ${elasticsearch_user} -g ${elasticsearch_group} -m 755 ${pidfile%/*}
    /usr/bin/install -d -o ${elasticsearch_user} -g ${elasticsearch_group} -m 755 ${elasticsearch_tmp}
    /usr/bin/install -d -o ${elasticsearch_user} -g ${elasticsearch_group} -m 755 /var/db/elasticsearch
    /usr/bin/install -d -o ${elasticsearch_user} -g ${elasticsearch_group} -m 755 /var/log/elasticsearch
}

elasticsearch_console()
{
    command_args=""
    run_rc_command "start"
}

if [ -n "$2" ]; then
    profile="$2"
    if [ "x${elasticsearch_profiles}" != "x" ]; then
        eval elasticsearch_config="\${elasticsearch_${profile}_config:-}"
        if [ "x${elasticsearch_config}" = "x" ]; then
            echo "You must define a configuration  (elasticsearch_${profile}_config)"
            exit 1
        fi
        required_files="${elasticsearch_config}/elasticsearch.yml"
        required_files="${elasticsearch_config}/jvm.options"
        eval elasticsearch_enable="\${elasticsearch_${profile}_enable:-${elasticsearch_enable}}"
        eval elasticsearch_tmp="\${elasticsearch_${profile}_args:-${elasticsearch_tmp}}"
        pidfile="${_pidprefix}.${profile}.pid"
	if [ -e ${elasticsearch_config}/jvm.options ]; then
		export ES_JVM_OPTIONS=${elasticsearch_config}/jvm.options
	fi
	command_args="-d --pidfile=${pidfile} -Epath.conf=${elasticsearch_config}"
	echo "===> elasticsearch profile: ${profile}"
    else
        echo "$0: extra argument ignored"
    fi
else
    if [ "x${elasticsearch_profiles}" != "x" -a "x$1" != "x" ]; then
        for profile in ${elasticsearch_profiles}; do
            eval _enable="\${elasticsearch_${profile}_enable}"
            case "x${_enable:-${elasticsearch_enable}}" in
            x|x[Nn][Oo]|x[Nn][Oo][Nn][Ee])
                continue
                ;;
            x[Yy][Ee][Ss])
                ;;
            *)
                if test -z "$_enable"; then
                    _var=elasticsearch_enable
                else
                    _var=elasticsearch_"${profile}"_enable
                fi
                echo "Bad value" \
                    "'${_enable:-${elasticsearch_enable}}'" \
                    "for ${_var}. " \
                    "Profile ${profile} skipped."
                continue
                ;;
            esac
            %%PREFIX%%/etc/rc.d/elasticsearch $1 ${profile}
            retcode="$?"
            if [ "0${retcode}" -ne 0 ]; then
                failed="${profile} (${retcode}) ${failed:-}"
            else
                success="${profile} ${success:-}"
            fi
        done
        exit 0
    fi
fi

if [ "x${elasticsearch_mem_min}" != "x" ]; then
    echo "The elasticsearch_mem_min variable is no longer supported please set this in %%PREFIX%%/etc/jvm.options"
    exit 1;
fi
if [ "x${elasticsearch_mem_max}" != "x" ]; then
    echo "The elasticsearch_mem_max variable is no longer supported please set this in %%PREFIX%%/etc/jvm.options"
    exit 1;
fi
if [ "x${elasticsearch_props}" != "x" ]; then
    echo "The elasticsearch_props variable is no longer supported please set this in %%PREFIX%%/etc/jvm.options"
    exit 1;
fi

run_rc_command "$1"