Skip to content

Commit

Permalink
feat(ci): github actions workflow for building elastic docker images
Browse files Browse the repository at this point in the history
  • Loading branch information
missinglink committed Nov 30, 2023
1 parent 9273316 commit 51889c8
Show file tree
Hide file tree
Showing 3 changed files with 74 additions and 0 deletions.
24 changes: 24 additions & 0 deletions .github/workflows/elasticsearch-image-builder.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Build Docker Images
on:
push:
paths:
- "images/elasticsearch/**"
- ".github/workflows/**"
jobs:
build:
runs-on: ubuntu-20.04
strategy:
matrix:
elastic-version:
- "7.17.15"
env:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 100
- name: "Build elasticsearch@${{ matrix.elastic-version }}"
run: |
cd images/elasticsearch/${{ matrix.elastic-version }}
curl "https://raw.githubusercontent.com/pelias/ci-tools/master/build-docker-images.sh" | bash -
41 changes: 41 additions & 0 deletions images/elasticsearch/7.17.15/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# see: https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html

# base image
FROM docker.elastic.co/elasticsearch/elasticsearch:7.17.15
USER root

# environmental settings
ENV ES_JAVA_OPTS '-Xms512m -Xmx512m'
ENV cluster.name 'pelias-dev'
ENV discovery.type 'single-node'
ENV bootstrap.memory_lock 'true'
RUN echo 'vm.max_map_count=262144' >> /etc/sysctl.conf

# configure plugins
RUN /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu
RUN /usr/share/elasticsearch/bin/elasticsearch-plugin install repository-s3 --batch

# elasticsearch config
ADD elasticsearch.yml /usr/share/elasticsearch/config/
RUN chown elasticsearch:elasticsearch config/elasticsearch.yml

## set permissions so any user can run elasticsearch
# add read permissions to all files in dir
RUN chmod go+r /usr/share/elasticsearch -R

# add write permissions to config, log & data dirs
RUN chmod go+w /usr/share/elasticsearch \
/usr/share/elasticsearch/config \
/usr/share/elasticsearch/logs \
/usr/share/elasticsearch/data

# add list permissions to directories
RUN chmod go+x /usr/share/elasticsearch \
/usr/share/elasticsearch/config \
/usr/share/elasticsearch/config/repository-s3

# add execute permissions to bins
RUN chmod go+x /usr/share/elasticsearch/bin/*

# run as elasticsearch user
USER elasticsearch
9 changes: 9 additions & 0 deletions images/elasticsearch/7.17.15/elasticsearch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
bootstrap.memory_lock: true
network.host: 0.0.0.0
http.port: 9200
node.master: true
node.data: true
thread_pool:
write:
queue_size: 1000
indices.query.bool.max_clause_count: 4000

0 comments on commit 51889c8

Please sign in to comment.