diff options
author | Eric Liu | 2019-03-26 21:13:10 -0400 |
---|---|---|
committer | Eric Liu | 2019-03-26 21:13:10 -0400 |
commit | a8872da7c4c8b703ef50cddab223f94fdef04f65 (patch) | |
tree | f9bd00b27ab088960bb310d7e80c9c5d816caf43 | |
download | aur-a8872da7c4c8b703ef50cddab223f94fdef04f65.tar.gz |
initial commit for ELK with xpack
-rw-r--r-- | .SRCINFO | 37 | ||||
-rw-r--r-- | PKGBUILD | 88 | ||||
-rw-r--r-- | elasticsearch-env | 50 | ||||
-rw-r--r-- | elasticsearch-keystore.service | 10 | ||||
-rw-r--r-- | elasticsearch-keystore@.service | 11 | ||||
-rw-r--r-- | elasticsearch-sysctl.conf | 1 | ||||
-rw-r--r-- | elasticsearch-tmpfile.conf | 6 | ||||
-rw-r--r-- | elasticsearch-user.conf | 1 | ||||
-rw-r--r-- | elasticsearch.default | 13 | ||||
-rw-r--r-- | elasticsearch.service | 40 | ||||
-rw-r--r-- | elasticsearch@.service | 40 |
11 files changed, 297 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..acabac2ee152 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,37 @@ +pkgbase = elasticsearch-xpack + pkgdesc = Distributed RESTful search engine built on top of Lucene + pkgver = 6.6.2 + pkgrel = 1 + url = https://www.elastic.co/products/elasticsearch + arch = any + license = Apache + depends = java-runtime-headless + depends = systemd + provides = elasticsearch + backup = etc/elasticsearch/elasticsearch.yml + backup = etc/elasticsearch/log4j2.properties + backup = etc/elasticsearch/jvm.options + backup = etc/default/elasticsearch + source = https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.2.tar.gz + source = elasticsearch-env + source = elasticsearch.service + source = elasticsearch@.service + source = elasticsearch-keystore.service + source = elasticsearch-keystore@.service + source = elasticsearch-sysctl.conf + source = elasticsearch-user.conf + source = elasticsearch-tmpfile.conf + source = elasticsearch.default + sha256sums = f32d6fa73b466e29f30a5b6e0bcc6352a5508329f765c948c80c242ddfb97770 + sha256sums = 1607adfcdefc2a55d7d4c7e8a15669da2cc8096029cce5dd5b9279d4966ceabe + sha256sums = de3842935b6ef9cb8a05dc18334112f534dccc2292e36052df942a92de7e66db + sha256sums = 13090c1d23ae0a21bf6f0f1d1da795d38972f1674b20c3d2d32f54311aa99094 + sha256sums = bac40d87acaa5bee209ceb6dfa253009a072e9243fe3b94be42fb5cd44727d6f + sha256sums = 22a78a165a810608188faea6f2b0b381f27b1e9d60126c3b3e729124540589a8 + sha256sums = b3feb1e9c7e7ce6b33cea6c727728ed700332aae942ca475c3bcc1d56b9f113c + sha256sums = 815f6a39db6f54bb40750c382ffbdc298d2c4c187ee8ea7e2f855923e2ff354b + sha256sums = 3173e3efa429507e6329f518699a072dfd442d9b5da7c62452a55f82334dd2b5 + sha256sums = bb74e5fb8bc28f2125e015395ab05bea117b72bfc6dadbca827694b362ee0bf8 + +pkgname = elasticsearch-xpack + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..a48e753bcd19 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,88 @@ +# Maintainer: Eric Liu <eric@hnws.me> +# Official repo maintainer: Massimiliano Torromeo <massimiliano.torromeo@gmail.com> +# Contributor: Marcello "mererghost" Rocha <https://github.com/mereghost> +# Refactored by Blaž "Speed" Hrastnik <https://github.com/archSeer> + +pkgname=elasticsearch-xpack +pkgver=6.6.2 +pkgrel=1 +pkgdesc="Distributed RESTful search engine built on top of Lucene" +arch=('any') +url="https://www.elastic.co/products/elasticsearch" +license=('Apache') +depends=('java-runtime-headless' 'systemd') +provides=('elasticsearch') +relpkgname=elasticsearch +source=( + "https://artifacts.elastic.co/downloads/$relpkgname/$relpkgname-$pkgver.tar.gz" + elasticsearch-env + elasticsearch.service + elasticsearch@.service + elasticsearch-keystore.service + elasticsearch-keystore@.service + elasticsearch-sysctl.conf + elasticsearch-user.conf + elasticsearch-tmpfile.conf + elasticsearch.default +) +sha256sums=('f32d6fa73b466e29f30a5b6e0bcc6352a5508329f765c948c80c242ddfb97770' + '1607adfcdefc2a55d7d4c7e8a15669da2cc8096029cce5dd5b9279d4966ceabe' + 'de3842935b6ef9cb8a05dc18334112f534dccc2292e36052df942a92de7e66db' + '13090c1d23ae0a21bf6f0f1d1da795d38972f1674b20c3d2d32f54311aa99094' + 'bac40d87acaa5bee209ceb6dfa253009a072e9243fe3b94be42fb5cd44727d6f' + '22a78a165a810608188faea6f2b0b381f27b1e9d60126c3b3e729124540589a8' + 'b3feb1e9c7e7ce6b33cea6c727728ed700332aae942ca475c3bcc1d56b9f113c' + '815f6a39db6f54bb40750c382ffbdc298d2c4c187ee8ea7e2f855923e2ff354b' + '3173e3efa429507e6329f518699a072dfd442d9b5da7c62452a55f82334dd2b5' + 'bb74e5fb8bc28f2125e015395ab05bea117b72bfc6dadbca827694b362ee0bf8') + +backup=('etc/elasticsearch/elasticsearch.yml' + 'etc/elasticsearch/log4j2.properties' + 'etc/elasticsearch/jvm.options' + 'etc/default/elasticsearch') + +prepare() { + cd "$srcdir"/$relpkgname-$pkgver + + find bin -type f \( -name \*.bat -o -name \*.exe \) -delete + find bin -type f \( -name \*.jar -o -name \*-env \) -exec chmod a-x {} + + find bin -type f ! -name \*.jar -exec \ + sed -r 's;source .*/(.*)-env;source /usr/share/elasticsearch/\1-env;' -i {} + + find bin -type f -name "elasticsearch-*" ! -name elasticsearch-bin -exec \ + sed 's/`dirname "$0"`/$(dirname "$(realpath "$0")")/' -i {} + +} + +package() { + cd "$pkgdir" + install -dm750 etc/elasticsearch{,/scripts} + install -dm755 {usr/share,var/lib,var/log}/elasticsearch + install -dm755 usr/bin + + cd "$srcdir"/$relpkgname-$pkgver + cp -R bin lib modules plugins "$pkgdir"/usr/share/elasticsearch/ + + cd config + for conf in *; do + install -Dm644 "$conf" "$pkgdir/etc/elasticsearch/$conf" + done + + cd .. + mv bin/elasticsearch-env . + find bin/ -type f -name elasticsearch-\* ! -name elasticsearch-cli -exec \ + ln -s ../share/elasticsearch/{} "$pkgdir"/usr/{} \; + + cd "$pkgdir"/usr/share/elasticsearch + ln -s ../../../var/log/elasticsearch logs + ln -s ../../../var/lib/elasticsearch data + + cd "$pkgdir" + install -Dm644 "$srcdir"/elasticsearch-env usr/share/elasticsearch/elasticsearch-env + install -Dm644 "$srcdir"/elasticsearch.service usr/lib/systemd/system/elasticsearch.service + install -Dm644 "$srcdir"/elasticsearch@.service usr/lib/systemd/system/elasticsearch@.service + install -Dm644 "$srcdir"/elasticsearch-keystore.service usr/lib/systemd/system/elasticsearch-keystore.service + install -Dm644 "$srcdir"/elasticsearch-keystore@.service usr/lib/systemd/system/elasticsearch-keystore@.service + install -Dm644 "$srcdir"/elasticsearch-user.conf usr/lib/sysusers.d/elasticsearch.conf + install -Dm644 "$srcdir"/elasticsearch-tmpfile.conf usr/lib/tmpfiles.d/elasticsearch.conf + install -Dm644 "$srcdir"/elasticsearch-sysctl.conf usr/lib/sysctl.d/elasticsearch.conf + install -Dm644 "$srcdir"/elasticsearch.default etc/default/elasticsearch +} diff --git a/elasticsearch-env b/elasticsearch-env new file mode 100644 index 000000000000..052e5c64d8f7 --- /dev/null +++ b/elasticsearch-env @@ -0,0 +1,50 @@ +#!/bin/bash + +set -e -o pipefail + +ES_HOME=/usr/share/elasticsearch + +# now set the classpath +ES_CLASSPATH="$ES_HOME/lib/*" + +# now set the path to java +if [ -x "$JAVA_HOME/bin/java" ]; then + JAVA="$JAVA_HOME/bin/java" +else + set +e + JAVA=`which java` + set -e +fi + +if [ ! -x "$JAVA" ]; then + echo "could not find java; set JAVA_HOME or ensure java is in PATH" + exit 1 +fi + +# do not let JAVA_TOOL_OPTIONS slip in (as the JVM does by default) +if [ ! -z "$JAVA_TOOL_OPTIONS" ]; then + echo "warning: ignoring JAVA_TOOL_OPTIONS=$JAVA_TOOL_OPTIONS" + unset JAVA_TOOL_OPTIONS +fi + +# JAVA_OPTS is not a built-in JVM mechanism but some people think it is so we +# warn them that we are not observing the value of $JAVA_OPTS +if [ ! -z "$JAVA_OPTS" ]; then + echo -n "warning: ignoring JAVA_OPTS=$JAVA_OPTS; " + echo "pass JVM parameters via ES_JAVA_OPTS" +fi + +# check the Java version +"$JAVA" -cp "$ES_CLASSPATH" org.elasticsearch.tools.java_version_checker.JavaVersionChecker + +export HOSTNAME=$HOSTNAME + +if [ -z "$ES_PATH_CONF" ]; then ES_PATH_CONF=/etc/elasticsearch; fi + +if [ -z "$ES_PATH_CONF" ]; then + echo "ES_PATH_CONF must be set to the configuration path" + exit 1 +fi + +ES_DISTRIBUTION_FLAVOR=default +ES_DISTRIBUTION_TYPE=tar diff --git a/elasticsearch-keystore.service b/elasticsearch-keystore.service new file mode 100644 index 000000000000..8f52b898e03f --- /dev/null +++ b/elasticsearch-keystore.service @@ -0,0 +1,10 @@ +[Unit] +Description=Elasticsearch Keystore Generation +ConditionPathExists=|!/etc/elasticsearch/elasticsearch.keystore + +[Service] +Type=oneshot +Group=elasticsearch +UMask=0007 +ExecStart=/usr/share/elasticsearch/bin/elasticsearch-keystore create +RemainAfterExit=yes diff --git a/elasticsearch-keystore@.service b/elasticsearch-keystore@.service new file mode 100644 index 000000000000..039e2123f4ca --- /dev/null +++ b/elasticsearch-keystore@.service @@ -0,0 +1,11 @@ +[Unit] +Description=Elasticsearch Keystore Generation +ConditionPathExists=|!/etc/elasticsearch/%I/elasticsearch.keystore + +[Service] +Type=oneshot +Group=elasticsearch +UMask=0007 +Environment=ES_PATH_CONF=/etc/elasticsearch/%I +ExecStart=/usr/share/elasticsearch/bin/elasticsearch-keystore create +RemainAfterExit=yes diff --git a/elasticsearch-sysctl.conf b/elasticsearch-sysctl.conf new file mode 100644 index 000000000000..32da2c91cf27 --- /dev/null +++ b/elasticsearch-sysctl.conf @@ -0,0 +1 @@ +vm.max_map_count=262144
\ No newline at end of file diff --git a/elasticsearch-tmpfile.conf b/elasticsearch-tmpfile.conf new file mode 100644 index 000000000000..5a869cc06103 --- /dev/null +++ b/elasticsearch-tmpfile.conf @@ -0,0 +1,6 @@ +d /var/log/elasticsearch 0755 elasticsearch elasticsearch - +d /var/lib/elasticsearch 0755 elasticsearch elasticsearch - +d /usr/share/elasticsearch/plugins 0755 elasticsearch elasticsearch - + +d /etc/elasticsearch 0750 - elasticsearch - +d /etc/elasticsearch/scripts 0750 - elasticsearch - diff --git a/elasticsearch-user.conf b/elasticsearch-user.conf new file mode 100644 index 000000000000..d67b6c3fdde1 --- /dev/null +++ b/elasticsearch-user.conf @@ -0,0 +1 @@ +u elasticsearch - "Elasticsearch user" diff --git a/elasticsearch.default b/elasticsearch.default new file mode 100644 index 000000000000..ade7ae924ddd --- /dev/null +++ b/elasticsearch.default @@ -0,0 +1,13 @@ +JAVA_HOME=/usr/lib/jvm/default-runtime + +# Heap Size (defaults to 256m min, 1g max) +#ES_HEAP_SIZE=1g + +# Heap new generation +#ES_HEAP_NEWSIZE= + +# max direct memory +#ES_DIRECT_SIZE= + +# Additional Java OPTS +#ES_JAVA_OPTS= diff --git a/elasticsearch.service b/elasticsearch.service new file mode 100644 index 000000000000..7246c2b864b9 --- /dev/null +++ b/elasticsearch.service @@ -0,0 +1,40 @@ +[Unit] +Description=Elasticsearch +Documentation=http://www.elastic.co +Wants=elasticsearch-keystore.service +Wants=network.target +After=elasticsearch-keystore.service +After=network.target + +[Service] +Type=forking +RuntimeDirectory=elasticsearch +PIDFile=/run/elasticsearch/elasticsearch.pid + +Environment=JAVA_HOME=/usr/lib/jvm/default-runtime +EnvironmentFile=-/etc/default/elasticsearch +Environment=ES_PATH_CONF=/etc/elasticsearch +Environment=ES_TMPDIR=/tmp + +PrivateTmp=true +WorkingDirectory=/usr/share/elasticsearch + +User=elasticsearch +Group=elasticsearch + +ExecStart=/usr/share/elasticsearch/bin/elasticsearch -d \ + -p /run/elasticsearch/elasticsearch.pid + +LimitNOFILE=65536 +LimitNPROC=4096 +LimitAS=infinity +LimitFSIZE=infinity + +Restart=on-failure +KillMode=process +SendSIGKILL=no +TimeoutStopSec=0 +SuccessExitStatus=143 + +[Install] +WantedBy=multi-user.target diff --git a/elasticsearch@.service b/elasticsearch@.service new file mode 100644 index 000000000000..d50cdd41fef9 --- /dev/null +++ b/elasticsearch@.service @@ -0,0 +1,40 @@ +[Unit] +Description=Elasticsearch +Documentation=http://www.elastic.co +Wants=elasticsearch-keystore@%I.service +Wants=network.target +After=elasticsearch-keystore@%I.service +After=network.target + +[Service] +Type=forking +RuntimeDirectory=elasticsearch +PIDFile=/run/elasticsearch/%I.pid + +Environment=JAVA_HOME=/usr/lib/jvm/default-runtime +EnvironmentFile=-/etc/default/elasticsearch +Environment=ES_PATH_CONF=/etc/elasticsearch/%I +Environment=ES_TMPDIR=/tmp + +PrivateTmp=true +WorkingDirectory=/usr/share/elasticsearch + +User=elasticsearch +Group=elasticsearch + +ExecStart=/usr/share/elasticsearch/bin/elasticsearch -d \ + -p /run/elasticsearch/%I.pid + +LimitNOFILE=65536 +LimitNPROC=4096 +LimitAS=infinity +LimitFSIZE=infinity + +Restart=on-failure +KillMode=process +SendSIGKILL=no +TimeoutStopSec=0 +SuccessExitStatus=143 + +[Install] +WantedBy=multi-user.target |