summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Liu2019-03-26 21:13:10 -0400
committerEric Liu2019-03-26 21:13:10 -0400
commita8872da7c4c8b703ef50cddab223f94fdef04f65 (patch)
treef9bd00b27ab088960bb310d7e80c9c5d816caf43
downloadaur-a8872da7c4c8b703ef50cddab223f94fdef04f65.tar.gz
initial commit for ELK with xpack
-rw-r--r--.SRCINFO37
-rw-r--r--PKGBUILD88
-rw-r--r--elasticsearch-env50
-rw-r--r--elasticsearch-keystore.service10
-rw-r--r--elasticsearch-keystore@.service11
-rw-r--r--elasticsearch-sysctl.conf1
-rw-r--r--elasticsearch-tmpfile.conf6
-rw-r--r--elasticsearch-user.conf1
-rw-r--r--elasticsearch.default13
-rw-r--r--elasticsearch.service40
-rw-r--r--elasticsearch@.service40
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