summaryrefslogtreecommitdiff
path: root/docker/elasticsearch
diff options
context:
space:
mode:
authorakwasniewska <alicja.kwasniewska@intel.com>2016-01-14 11:06:29 +0100
committerMichal Rostecki <mrostecki@mirantis.com>2016-02-13 07:53:24 +0000
commit792666dd79aef7d041c6d5f0ce1f57125ee1affc (patch)
tree374ec80e3c1edac52ee4a7a7e84778d5df34d616 /docker/elasticsearch
parente92b18a8a8c0d7dd3d05ac2b48e469b5b4773215 (diff)
downloadkolla-792666dd79aef7d041c6d5f0ce1f57125ee1affc.tar.gz
kolla-792666dd79aef7d041c6d5f0ce1f57125ee1affc.zip
Added Elasticearch and its deployment.
Part of ELK stack. Includes Dockerfiles for both Centos and Ubuntu. Change-Id: I9f76adf084cd4f68e29326112b76ffd02b5adada Partially-implements: blueprint central-logging-service
Diffstat (limited to 'docker/elasticsearch')
-rw-r--r--docker/elasticsearch/Dockerfile.j240
-rw-r--r--docker/elasticsearch/elasticsearch_sudoers1
-rw-r--r--docker/elasticsearch/extend_start.sh6
3 files changed, 47 insertions, 0 deletions
diff --git a/docker/elasticsearch/Dockerfile.j2 b/docker/elasticsearch/Dockerfile.j2
new file mode 100644
index 000000000..aa9f43c1b
--- /dev/null
+++ b/docker/elasticsearch/Dockerfile.j2
@@ -0,0 +1,40 @@
+FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
+MAINTAINER {{ maintainer }}
+
+
+{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
+
+ENV JAVA_HOME /usr/lib/jvm/jre-1.7.0-openjdk/
+
+RUN yum -y install \
+ java-1.7.0-openjdk \
+ elasticsearch-2.1.1 \
+ && yum clean all
+
+{% elif base_distro in ['ubuntu', 'debian'] %}
+
+ENV JAVA_HOME /usr/lib/jvm/java-1.7.0-openjdk-amd64/
+
+RUN apt-get install -y --no-install-recommends \
+ openjdk-7-jre \
+ elasticsearch=2.1.1 \
+ && apt-get clean
+
+{% endif %}
+
+COPY elasticsearch_sudoers /etc/sudoers.d/elasticsearch_sudoers
+COPY extend_start.sh /usr/local/bin/kolla_extend_start
+RUN chmod 755 /usr/local/bin/kolla_extend_start \
+ && chmod 750 /etc/sudoers.d \
+ && chmod 440 /etc/sudoers.d/elasticsearch_sudoers \
+ && usermod -a -G kolla elasticsearch
+
+
+# by default elasticsearch shell is /bin/false, we need
+# /bin/bash to run elasticsearch as non-root
+# https://discuss.elastic.co/t/running-as-non-root-user-service-wrapper-has-changed/7863
+RUN usermod -s /bin/bash elasticsearch -d /usr/share/elasticsearch
+
+{{ include_footer }}
+
+USER elasticsearch
diff --git a/docker/elasticsearch/elasticsearch_sudoers b/docker/elasticsearch/elasticsearch_sudoers
new file mode 100644
index 000000000..76396c68a
--- /dev/null
+++ b/docker/elasticsearch/elasticsearch_sudoers
@@ -0,0 +1 @@
+%kolla ALL=(root) NOPASSWD: /bin/chown elasticsearch\: /var/lib/elasticsearch/data, /usr/bin/chown elasticsearch\: /var/lib/elasticsearch/data
diff --git a/docker/elasticsearch/extend_start.sh b/docker/elasticsearch/extend_start.sh
new file mode 100644
index 000000000..ac78966fb
--- /dev/null
+++ b/docker/elasticsearch/extend_start.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+# Only update permissions if permissions need to be updated
+if [[ $(stat -c %U:%G /var/lib/elasticsearch/data) != "elasticsearch:elasticsearch" ]]; then
+ sudo chown elasticsearch: /var/lib/elasticsearch/data
+fi