diff options
| author | akwasniewska <alicja.kwasniewska@intel.com> | 2016-01-14 11:06:29 +0100 |
|---|---|---|
| committer | Michal Rostecki <mrostecki@mirantis.com> | 2016-02-13 07:53:24 +0000 |
| commit | 792666dd79aef7d041c6d5f0ce1f57125ee1affc (patch) | |
| tree | 374ec80e3c1edac52ee4a7a7e84778d5df34d616 /docker/elasticsearch | |
| parent | e92b18a8a8c0d7dd3d05ac2b48e469b5b4773215 (diff) | |
| download | kolla-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.j2 | 40 | ||||
| -rw-r--r-- | docker/elasticsearch/elasticsearch_sudoers | 1 | ||||
| -rw-r--r-- | docker/elasticsearch/extend_start.sh | 6 |
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 |
