-
Notifications
You must be signed in to change notification settings - Fork 16
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
17646f9
commit b724811
Showing
4 changed files
with
602 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,119 @@ | ||
################################################################################ | ||
# This Dockerfile was generated from the template at: | ||
# src/dev/build/tasks/os_packages/docker_generator/templates/Dockerfile | ||
# | ||
# Beginning of multi stage Dockerfile | ||
################################################################################ | ||
|
||
################################################################################ | ||
# Build stage 0 `builder`: | ||
# Extract Kibana artifact | ||
################################################################################ | ||
FROM cr.loongnix.cn/debian:buster-slim AS builder | ||
|
||
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y curl | ||
|
||
RUN cd /tmp && \ | ||
curl --retry 8 -s -L \ | ||
--output kibana.tar.gz \ | ||
https://github.com/Loongson-Cloud-Community/kibana/releases/download/v8.7.0/kibana-8.7.0-linux-loongarch64.tar.gz && \ | ||
cd - | ||
|
||
|
||
RUN mkdir /usr/share/kibana | ||
WORKDIR /usr/share/kibana | ||
RUN tar --strip-components=1 -zxf /tmp/kibana.tar.gz | ||
# Ensure that group permissions are the same as user permissions. | ||
# This will help when relying on GID-0 to run Kibana, rather than UID-1000. | ||
# OpenShift does this, for example. | ||
# REF: https://docs.openshift.org/latest/creating_images/guidelines.html | ||
RUN chmod -R g=u /usr/share/kibana | ||
|
||
|
||
################################################################################ | ||
# Build stage 1 (the actual Kibana image): | ||
# | ||
# Copy kibana from stage 0 | ||
# Add entrypoint | ||
################################################################################ | ||
FROM cr.loongnix.cn/debian:buster-slim | ||
EXPOSE 5601 | ||
|
||
RUN for iter in {1..10}; do \ | ||
export DEBIAN_FRONTEND=noninteractive && \ | ||
apt-get update && \ | ||
apt-get upgrade -y && \ | ||
apt-get install -y --no-install-recommends \ | ||
fontconfig fonts-liberation libnss3 libfontconfig1 ca-certificates curl libatomic1 && \ | ||
apt-get clean && \ | ||
rm -rf /var/lib/apt/lists/* && exit_code=0 && break || exit_code=$? && echo "apt-get error: retry $iter in 10s" && \ | ||
sleep 10; \ | ||
done; \ | ||
(exit $exit_code) | ||
|
||
# Add an init process, check the checksum to make sure it's a match | ||
RUN set -e ; \ | ||
curl --retry 8 -S -L -o /bin/tini https://github.com/Loongson-Cloud-Community/tini/releases/download/v0.19.0/tini-static ; \ | ||
chmod +x /bin/tini | ||
|
||
RUN mkdir /usr/share/fonts/local | ||
RUN curl --retry 8 -S -L -o /usr/share/fonts/local/NotoSansCJK-Regular.ttc https://github.com/googlefonts/noto-cjk/raw/NotoSansV2.001/NotoSansCJK-Regular.ttc | ||
RUN echo "5dcd1c336cc9344cb77c03a0cd8982ca8a7dc97d620fd6c9c434e02dcb1ceeb3 /usr/share/fonts/local/NotoSansCJK-Regular.ttc" | sha256sum -c - | ||
RUN fc-cache -v | ||
|
||
# Bring in Kibana from the initial stage. | ||
COPY --from=builder --chown=1000:0 /usr/share/kibana /usr/share/kibana | ||
WORKDIR /usr/share/kibana | ||
RUN ln -s /usr/share/kibana /opt/kibana | ||
|
||
ENV ELASTIC_CONTAINER true | ||
ENV PATH=/usr/share/kibana/bin:$PATH | ||
|
||
# Set some Kibana configuration defaults. | ||
COPY --chown=1000:0 config/kibana.yml /usr/share/kibana/config/kibana.yml | ||
|
||
# Add the launcher/wrapper script. It knows how to interpret environment | ||
# variables and translate them to Kibana CLI options. | ||
COPY bin/kibana-docker /usr/local/bin/ | ||
|
||
# Ensure gid 0 write permissions for OpenShift. | ||
RUN chmod g+ws /usr/share/kibana && \ | ||
find /usr/share/kibana -gid 0 -and -not -perm /g+w -exec chmod g+w {} \; | ||
|
||
# Remove the suid bit everywhere to mitigate "Stack Clash" | ||
RUN find / -xdev -perm -4000 -exec chmod u-s {} + | ||
|
||
# Provide a non-root user to run the process. | ||
RUN groupadd --gid 1000 kibana && \ | ||
useradd --uid 1000 --gid 1000 -G 0 \ | ||
--home-dir /usr/share/kibana --no-create-home \ | ||
kibana | ||
|
||
LABEL org.label-schema.build-date="2023-03-27T11:09:20.771Z" \ | ||
org.label-schema.license="Elastic License" \ | ||
org.label-schema.name="Kibana" \ | ||
org.label-schema.schema-version="1.0" \ | ||
org.label-schema.url="https://www.elastic.co/products/kibana" \ | ||
org.label-schema.usage="https://www.elastic.co/guide/en/kibana/reference/index.html" \ | ||
org.label-schema.vcs-ref="05f12599523732051b84dde0b8d5610e0db2b06d" \ | ||
org.label-schema.vcs-url="https://github.com/elastic/kibana" \ | ||
org.label-schema.vendor="Elastic" \ | ||
org.label-schema.version="8.7.0" \ | ||
org.opencontainers.image.created="2023-03-27T11:09:20.771Z" \ | ||
org.opencontainers.image.documentation="https://www.elastic.co/guide/en/kibana/reference/index.html" \ | ||
org.opencontainers.image.licenses="Elastic License" \ | ||
org.opencontainers.image.revision="05f12599523732051b84dde0b8d5610e0db2b06d" \ | ||
org.opencontainers.image.source="https://github.com/elastic/kibana" \ | ||
org.opencontainers.image.title="Kibana" \ | ||
org.opencontainers.image.url="https://www.elastic.co/products/kibana" \ | ||
org.opencontainers.image.vendor="Elastic" \ | ||
org.opencontainers.image.version="8.7.0" | ||
|
||
|
||
ENTRYPOINT ["/bin/tini", "--"] | ||
|
||
|
||
CMD ["/usr/local/bin/kibana-docker"] | ||
|
||
|
||
USER kibana |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# This file is generated by the template. | ||
|
||
REGISTRY?=cr.loongnix.cn | ||
ORGANIZATION?=library | ||
REPOSITORY?=kibana | ||
TAG?=8.7.0 | ||
LATEST?=true | ||
|
||
IMAGE=$(REGISTRY)/$(ORGANIZATION)/$(REPOSITORY):$(TAG) | ||
LATEST_IMAGE=$(REGISTRY)/$(ORGANIZATION)/$(REPOSITORY):latest | ||
|
||
default: image | ||
|
||
image: | ||
docker build \ | ||
--build-arg http_proxy=$(http_proxy) \ | ||
--build-arg https_proxy=$(https_proxy) \ | ||
-t $(IMAGE) \ | ||
. | ||
|
||
push: | ||
docker push $(IMAGE) | ||
#latest image | ||
@if [ $(LATEST) = "true" ]; \ | ||
then \ | ||
docker tag $(IMAGE) $(LATEST_IMAGE); \ | ||
docker push $(LATEST_IMAGE); \ | ||
fi |
Oops, something went wrong.