From 9a1fb6d23175e4907de952ae0503755c9a943516 Mon Sep 17 00:00:00 2001 From: Nassim Kammah Date: Mon, 9 Mar 2020 20:25:43 +0000 Subject: [PATCH 01/13] Kibana 7.6.1 release updated to latest format (keep only 1 release) The 7.6.1 release include updates of the node.js version to address some CVE issues without any workarounds. See full release notes. DCAR submissions changes : copy Elastic license into the container filesystem. --- 7.1.1/Dockerfile | 51 ------- 7.1.1/LICENSE | 13 -- 7.1.1/README.md | 38 ----- 7.1.1/bin/kibana-docker | 115 -------------- 7.1.1/config/kibana.yml | 9 -- 7.1.1/ingest.sh | 8 - 7.2.0/Dockerfile | 56 ------- 7.2.0/LICENSE | 13 -- 7.2.0/README.md | 39 ----- 7.2.0/bin/kibana-docker | 115 -------------- 7.2.0/config/kibana.yml | 9 -- 7.2.0/ingest.sh | 8 - 7.5.1/Dockerfile | 74 --------- 7.5.1/LICENSE | 223 ---------------------------- 7.5.1/README.md | 38 ----- 7.5.1/bin/kibana-docker | 192 ------------------------ 7.5.1/scripts/prebuild.sh | 61 -------- 7.5.2/Dockerfile | 74 --------- 7.5.2/README.md | 38 ----- 7.5.2/bin/kibana-docker | 192 ------------------------ 7.5.2/config/kibana.yml | 9 -- 7.5.2/scripts/prebuild.sh | 72 --------- 7.6.0/Jenkinsfile | 2 - 7.6.0/LICENSE | 223 ---------------------------- 7.6.0/config/kibana.yml | 9 -- 7.6.0/download.json | 20 --- 7.6.0/Dockerfile => Dockerfile | 6 +- Jenkinsfile | 2 + 7.5.2/LICENSE => LICENSE | 0 7.6.0/README.md => README.md | 0 {7.6.0/bin => bin}/kibana-docker | 1 + {7.5.1/config => config}/kibana.yml | 0 download.json | 20 +++ dumb-init | Bin 0 -> 54744 bytes 34 files changed, 27 insertions(+), 1703 deletions(-) delete mode 100644 7.1.1/Dockerfile delete mode 100644 7.1.1/LICENSE delete mode 100644 7.1.1/README.md delete mode 100644 7.1.1/bin/kibana-docker delete mode 100644 7.1.1/config/kibana.yml delete mode 100755 7.1.1/ingest.sh delete mode 100644 7.2.0/Dockerfile delete mode 100644 7.2.0/LICENSE delete mode 100644 7.2.0/README.md delete mode 100644 7.2.0/bin/kibana-docker delete mode 100644 7.2.0/config/kibana.yml delete mode 100755 7.2.0/ingest.sh delete mode 100644 7.5.1/Dockerfile delete mode 100644 7.5.1/LICENSE delete mode 100644 7.5.1/README.md delete mode 100644 7.5.1/bin/kibana-docker delete mode 100755 7.5.1/scripts/prebuild.sh delete mode 100644 7.5.2/Dockerfile delete mode 100644 7.5.2/README.md delete mode 100755 7.5.2/bin/kibana-docker delete mode 100644 7.5.2/config/kibana.yml delete mode 100755 7.5.2/scripts/prebuild.sh delete mode 100644 7.6.0/Jenkinsfile delete mode 100644 7.6.0/LICENSE delete mode 100644 7.6.0/config/kibana.yml delete mode 100644 7.6.0/download.json rename 7.6.0/Dockerfile => Dockerfile (95%) create mode 100644 Jenkinsfile rename 7.5.2/LICENSE => LICENSE (100%) rename 7.6.0/README.md => README.md (100%) rename {7.6.0/bin => bin}/kibana-docker (99%) rename {7.5.1/config => config}/kibana.yml (100%) create mode 100644 download.json create mode 100644 dumb-init diff --git a/7.1.1/Dockerfile b/7.1.1/Dockerfile deleted file mode 100644 index 18a0d87..0000000 --- a/7.1.1/Dockerfile +++ /dev/null @@ -1,51 +0,0 @@ -ARG BASE_REGISTRY=nexus-docker.52.61.140.4.nip.io -ARG BASE_IMAGE=ubi7/ubi -ARG BASE_TAG=7.7 - -FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG} - -RUN cd /opt && curl -fksSL https://nexus.52.61.140.4.nip.io/repository/cht/kibana/7.1.1/kibana-oss-7.1.1-linux-x86_64.tar.gz -o /opt/kibana-oss-7.1.1-linux-x86_64.tar.gz && cd - -RUN mkdir /usr/share/kibana -WORKDIR /usr/share/kibana -RUN tar --strip-components=1 -zxf /opt/kibana-oss-7.1.1-linux-x86_64.tar.gz \ - && rm -fv /opt/kibana-oss-7.1.1-linux-x86_64.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 -RUN find /usr/share/kibana -type d -exec chmod g+s {} \; - -EXPOSE 5601 - -# Add Reporting dependencies. -RUN yum update -y && yum install -y fontconfig freetype && yum clean all - -# Bring in Kibana from the initial stage. -RUN chown -R 1000:0 /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 config/kibana.yml /usr/share/kibana/config/kibana.yml -RUN chown 1000:0 /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/ -RUN chown 1000:0 /usr/local/bin/kibana-docker -RUN chmod +x /usr/local/bin/kibana-docker - -# 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 {} \; - -# Provide a non-root user to run the process. -RUN groupadd --gid 1000 kibana && useradd --uid 1000 --gid 1000 --home-dir /usr/share/kibana --no-create-home kibana -USER 1000 - -LABEL org.label-schema.schema-version="1.0" org.label-schema.vendor="Elastic" org.label-schema.name="kibana" org.label-schema.version="7.1.1" org.label-schema.url="https://www.elastic.co/products/kibana" org.label-schema.vcs-url="https://github.com/elastic/kibana" license="Open Source License" - -CMD ["/usr/local/bin/kibana-docker"] \ No newline at end of file diff --git a/7.1.1/LICENSE b/7.1.1/LICENSE deleted file mode 100644 index e601d43..0000000 --- a/7.1.1/LICENSE +++ /dev/null @@ -1,13 +0,0 @@ -Source code in this repository is variously licensed under the Apache License -Version 2.0, an Apache compatible license, or the Elastic License. Outside of -the "x-pack" folder, source code in a given file is licensed under the Apache -License Version 2.0, unless otherwise noted at the beginning of the file or a -LICENSE file present in the directory subtree declares a separate license. -Within the "x-pack" folder, source code in a given file is licensed under the -Elastic License, unless otherwise noted at the beginning of the file or a -LICENSE file present in the directory subtree declares a separate license. - -The build produces two sets of binaries - one set that falls under the Elastic -License and another set that falls under Apache License Version 2.0. The -binaries that contain `-oss` in the artifact name are licensed under the Apache -License Version 2.0. diff --git a/7.1.1/README.md b/7.1.1/README.md deleted file mode 100644 index c842ca5..0000000 --- a/7.1.1/README.md +++ /dev/null @@ -1,38 +0,0 @@ -# opensource kibana v7.1.1 - -This is derived from -- https://hub.docker.com/_/kibana -- https://github.com/elastic/dockerfiles/tree/7.1/kibana -- https://www.elastic.co/downloads/past-releases/kibana-oss-7-1-1 - -## Ports -This container requires exposes port 5601. - -## Running the container -In the given example, Kibana will a attach to a user defined network (useful for connecting to other services (e.g. Elasticsearch)). If network has not yet been created, this can be done with the following command: - -`$ docker network create somenetwork` - -Note: In this example, Kibana is using the default configuration and expects to connect to a running Elasticsearch instance at http://elasticsearch:9200 - -**Configure** - - Pass environment variables to configure the container. - -- https://www.elastic.co/guide/en/kibana/7.1/docker.html -- https://www.elastic.co/guide/en/kibana/7.1/settings.html - -Example - -Environment Variable Kibana Setting - -SERVER_NAME server.name - -**Run Container** - -`$ docker run -ti --rm --name kibana --net somenetwork -p 5601:5601 -e name=value image-name:tag` - -Kibana can be accessed by browser via http://localhost:5601 or http://host-ip:5601 - -## Scan Artifacts -Artifacts from the scan on the this container may be found [here](https://dsop-pipeline-artifacts.s3-us-gov-west-1.amazonaws.com/testing/container-scan-reports/opensource/kibanav7.1.1/repo_map.html) diff --git a/7.1.1/bin/kibana-docker b/7.1.1/bin/kibana-docker deleted file mode 100644 index 6de4d93..0000000 --- a/7.1.1/bin/kibana-docker +++ /dev/null @@ -1,115 +0,0 @@ -#!/bin/bash -# -# ** THIS IS AN AUTO-GENERATED FILE ** -# - -# Run Kibana, using environment variables to set longopts defining Kibana's -# configuration. -# -# eg. Setting the environment variable: -# -# ELASTICSEARCH_STARTUPTIMEOUT=60 -# -# will cause Kibana to be invoked with: -# -# --elasticsearch.startupTimeout=60 - -kibana_vars=( - console.enabled - console.proxyConfig - console.proxyFilter - elasticsearch.customHeaders - elasticsearch.hosts - elasticsearch.logQueries - elasticsearch.password - elasticsearch.pingTimeout - elasticsearch.preserveHost - elasticsearch.requestHeadersWhitelist - elasticsearch.requestTimeout - elasticsearch.shardTimeout - elasticsearch.sniffInterval - elasticsearch.sniffOnConnectionFault - elasticsearch.sniffOnStart - elasticsearch.ssl.certificate - elasticsearch.ssl.certificateAuthorities - elasticsearch.ssl.key - elasticsearch.ssl.keyPassphrase - elasticsearch.ssl.verificationMode - elasticsearch.startupTimeout - elasticsearch.username - i18n.locale - kibana.defaultAppId - kibana.index - logging.dest - logging.quiet - logging.silent - logging.useUTC - logging.verbose - map.includeElasticMapsService - ops.interval - path.data - pid.file - regionmap - regionmap.includeElasticMapsService - server.basePath - server.customResponseHeaders - server.defaultRoute - server.host - server.maxPayloadBytes - server.name - server.port - server.rewriteBasePath - server.ssl.cert - server.ssl.certificate - server.ssl.certificateAuthorities - server.ssl.cipherSuites - server.ssl.clientAuthentication - server.customResponseHeaders - server.ssl.enabled - server.ssl.key - server.ssl.keyPassphrase - server.ssl.redirectHttpFromPort - server.ssl.supportedProtocols - server.xsrf.whitelist - status.allowAnonymous - status.v6ApiFormat - tilemap.options.attribution - tilemap.options.maxZoom - tilemap.options.minZoom - tilemap.options.subdomains - tilemap.url - timelion.enabled - vega.enableExternalUrls -) - -longopts='' -for kibana_var in ${kibana_vars[*]}; do - # 'elasticsearch.hosts' -> 'ELASTICSEARCH_HOSTS' - env_var=$(echo ${kibana_var^^} | tr . _) - - # Indirectly lookup env var values via the name of the var. - # REF: http://tldp.org/LDP/abs/html/bashver2.html#EX78 - value=${!env_var} - if [[ -n $value ]]; then - longopt="--${kibana_var}=${value}" - longopts+=" ${longopt}" - fi -done - -# Files created at run-time should be group-writable, for Openshift's sake. -umask 0002 - -# The virtual file /proc/self/cgroup should list the current cgroup -# membership. For each hierarchy, you can follow the cgroup path from -# this file to the cgroup filesystem (usually /sys/fs/cgroup/) and -# introspect the statistics for the cgroup for the given -# hierarchy. Alas, Docker breaks this by mounting the container -# statistics at the root while leaving the cgroup paths as the actual -# paths. Therefore, Kibana provides a mechanism to override -# reading the cgroup path from /proc/self/cgroup and instead uses the -# cgroup path defined the configuration properties -# cpu.cgroup.path.override and cpuacct.cgroup.path.override. -# Therefore, we set this value here so that cgroup statistics are -# available for the container this process will run in. - -exec /usr/share/kibana/bin/kibana --cpu.cgroup.path.override=/ --cpuacct.cgroup.path.override=/ ${longopts} "$@" \ No newline at end of file diff --git a/7.1.1/config/kibana.yml b/7.1.1/config/kibana.yml deleted file mode 100644 index d333100..0000000 --- a/7.1.1/config/kibana.yml +++ /dev/null @@ -1,9 +0,0 @@ - -# -# ** THIS IS AN AUTO-GENERATED FILE ** -# - -# Default Kibana configuration for docker target -server.name: kibana -server.host: "0" -elasticsearch.hosts: [ "http://elasticsearch:9200" ] \ No newline at end of file diff --git a/7.1.1/ingest.sh b/7.1.1/ingest.sh deleted file mode 100755 index 1855d82..0000000 --- a/7.1.1/ingest.sh +++ /dev/null @@ -1,8 +0,0 @@ -NEXUS_REPO_URL="https://nexus.52.61.140.4.nip.io/repository/cht/kibana/7.1.1" - - -# Download the package from the web and then upload it to Nexus. -curl -Lf https://artifacts.elastic.co/downloads/kibana/kibana-oss-7.1.1-linux-x86_64.tar.gz -o /tmp/kibana-oss-7.1.1-linux-x86_64.tar.gz -curl --insecure -f -u $NEXUS_USERNAME:$NEXUS_PASSWORD --upload-file /tmp/kibana-oss-7.1.1-linux-x86_64.tar.gz ${NEXUS_REPO_URL}/kibana-oss-7.1.1-linux-x86_64.tar.gz -rm -vf /tmp/kibana-oss-7.1.1-linux-x86_64.tar.gz - diff --git a/7.2.0/Dockerfile b/7.2.0/Dockerfile deleted file mode 100644 index c72a5bc..0000000 --- a/7.2.0/Dockerfile +++ /dev/null @@ -1,56 +0,0 @@ -ARG BASE_REGISTRY=nexus-docker.52.61.140.4.nip.io -ARG BASE_IMAGE=ubi7/ubi -ARG BASE_TAG=7.7 - -FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG} - -ARG NEXUS_SERVER=${NEXUS_SERVER} -ARG NEXUS_USERNAME=${NEXUS_USERNAME} -ARG NEXUS_PASSWORD=${NEXUS_PASSWORD} - - -RUN cd /opt && curl -fksSL https://${NEXUS_SERVER}/dsop/kibana/7.2.0/kibana-oss-7.2.0-linux-x86_64.tar.gz -o /opt/kibana-oss-7.2.0-linux-x86_64.tar.gz && cd - -RUN mkdir /usr/share/kibana -WORKDIR /usr/share/kibana -RUN tar --strip-components=1 -zxf /opt/kibana-oss-7.2.0-linux-x86_64.tar.gz \ - && rm -fv /opt/kibana-oss-7.2.0-linux-x86_64.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 -RUN find /usr/share/kibana -type d -exec chmod g+s {} \; - -EXPOSE 5601 - -# Add Reporting dependencies. -RUN yum -y --nogpgcheck --disableplugin=subscription-manager update -y && yum install -y --nogpgcheck --disableplugin=subscription-manager fontconfig freetype && yum clean all - -# Bring in Kibana from the initial stage. -RUN chown -R 1000:0 /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 config/kibana.yml /usr/share/kibana/config/kibana.yml -RUN chown 1000:0 /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/ -RUN chown 1000:0 /usr/local/bin/kibana-docker -RUN chmod +x /usr/local/bin/kibana-docker - -# 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 {} \; - -# Provide a non-root user to run the process. -RUN groupadd --gid 1000 kibana && useradd --uid 1000 --gid 1000 --home-dir /usr/share/kibana --no-create-home kibana -USER 1000 - -LABEL org.label-schema.schema-version="1.0" org.label-schema.vendor="Elastic" org.label-schema.name="kibana" org.label-schema.version="7.2.0" org.label-schema.url="https://www.elastic.co/products/kibana" org.label-schema.vcs-url="https://github.com/elastic/kibana" license="Open Source License" - -CMD ["/usr/local/bin/kibana-docker"] \ No newline at end of file diff --git a/7.2.0/LICENSE b/7.2.0/LICENSE deleted file mode 100644 index e601d43..0000000 --- a/7.2.0/LICENSE +++ /dev/null @@ -1,13 +0,0 @@ -Source code in this repository is variously licensed under the Apache License -Version 2.0, an Apache compatible license, or the Elastic License. Outside of -the "x-pack" folder, source code in a given file is licensed under the Apache -License Version 2.0, unless otherwise noted at the beginning of the file or a -LICENSE file present in the directory subtree declares a separate license. -Within the "x-pack" folder, source code in a given file is licensed under the -Elastic License, unless otherwise noted at the beginning of the file or a -LICENSE file present in the directory subtree declares a separate license. - -The build produces two sets of binaries - one set that falls under the Elastic -License and another set that falls under Apache License Version 2.0. The -binaries that contain `-oss` in the artifact name are licensed under the Apache -License Version 2.0. diff --git a/7.2.0/README.md b/7.2.0/README.md deleted file mode 100644 index 44a207d..0000000 --- a/7.2.0/README.md +++ /dev/null @@ -1,39 +0,0 @@ -# opensource kibana v7.2.0 - -This is derived from -- https://hub.docker.com/_/kibana -- https://github.com/elastic/dockerfiles/tree/7.2/kibana -- https://www.elastic.co/downloads/past-releases/kibana-oss-7-2-0 - -## Ports -This container requires exposes port 5601. - -## Running the container -In the given example, Kibana will a attach to a user defined network (useful for connecting to other services (e.g. Elasticsearch)). If network has not yet been created, this can be done with the following command: - -`$ docker network create somenetwork` - -Note: In this example, Kibana is using the default configuration and expects to connect to a running Elasticsearch instance at http://elasticsearch:9200 - -**Configure** - - Pass environment variables to configure the container. - -- https://www.elastic.co/guide/en/kibana/7.2/docker.html -- https://www.elastic.co/guide/en/kibana/7.2/settings.html -- https://www.elastic.co/downloads/past-releases/kibana-oss-7-2-0 - -Example - -Environment Variable Kibana Setting - -SERVER_NAME server.name - -**Run Container** - -`$ docker run -ti --rm --name kibana --net somenetwork -p 5601:5601 -e name=value image-name:tag` - -Kibana can be accessed by browser via http://localhost:5601 or http://host-ip:5601 - -## Scan Artifacts -Artifacts from the scan on the this container may be found [here](https://dsop-pipeline-artifacts.s3-us-gov-west-1.amazonaws.com/testing/container-scan-reports/opensource/kibanav7.2.0/repo_map.html) diff --git a/7.2.0/bin/kibana-docker b/7.2.0/bin/kibana-docker deleted file mode 100644 index 6de4d93..0000000 --- a/7.2.0/bin/kibana-docker +++ /dev/null @@ -1,115 +0,0 @@ -#!/bin/bash -# -# ** THIS IS AN AUTO-GENERATED FILE ** -# - -# Run Kibana, using environment variables to set longopts defining Kibana's -# configuration. -# -# eg. Setting the environment variable: -# -# ELASTICSEARCH_STARTUPTIMEOUT=60 -# -# will cause Kibana to be invoked with: -# -# --elasticsearch.startupTimeout=60 - -kibana_vars=( - console.enabled - console.proxyConfig - console.proxyFilter - elasticsearch.customHeaders - elasticsearch.hosts - elasticsearch.logQueries - elasticsearch.password - elasticsearch.pingTimeout - elasticsearch.preserveHost - elasticsearch.requestHeadersWhitelist - elasticsearch.requestTimeout - elasticsearch.shardTimeout - elasticsearch.sniffInterval - elasticsearch.sniffOnConnectionFault - elasticsearch.sniffOnStart - elasticsearch.ssl.certificate - elasticsearch.ssl.certificateAuthorities - elasticsearch.ssl.key - elasticsearch.ssl.keyPassphrase - elasticsearch.ssl.verificationMode - elasticsearch.startupTimeout - elasticsearch.username - i18n.locale - kibana.defaultAppId - kibana.index - logging.dest - logging.quiet - logging.silent - logging.useUTC - logging.verbose - map.includeElasticMapsService - ops.interval - path.data - pid.file - regionmap - regionmap.includeElasticMapsService - server.basePath - server.customResponseHeaders - server.defaultRoute - server.host - server.maxPayloadBytes - server.name - server.port - server.rewriteBasePath - server.ssl.cert - server.ssl.certificate - server.ssl.certificateAuthorities - server.ssl.cipherSuites - server.ssl.clientAuthentication - server.customResponseHeaders - server.ssl.enabled - server.ssl.key - server.ssl.keyPassphrase - server.ssl.redirectHttpFromPort - server.ssl.supportedProtocols - server.xsrf.whitelist - status.allowAnonymous - status.v6ApiFormat - tilemap.options.attribution - tilemap.options.maxZoom - tilemap.options.minZoom - tilemap.options.subdomains - tilemap.url - timelion.enabled - vega.enableExternalUrls -) - -longopts='' -for kibana_var in ${kibana_vars[*]}; do - # 'elasticsearch.hosts' -> 'ELASTICSEARCH_HOSTS' - env_var=$(echo ${kibana_var^^} | tr . _) - - # Indirectly lookup env var values via the name of the var. - # REF: http://tldp.org/LDP/abs/html/bashver2.html#EX78 - value=${!env_var} - if [[ -n $value ]]; then - longopt="--${kibana_var}=${value}" - longopts+=" ${longopt}" - fi -done - -# Files created at run-time should be group-writable, for Openshift's sake. -umask 0002 - -# The virtual file /proc/self/cgroup should list the current cgroup -# membership. For each hierarchy, you can follow the cgroup path from -# this file to the cgroup filesystem (usually /sys/fs/cgroup/) and -# introspect the statistics for the cgroup for the given -# hierarchy. Alas, Docker breaks this by mounting the container -# statistics at the root while leaving the cgroup paths as the actual -# paths. Therefore, Kibana provides a mechanism to override -# reading the cgroup path from /proc/self/cgroup and instead uses the -# cgroup path defined the configuration properties -# cpu.cgroup.path.override and cpuacct.cgroup.path.override. -# Therefore, we set this value here so that cgroup statistics are -# available for the container this process will run in. - -exec /usr/share/kibana/bin/kibana --cpu.cgroup.path.override=/ --cpuacct.cgroup.path.override=/ ${longopts} "$@" \ No newline at end of file diff --git a/7.2.0/config/kibana.yml b/7.2.0/config/kibana.yml deleted file mode 100644 index d333100..0000000 --- a/7.2.0/config/kibana.yml +++ /dev/null @@ -1,9 +0,0 @@ - -# -# ** THIS IS AN AUTO-GENERATED FILE ** -# - -# Default Kibana configuration for docker target -server.name: kibana -server.host: "0" -elasticsearch.hosts: [ "http://elasticsearch:9200" ] \ No newline at end of file diff --git a/7.2.0/ingest.sh b/7.2.0/ingest.sh deleted file mode 100755 index a040b41..0000000 --- a/7.2.0/ingest.sh +++ /dev/null @@ -1,8 +0,0 @@ -NEXUS_REPO_URL="https://nexus.52.61.140.4.nip.io/repository/cht/kibana/7.2.0" - - -# Download the package from the web and then upload it to Nexus. -curl -Lf https://artifacts.elastic.co/downloads/kibana/kibana-oss-7.2.0-linux-x86_64.tar.gz -o /tmp/kibana-oss-7.2.0-linux-x86_64.tar.gz -curl --insecure -f -u $NEXUS_USERNAME:$NEXUS_PASSWORD --upload-file /tmp/kibana-oss-7.2.0-linux-x86_64.tar.gz ${NEXUS_REPO_URL}/kibana-oss-7.2.0-linux-x86_64.tar.gz -rm -vf /tmp/kibana-oss-7.2.0-linux-x86_64.tar.gz - diff --git a/7.5.1/Dockerfile b/7.5.1/Dockerfile deleted file mode 100644 index 8600ecc..0000000 --- a/7.5.1/Dockerfile +++ /dev/null @@ -1,74 +0,0 @@ -################################################################################ -# Build stage 0 -# Extract Kibana and make various file manipulations. -################################################################################ -ARG BASE_REGISTRY=registry.access.redhat.com -ARG BASE_IMAGE=ubi7/ubi -ARG BASE_TAG=7.7 - -FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG} AS prep_files - -ARG NEXUS_SCHEME=https -ARG NEXUS_SERVER=${NEXUS_SERVER} -ARG NEXUS_USERNAME=${NEXUS_USERNAME} -ARG NEXUS_PASSWORD=${NEXUS_PASSWORD} - -RUN cd /opt && curl --retry 8 -s -L -O -k -fu ${NEXUS_USERNAME}:${NEXUS_PASSWORD} ${NEXUS_SCHEME}://${NEXUS_SERVER}/repository/dsop/elastic/kibana/7.5.1/kibana-7.5.1-linux-x86_64.tar.gz && cd - - -RUN mkdir /usr/share/kibana -WORKDIR /usr/share/kibana -RUN tar --strip-components=1 -zxf /opt/kibana-7.5.1-linux-x86_64.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 -RUN find /usr/share/kibana -type d -exec chmod g+s {} \; - -################################################################################ -# Build stage 1 -# Copy prepared files from the previous stage and complete the image. -################################################################################ -FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG} -EXPOSE 5601 - -# Add an init process -ARG NEXUS_SCHEME=https -ARG NEXUS_SERVER=${NEXUS_SERVER} -ARG NEXUS_USERNAME=${NEXUS_USERNAME} -ARG NEXUS_PASSWORD=${NEXUS_PASSWORD} -RUN curl -s --create-dirs -k -fLu ${NEXUS_USERNAME}:${NEXUS_PASSWORD} ${NEXUS_SCHEME}://${NEXUS_SERVER}/repository/dsop/elastic/kibana/7.5.1/dumb-init -o /usr/local/bin/dumb-init -RUN chmod +x /usr/local/bin/dumb-init - -# Add Reporting dependencies. -RUN yum -y --nogpgcheck --disableplugin=subscription-manager update && yum install -y --nogpgcheck --disableplugin=subscription-manager fontconfig freetype && yum clean all - -# Bring in Kibana from the initial stage. -COPY --from=prep_files --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 --chown=1000:0 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 {} \; - -# Provide a non-root user to run the process. -RUN groupadd --gid 1000 kibana && useradd --uid 1000 --gid 1000 --home-dir /usr/share/kibana --no-create-home kibana -USER kibana - -LABEL org.label-schema.schema-version="1.0" org.label-schema.vendor="Elastic" org.label-schema.name="kibana" org.label-schema.version="7.5.1" org.label-schema.url="https://www.elastic.co/products/kibana" org.label-schema.vcs-url="https://github.com/elastic/kibana" org.label-schema.license="Elastic License" license="Elastic License" - -ENTRYPOINT ["/usr/local/bin/dumb-init", "--"] - -CMD ["/usr/local/bin/kibana-docker"] - -HEALTHCHECK --interval=10s --timeout=5s --start-period=1m --retries=5 CMD curl -I -f --max-time 5 http://localhost:5601 || exit 1 diff --git a/7.5.1/LICENSE b/7.5.1/LICENSE deleted file mode 100644 index e9174e2..0000000 --- a/7.5.1/LICENSE +++ /dev/null @@ -1,223 +0,0 @@ -ELASTIC LICENSE AGREEMENT - -PLEASE READ CAREFULLY THIS ELASTIC LICENSE AGREEMENT (THIS "AGREEMENT"), WHICH -CONSTITUTES A LEGALLY BINDING AGREEMENT AND GOVERNS ALL OF YOUR USE OF ALL OF -THE ELASTIC SOFTWARE WITH WHICH THIS AGREEMENT IS INCLUDED ("ELASTIC SOFTWARE") -THAT IS PROVIDED IN OBJECT CODE FORMAT, AND, IN ACCORDANCE WITH SECTION 2 BELOW, -CERTAIN OF THE ELASTIC SOFTWARE THAT IS PROVIDED IN SOURCE CODE FORMAT. BY -INSTALLING OR USING ANY OF THE ELASTIC SOFTWARE GOVERNED BY THIS AGREEMENT, YOU -ARE ASSENTING TO THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE -WITH SUCH TERMS AND CONDITIONS, YOU MAY NOT INSTALL OR USE THE ELASTIC SOFTWARE -GOVERNED BY THIS AGREEMENT. IF YOU ARE INSTALLING OR USING THE SOFTWARE ON -BEHALF OF A LEGAL ENTITY, YOU REPRESENT AND WARRANT THAT YOU HAVE THE ACTUAL -AUTHORITY TO AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT ON BEHALF OF -SUCH ENTITY. - -Posted Date: April 20, 2018 - -This Agreement is entered into by and between Elasticsearch BV ("Elastic") and -You, or the legal entity on behalf of whom You are acting (as applicable, -"You"). - -1. OBJECT CODE END USER LICENSES, RESTRICTIONS AND THIRD PARTY OPEN SOURCE -SOFTWARE - - 1.1 Object Code End User License. Subject to the terms and conditions of - Section 1.2 of this Agreement, Elastic hereby grants to You, AT NO CHARGE and - for so long as you are not in breach of any provision of this Agreement, a - License to the Basic Features and Functions of the Elastic Software. - - 1.2 Reservation of Rights; Restrictions. As between Elastic and You, Elastic - and its licensors own all right, title and interest in and to the Elastic - Software, and except as expressly set forth in Sections 1.1, and 2.1 of this - Agreement, no other license to the Elastic Software is granted to You under - this Agreement, by implication, estoppel or otherwise. You agree not to: (i) - reverse engineer or decompile, decrypt, disassemble or otherwise reduce any - Elastic Software provided to You in Object Code, or any portion thereof, to - Source Code, except and only to the extent any such restriction is prohibited - by applicable law, (ii) except as expressly permitted in this Agreement, - prepare derivative works from, modify, copy or use the Elastic Software Object - Code or the Commercial Software Source Code in any manner; (iii) except as - expressly permitted in Section 1.1 above, transfer, sell, rent, lease, - distribute, sublicense, loan or otherwise transfer, Elastic Software Object - Code, in whole or in part, to any third party; (iv) use Elastic Software - Object Code for providing time-sharing services, any software-as-a-service, - service bureau services or as part of an application services provider or - other service offering (collectively, "SaaS Offering") where obtaining access - to the Elastic Software or the features and functions of the Elastic Software - is a primary reason or substantial motivation for users of the SaaS Offering - to access and/or use the SaaS Offering ("Prohibited SaaS Offering"); (v) - circumvent the limitations on use of Elastic Software provided to You in - Object Code format that are imposed or preserved by any License Key, or (vi) - alter or remove any Marks and Notices in the Elastic Software. If You have any - question as to whether a specific SaaS Offering constitutes a Prohibited SaaS - Offering, or are interested in obtaining Elastic's permission to engage in - commercial or non-commercial distribution of the Elastic Software, please - contact elastic_license@elastic.co. - - 1.3 Third Party Open Source Software. The Commercial Software may contain or - be provided with third party open source libraries, components, utilities and - other open source software (collectively, "Open Source Software"), which Open - Source Software may have applicable license terms as identified on a website - designated by Elastic. Notwithstanding anything to the contrary herein, use of - the Open Source Software shall be subject to the license terms and conditions - applicable to such Open Source Software, to the extent required by the - applicable licensor (which terms shall not restrict the license rights granted - to You hereunder, but may contain additional rights). To the extent any - condition of this Agreement conflicts with any license to the Open Source - Software, the Open Source Software license will govern with respect to such - Open Source Software only. Elastic may also separately provide you with - certain open source software that is licensed by Elastic. Your use of such - Elastic open source software will not be governed by this Agreement, but by - the applicable open source license terms. - -2. COMMERCIAL SOFTWARE SOURCE CODE - - 2.1 Limited License. Subject to the terms and conditions of Section 2.2 of - this Agreement, Elastic hereby grants to You, AT NO CHARGE and for so long as - you are not in breach of any provision of this Agreement, a limited, - non-exclusive, non-transferable, fully paid up royalty free right and license - to the Commercial Software in Source Code format, without the right to grant - or authorize sublicenses, to prepare Derivative Works of the Commercial - Software, provided You (i) do not hack the licensing mechanism, or otherwise - circumvent the intended limitations on the use of Elastic Software to enable - features other than Basic Features and Functions or those features You are - entitled to as part of a Subscription, and (ii) use the resulting object code - only for reasonable testing purposes. - - 2.2 Restrictions. Nothing in Section 2.1 grants You the right to (i) use the - Commercial Software Source Code other than in accordance with Section 2.1 - above, (ii) use a Derivative Work of the Commercial Software outside of a - Non-production Environment, in any production capacity, on a temporary or - permanent basis, or (iii) transfer, sell, rent, lease, distribute, sublicense, - loan or otherwise make available the Commercial Software Source Code, in whole - or in part, to any third party. Notwithstanding the foregoing, You may - maintain a copy of the repository in which the Source Code of the Commercial - Software resides and that copy may be publicly accessible, provided that you - include this Agreement with Your copy of the repository. - -3. TERMINATION - - 3.1 Termination. This Agreement will automatically terminate, whether or not - You receive notice of such Termination from Elastic, if You breach any of its - provisions. - - 3.2 Post Termination. Upon any termination of this Agreement, for any reason, - You shall promptly cease the use of the Elastic Software in Object Code format - and cease use of the Commercial Software in Source Code format. For the - avoidance of doubt, termination of this Agreement will not affect Your right - to use Elastic Software, in either Object Code or Source Code formats, made - available under the Apache License Version 2.0. - - 3.3 Survival. Sections 1.2, 2.2. 3.3, 4 and 5 shall survive any termination or - expiration of this Agreement. - -4. DISCLAIMER OF WARRANTIES AND LIMITATION OF LIABILITY - - 4.1 Disclaimer of Warranties. TO THE MAXIMUM EXTENT PERMITTED UNDER APPLICABLE - LAW, THE ELASTIC SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, - AND ELASTIC AND ITS LICENSORS MAKE NO WARRANTIES WHETHER EXPRESSED, IMPLIED OR - STATUTORY REGARDING OR RELATING TO THE ELASTIC SOFTWARE. TO THE MAXIMUM EXTENT - PERMITTED UNDER APPLICABLE LAW, ELASTIC AND ITS LICENSORS SPECIFICALLY - DISCLAIM ALL IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR - PURPOSE AND NON-INFRINGEMENT WITH RESPECT TO THE ELASTIC SOFTWARE, AND WITH - RESPECT TO THE USE OF THE FOREGOING. FURTHER, ELASTIC DOES NOT WARRANT RESULTS - OF USE OR THAT THE ELASTIC SOFTWARE WILL BE ERROR FREE OR THAT THE USE OF THE - ELASTIC SOFTWARE WILL BE UNINTERRUPTED. - - 4.2 Limitation of Liability. IN NO EVENT SHALL ELASTIC OR ITS LICENSORS BE - LIABLE TO YOU OR ANY THIRD PARTY FOR ANY DIRECT OR INDIRECT DAMAGES, - INCLUDING, WITHOUT LIMITATION, FOR ANY LOSS OF PROFITS, LOSS OF USE, BUSINESS - INTERRUPTION, LOSS OF DATA, COST OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY - SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES OF ANY KIND, IN CONNECTION WITH - OR ARISING OUT OF THE USE OR INABILITY TO USE THE ELASTIC SOFTWARE, OR THE - PERFORMANCE OF OR FAILURE TO PERFORM THIS AGREEMENT, WHETHER ALLEGED AS A - BREACH OF CONTRACT OR TORTIOUS CONDUCT, INCLUDING NEGLIGENCE, EVEN IF ELASTIC - HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -5. MISCELLANEOUS - - This Agreement completely and exclusively states the entire agreement of the - parties regarding the subject matter herein, and it supersedes, and its terms - govern, all prior proposals, agreements, or other communications between the - parties, oral or written, regarding such subject matter. This Agreement may be - modified by Elastic from time to time, and any such modifications will be - effective upon the "Posted Date" set forth at the top of the modified - Agreement. If any provision hereof is held unenforceable, this Agreement will - continue without said provision and be interpreted to reflect the original - intent of the parties. This Agreement and any non-contractual obligation - arising out of or in connection with it, is governed exclusively by Dutch law. - This Agreement shall not be governed by the 1980 UN Convention on Contracts - for the International Sale of Goods. All disputes arising out of or in - connection with this Agreement, including its existence and validity, shall be - resolved by the courts with jurisdiction in Amsterdam, The Netherlands, except - where mandatory law provides for the courts at another location in The - Netherlands to have jurisdiction. The parties hereby irrevocably waive any and - all claims and defenses either might otherwise have in any such action or - proceeding in any of such courts based upon any alleged lack of personal - jurisdiction, improper venue, forum non conveniens or any similar claim or - defense. A breach or threatened breach, by You of Section 2 may cause - irreparable harm for which damages at law may not provide adequate relief, and - therefore Elastic shall be entitled to seek injunctive relief without being - required to post a bond. You may not assign this Agreement (including by - operation of law in connection with a merger or acquisition), in whole or in - part to any third party without the prior written consent of Elastic, which - may be withheld or granted by Elastic in its sole and absolute discretion. - Any assignment in violation of the preceding sentence is void. Notices to - Elastic may also be sent to legal@elastic.co. - -6. DEFINITIONS - - The following terms have the meanings ascribed: - - 6.1 "Affiliate" means, with respect to a party, any entity that controls, is - controlled by, or which is under common control with, such party, where - "control" means ownership of at least fifty percent (50%) of the outstanding - voting shares of the entity, or the contractual right to establish policy for, - and manage the operations of, the entity. - - 6.2 "Basic Features and Functions" means those features and functions of the - Elastic Software that are eligible for use under a Basic license, as set forth - at https://www.elastic.co/subscriptions, as may be modified by Elastic from - time to time. - - 6.3 "Commercial Software" means the Elastic Software Source Code in any file - containing a header stating the contents are subject to the Elastic License or - which is contained in the repository folder labeled "x-pack", unless a LICENSE - file present in the directory subtree declares a different license. - - 6.4 "Derivative Work of the Commercial Software" means, for purposes of this - Agreement, any modification(s) or enhancement(s) to the Commercial Software, - which represent, as a whole, an original work of authorship. - - 6.5 "License" means a limited, non-exclusive, non-transferable, fully paid up, - royalty free, right and license, without the right to grant or authorize - sublicenses, solely for Your internal business operations to (i) install and - use the applicable Features and Functions of the Elastic Software in Object - Code, and (ii) permit Contractors and Your Affiliates to use the Elastic - software as set forth in (i) above, provided that such use by Contractors must - be solely for Your benefit and/or the benefit of Your Affiliates, and You - shall be responsible for all acts and omissions of such Contractors and - Affiliates in connection with their use of the Elastic software that are - contrary to the terms and conditions of this Agreement. - - 6.6 "License Key" means a sequence of bytes, including but not limited to a - JSON blob, that is used to enable certain features and functions of the - Elastic Software. - - 6.7 "Marks and Notices" means all Elastic trademarks, trade names, logos and - notices present on the Documentation as originally provided by Elastic. - - 6.8 "Non-production Environment" means an environment for development, testing - or quality assurance, where software is not used for production purposes. - - 6.9 "Object Code" means any form resulting from mechanical transformation or - translation of Source Code form, including but not limited to compiled object - code, generated documentation, and conversions to other media types. - - 6.10 "Source Code" means the preferred form of computer software for making - modifications, including but not limited to software source code, - documentation source, and configuration files. - - 6.11 "Subscription" means the right to receive Support Services and a License - to the Commercial Software. \ No newline at end of file diff --git a/7.5.1/README.md b/7.5.1/README.md deleted file mode 100644 index 58ff01a..0000000 --- a/7.5.1/README.md +++ /dev/null @@ -1,38 +0,0 @@ -# Kibana - -**Kibana** lets you visualize your Elasticsearch data and navigate the Elastic Stack, -so you can do anything from learning why you're getting paged at 2:00 a.m. to -understanding the impact rain might have on your quarterly numbers. - -For more information about Kibana, please visit -https://www.elastic.co/products/kibana. - -### Installation instructions - -Please follow the documentation on [running Kibana on Docker](https://www.elastic.co/guide/en/kibana/7.5/docker.html). - -### Where to file issues and PRs - -- [Issues](https://github.com/elastic/kibana/issues) -- [PRs](https://github.com/elastic/kibana/pulls) - - -### Where to get help - -- [Kibana Discuss Forums](https://discuss.elastic.co/c/kibana) -- [Kibana Documentation](https://www.elastic.co/guide/en/kibana/current/index.html) - - -### Still need help? - -You can learn more about the Elastic Community and also understand how to get more help -visiting [Elastic Community](https://www.elastic.co/community). - - -This software is governed by the [Elastic -License](https://github.com/elastic/elasticsearch/blob/7.5/licenses/ELASTIC-LICENSE.txt), -and includes the full set of [free -features](https://www.elastic.co/subscriptions). - -View the detailed release notes -[here](https://www.elastic.co/guide/en/elasticsearch/reference/7.5/es-release-notes.html). diff --git a/7.5.1/bin/kibana-docker b/7.5.1/bin/kibana-docker deleted file mode 100644 index 2ae1278..0000000 --- a/7.5.1/bin/kibana-docker +++ /dev/null @@ -1,192 +0,0 @@ -#!/bin/bash -# -# ** THIS IS AN AUTO-GENERATED FILE ** -# - -# Run Kibana, using environment variables to set longopts defining Kibana's -# configuration. -# -# eg. Setting the environment variable: -# -# ELASTICSEARCH_STARTUPTIMEOUT=60 -# -# will cause Kibana to be invoked with: -# -# --elasticsearch.startupTimeout=60 - -kibana_vars=( - console.enabled - console.proxyConfig - console.proxyFilter - elasticsearch.customHeaders - elasticsearch.hosts - elasticsearch.logQueries - elasticsearch.password - elasticsearch.pingTimeout - elasticsearch.preserveHost - elasticsearch.requestHeadersWhitelist - elasticsearch.requestTimeout - elasticsearch.shardTimeout - elasticsearch.sniffInterval - elasticsearch.sniffOnConnectionFault - elasticsearch.sniffOnStart - elasticsearch.ssl.certificate - elasticsearch.ssl.certificateAuthorities - elasticsearch.ssl.key - elasticsearch.ssl.keyPassphrase - elasticsearch.ssl.verificationMode - elasticsearch.startupTimeout - elasticsearch.username - i18n.locale - kibana.defaultAppId - kibana.index - logging.dest - logging.quiet - logging.silent - logging.useUTC - logging.verbose - map.includeElasticMapsService - ops.interval - path.data - pid.file - regionmap - regionmap.includeElasticMapsService - server.basePath - server.customResponseHeaders - server.defaultRoute - server.host - server.maxPayloadBytes - server.name - server.port - server.rewriteBasePath - server.ssl.cert - server.ssl.certificate - server.ssl.certificateAuthorities - server.ssl.cipherSuites - server.ssl.clientAuthentication - server.customResponseHeaders - server.ssl.enabled - server.ssl.key - server.ssl.keyPassphrase - server.ssl.redirectHttpFromPort - server.ssl.supportedProtocols - server.xsrf.whitelist - status.allowAnonymous - status.v6ApiFormat - tilemap.options.attribution - tilemap.options.maxZoom - tilemap.options.minZoom - tilemap.options.subdomains - tilemap.url - timelion.enabled - vega.enableExternalUrls - xpack.apm.enabled - xpack.apm.ui.enabled - xpack.apm.ui.maxTraceItems - apm_oss.apmAgentConfigurationIndex - apm_oss.indexPattern - apm_oss.errorIndices - apm_oss.onboardingIndices - apm_oss.spanIndices - apm_oss.transactionIndices - apm_oss.metricsIndices - xpack.canvas.enabled - xpack.graph.enabled - xpack.grokdebugger.enabled - xpack.infra.enabled - xpack.infra.query.partitionFactor - xpack.infra.query.partitionSize - xpack.infra.sources.default.fields.container - xpack.infra.sources.default.fields.host - xpack.infra.sources.default.fields.message - xpack.infra.sources.default.fields.pod - xpack.infra.sources.default.fields.tiebreaker - xpack.infra.sources.default.fields.timestamp - xpack.infra.sources.default.logAlias - xpack.infra.sources.default.metricAlias - xpack.ml.enabled - xpack.monitoring.elasticsearch.password - xpack.monitoring.elasticsearch.pingTimeout - xpack.monitoring.elasticsearch.hosts - xpack.monitoring.elasticsearch.username - xpack.monitoring.elasticsearch.ssl.certificateAuthorities - xpack.monitoring.elasticsearch.ssl.verificationMode - xpack.monitoring.enabled - xpack.monitoring.kibana.collection.enabled - xpack.monitoring.kibana.collection.interval - xpack.monitoring.max_bucket_size - xpack.monitoring.min_interval_seconds - xpack.monitoring.node_resolver - xpack.monitoring.report_stats - xpack.monitoring.elasticsearch.pingTimeout - xpack.monitoring.ui.container.elasticsearch.enabled - xpack.monitoring.ui.container.logstash.enabled - xpack.monitoring.ui.enabled - xpack.reporting.capture.browser.chromium.disableSandbox - xpack.reporting.capture.browser.chromium.proxy.enabled - xpack.reporting.capture.browser.chromium.proxy.server - xpack.reporting.capture.browser.chromium.proxy.bypass - xpack.reporting.capture.browser.type - xpack.reporting.capture.concurrency - xpack.reporting.capture.loadDelay - xpack.reporting.capture.settleTime - xpack.reporting.capture.timeout - xpack.reporting.csv.maxSizeBytes - xpack.reporting.enabled - xpack.reporting.encryptionKey - xpack.reporting.index - xpack.reporting.kibanaApp - xpack.reporting.kibanaServer.hostname - xpack.reporting.kibanaServer.port - xpack.reporting.kibanaServer.protocol - xpack.reporting.queue.indexInterval - xpack.reporting.queue.pollInterval - xpack.reporting.queue.timeout - xpack.reporting.roles.allow - xpack.searchprofiler.enabled - xpack.security.authProviders - xpack.security.authc.providers - xpack.security.authc.oidc.realm - xpack.security.authc.saml.realm - xpack.security.cookieName - xpack.security.enabled - xpack.security.encryptionKey - xpack.security.secureCookies - xpack.security.sessionTimeout - xpack.security.public.protocol - xpack.security.public.hostname - xpack.security.public.port - xpack.telemetry.enabled -) - -longopts='' -for kibana_var in ${kibana_vars[*]}; do - # 'elasticsearch.hosts' -> 'ELASTICSEARCH_HOSTS' - env_var=$(echo ${kibana_var^^} | tr . _) - - # Indirectly lookup env var values via the name of the var. - # REF: http://tldp.org/LDP/abs/html/bashver2.html#EX78 - value=${!env_var} - if [[ -n $value ]]; then - longopt="--${kibana_var}=${value}" - longopts+=" ${longopt}" - fi -done - -# Files created at run-time should be group-writable, for Openshift's sake. -umask 0002 - -# The virtual file /proc/self/cgroup should list the current cgroup -# membership. For each hierarchy, you can follow the cgroup path from -# this file to the cgroup filesystem (usually /sys/fs/cgroup/) and -# introspect the statistics for the cgroup for the given -# hierarchy. Alas, Docker breaks this by mounting the container -# statistics at the root while leaving the cgroup paths as the actual -# paths. Therefore, Kibana provides a mechanism to override -# reading the cgroup path from /proc/self/cgroup and instead uses the -# cgroup path defined the configuration properties -# cpu.cgroup.path.override and cpuacct.cgroup.path.override. -# Therefore, we set this value here so that cgroup statistics are -# available for the container this process will run in. - -exec /usr/share/kibana/bin/kibana --cpu.cgroup.path.override=/ --cpuacct.cgroup.path.override=/ ${longopts} "$@" diff --git a/7.5.1/scripts/prebuild.sh b/7.5.1/scripts/prebuild.sh deleted file mode 100755 index a0b44dc..0000000 --- a/7.5.1/scripts/prebuild.sh +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/bash -set -e - -### Environment Variables ### -ELASTIC_PRODUCT=kibana -ELASTIC_VERSION=7.5.1 -ELASTIC_GPG_KEY_FINGERPRINT=46095ACC8548582C1A2699A9D27D666CD88E42B4 -PACKAGE_NAME=${ELASTIC_PRODUCT}-${ELASTIC_VERSION}-linux-x86_64.tar.gz - -# These three variables are required to push whatever outside binaries your container needs at build time to our Nexus repo -NEXUS_SCHEME=${NEXUS_SCHEME:-https} -NEXUS_SERVER="${NEXUS_SERVER}/repository/dsop" -NEXUS_USERNAME="${NEXUS_USERNAME}" -NEXUS_PASSWORD="${NEXUS_PASSWORD}" - -NEXUS_SERVER_URL="${NEXUS_SCHEME}://${NEXUS_SERVER}/elastic/${ELASTIC_PRODUCT}/${ELASTIC_VERSION}" - -################################################################################# - -### Set & create paths ### -START_DIR=$(pwd) -STAGING_DIR="$(mktemp -d -t elastic_${ELASTIC_PRODUCT}.XXXXXXXXXX)" - -mkdir -p ${STAGING_DIR} -cd ${STAGING_DIR} - -### Download files/dependencies ### -#download an init process -curl -sL https://github.com/Yelp/dumb-init/releases/download/v1.2.2/dumb-init_1.2.2_amd64 -o dumb-init -echo "37f2c1f0372a45554f1b89924fbb134fc24c3756efaedf11e07f599494e0eff9 dumb-init" | sha256sum -c - - -curl -sO https://artifacts.elastic.co/downloads/${ELASTIC_PRODUCT}/${PACKAGE_NAME} -curl -sO https://artifacts.elastic.co/downloads/${ELASTIC_PRODUCT}/${PACKAGE_NAME}.asc -curl -sO https://artifacts.elastic.co/downloads/${ELASTIC_PRODUCT}/${PACKAGE_NAME}.sha512 -sha512sum --check "${PACKAGE_NAME}.sha512" - -### GPG Signature Check ### - -curl -sO https://artifacts.elastic.co/GPG-KEY-elasticsearch - -# verify the key has the expected fingerprint - -gpg --import GPG-KEY-elasticsearch - -gpg --verify "${PACKAGE_NAME}.asc" "$PACKAGE_NAME" - - -### Nexus Repo Upload ### -for package in ${PACKAGE_NAME} ${PACKAGE_NAME}.asc ${PACKAGE_NAME}.sha512 dumb-init -do - curl -k -fu ${NEXUS_USERNAME}:${NEXUS_PASSWORD} -T ${package} ${NEXUS_SERVER_URL}/${package} -done - -### Cleanup ### -cd ${START_DIR} - -if [[ $NOCLEAN ]]; then - echo "Staging folder not deleted : ${STAGING_DIR}" -else - rm -rf ${STAGING_DIR} -fi diff --git a/7.5.2/Dockerfile b/7.5.2/Dockerfile deleted file mode 100644 index ae27acb..0000000 --- a/7.5.2/Dockerfile +++ /dev/null @@ -1,74 +0,0 @@ -################################################################################ -# Build stage 0 -# Extract Kibana and make various file manipulations. -################################################################################ -ARG BASE_REGISTRY=registry.access.redhat.com -ARG BASE_IMAGE=ubi8/ubi -ARG BASE_TAG=8.1 - -FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG} AS prep_files - -ARG NEXUS_SCHEME=https -ARG NEXUS_SERVER=${NEXUS_SERVER} -ARG NEXUS_USERNAME=${NEXUS_USERNAME} -ARG NEXUS_PASSWORD=${NEXUS_PASSWORD} - -RUN cd /opt && curl --retry 8 -s -L -O -k -fu ${NEXUS_USERNAME}:${NEXUS_PASSWORD} ${NEXUS_SCHEME}://${NEXUS_SERVER}/repository/dsop/elastic/kibana/7.5.2/kibana-7.5.2-linux-x86_64.tar.gz && cd - - -RUN mkdir /usr/share/kibana -WORKDIR /usr/share/kibana -RUN tar --strip-components=1 -zxf /opt/kibana-7.5.2-linux-x86_64.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 -RUN find /usr/share/kibana -type d -exec chmod g+s {} \; - -################################################################################ -# Build stage 1 -# Copy prepared files from the previous stage and complete the image. -################################################################################ -FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG} -EXPOSE 5601 - -# Add an init process -ARG NEXUS_SCHEME=https -ARG NEXUS_SERVER=${NEXUS_SERVER} -ARG NEXUS_USERNAME=${NEXUS_USERNAME} -ARG NEXUS_PASSWORD=${NEXUS_PASSWORD} -RUN curl -s --create-dirs -k -fLu ${NEXUS_USERNAME}:${NEXUS_PASSWORD} ${NEXUS_SCHEME}://${NEXUS_SERVER}/repository/dsop/elastic/kibana/7.5.2/dumb-init -o /usr/local/bin/dumb-init -RUN chmod +x /usr/local/bin/dumb-init - -# Add Reporting dependencies. -RUN yum -y --nogpgcheck --disableplugin=subscription-manager update && yum install -y --nogpgcheck --disableplugin=subscription-manager fontconfig freetype && yum clean all - -# Bring in Kibana from the initial stage. -COPY --from=prep_files --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 --chown=1000:0 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 {} \; - -# Provide a non-root user to run the process. -RUN groupadd --gid 1000 kibana && useradd --uid 1000 --gid 1000 --home-dir /usr/share/kibana --no-create-home kibana -USER kibana - -LABEL org.label-schema.schema-version="1.0" org.label-schema.vendor="Elastic" org.label-schema.name="kibana" org.label-schema.version="7.5.2" org.label-schema.url="https://www.elastic.co/products/kibana" org.label-schema.vcs-url="https://github.com/elastic/kibana" org.label-schema.license="Elastic License" license="Elastic License" - -ENTRYPOINT ["/usr/local/bin/dumb-init", "--"] - -CMD ["/usr/local/bin/kibana-docker"] - -HEALTHCHECK --interval=10s --timeout=5s --start-period=1m --retries=5 CMD curl -I -f --max-time 5 http://localhost:5601 || exit 1 diff --git a/7.5.2/README.md b/7.5.2/README.md deleted file mode 100644 index 58ff01a..0000000 --- a/7.5.2/README.md +++ /dev/null @@ -1,38 +0,0 @@ -# Kibana - -**Kibana** lets you visualize your Elasticsearch data and navigate the Elastic Stack, -so you can do anything from learning why you're getting paged at 2:00 a.m. to -understanding the impact rain might have on your quarterly numbers. - -For more information about Kibana, please visit -https://www.elastic.co/products/kibana. - -### Installation instructions - -Please follow the documentation on [running Kibana on Docker](https://www.elastic.co/guide/en/kibana/7.5/docker.html). - -### Where to file issues and PRs - -- [Issues](https://github.com/elastic/kibana/issues) -- [PRs](https://github.com/elastic/kibana/pulls) - - -### Where to get help - -- [Kibana Discuss Forums](https://discuss.elastic.co/c/kibana) -- [Kibana Documentation](https://www.elastic.co/guide/en/kibana/current/index.html) - - -### Still need help? - -You can learn more about the Elastic Community and also understand how to get more help -visiting [Elastic Community](https://www.elastic.co/community). - - -This software is governed by the [Elastic -License](https://github.com/elastic/elasticsearch/blob/7.5/licenses/ELASTIC-LICENSE.txt), -and includes the full set of [free -features](https://www.elastic.co/subscriptions). - -View the detailed release notes -[here](https://www.elastic.co/guide/en/elasticsearch/reference/7.5/es-release-notes.html). diff --git a/7.5.2/bin/kibana-docker b/7.5.2/bin/kibana-docker deleted file mode 100755 index 2ae1278..0000000 --- a/7.5.2/bin/kibana-docker +++ /dev/null @@ -1,192 +0,0 @@ -#!/bin/bash -# -# ** THIS IS AN AUTO-GENERATED FILE ** -# - -# Run Kibana, using environment variables to set longopts defining Kibana's -# configuration. -# -# eg. Setting the environment variable: -# -# ELASTICSEARCH_STARTUPTIMEOUT=60 -# -# will cause Kibana to be invoked with: -# -# --elasticsearch.startupTimeout=60 - -kibana_vars=( - console.enabled - console.proxyConfig - console.proxyFilter - elasticsearch.customHeaders - elasticsearch.hosts - elasticsearch.logQueries - elasticsearch.password - elasticsearch.pingTimeout - elasticsearch.preserveHost - elasticsearch.requestHeadersWhitelist - elasticsearch.requestTimeout - elasticsearch.shardTimeout - elasticsearch.sniffInterval - elasticsearch.sniffOnConnectionFault - elasticsearch.sniffOnStart - elasticsearch.ssl.certificate - elasticsearch.ssl.certificateAuthorities - elasticsearch.ssl.key - elasticsearch.ssl.keyPassphrase - elasticsearch.ssl.verificationMode - elasticsearch.startupTimeout - elasticsearch.username - i18n.locale - kibana.defaultAppId - kibana.index - logging.dest - logging.quiet - logging.silent - logging.useUTC - logging.verbose - map.includeElasticMapsService - ops.interval - path.data - pid.file - regionmap - regionmap.includeElasticMapsService - server.basePath - server.customResponseHeaders - server.defaultRoute - server.host - server.maxPayloadBytes - server.name - server.port - server.rewriteBasePath - server.ssl.cert - server.ssl.certificate - server.ssl.certificateAuthorities - server.ssl.cipherSuites - server.ssl.clientAuthentication - server.customResponseHeaders - server.ssl.enabled - server.ssl.key - server.ssl.keyPassphrase - server.ssl.redirectHttpFromPort - server.ssl.supportedProtocols - server.xsrf.whitelist - status.allowAnonymous - status.v6ApiFormat - tilemap.options.attribution - tilemap.options.maxZoom - tilemap.options.minZoom - tilemap.options.subdomains - tilemap.url - timelion.enabled - vega.enableExternalUrls - xpack.apm.enabled - xpack.apm.ui.enabled - xpack.apm.ui.maxTraceItems - apm_oss.apmAgentConfigurationIndex - apm_oss.indexPattern - apm_oss.errorIndices - apm_oss.onboardingIndices - apm_oss.spanIndices - apm_oss.transactionIndices - apm_oss.metricsIndices - xpack.canvas.enabled - xpack.graph.enabled - xpack.grokdebugger.enabled - xpack.infra.enabled - xpack.infra.query.partitionFactor - xpack.infra.query.partitionSize - xpack.infra.sources.default.fields.container - xpack.infra.sources.default.fields.host - xpack.infra.sources.default.fields.message - xpack.infra.sources.default.fields.pod - xpack.infra.sources.default.fields.tiebreaker - xpack.infra.sources.default.fields.timestamp - xpack.infra.sources.default.logAlias - xpack.infra.sources.default.metricAlias - xpack.ml.enabled - xpack.monitoring.elasticsearch.password - xpack.monitoring.elasticsearch.pingTimeout - xpack.monitoring.elasticsearch.hosts - xpack.monitoring.elasticsearch.username - xpack.monitoring.elasticsearch.ssl.certificateAuthorities - xpack.monitoring.elasticsearch.ssl.verificationMode - xpack.monitoring.enabled - xpack.monitoring.kibana.collection.enabled - xpack.monitoring.kibana.collection.interval - xpack.monitoring.max_bucket_size - xpack.monitoring.min_interval_seconds - xpack.monitoring.node_resolver - xpack.monitoring.report_stats - xpack.monitoring.elasticsearch.pingTimeout - xpack.monitoring.ui.container.elasticsearch.enabled - xpack.monitoring.ui.container.logstash.enabled - xpack.monitoring.ui.enabled - xpack.reporting.capture.browser.chromium.disableSandbox - xpack.reporting.capture.browser.chromium.proxy.enabled - xpack.reporting.capture.browser.chromium.proxy.server - xpack.reporting.capture.browser.chromium.proxy.bypass - xpack.reporting.capture.browser.type - xpack.reporting.capture.concurrency - xpack.reporting.capture.loadDelay - xpack.reporting.capture.settleTime - xpack.reporting.capture.timeout - xpack.reporting.csv.maxSizeBytes - xpack.reporting.enabled - xpack.reporting.encryptionKey - xpack.reporting.index - xpack.reporting.kibanaApp - xpack.reporting.kibanaServer.hostname - xpack.reporting.kibanaServer.port - xpack.reporting.kibanaServer.protocol - xpack.reporting.queue.indexInterval - xpack.reporting.queue.pollInterval - xpack.reporting.queue.timeout - xpack.reporting.roles.allow - xpack.searchprofiler.enabled - xpack.security.authProviders - xpack.security.authc.providers - xpack.security.authc.oidc.realm - xpack.security.authc.saml.realm - xpack.security.cookieName - xpack.security.enabled - xpack.security.encryptionKey - xpack.security.secureCookies - xpack.security.sessionTimeout - xpack.security.public.protocol - xpack.security.public.hostname - xpack.security.public.port - xpack.telemetry.enabled -) - -longopts='' -for kibana_var in ${kibana_vars[*]}; do - # 'elasticsearch.hosts' -> 'ELASTICSEARCH_HOSTS' - env_var=$(echo ${kibana_var^^} | tr . _) - - # Indirectly lookup env var values via the name of the var. - # REF: http://tldp.org/LDP/abs/html/bashver2.html#EX78 - value=${!env_var} - if [[ -n $value ]]; then - longopt="--${kibana_var}=${value}" - longopts+=" ${longopt}" - fi -done - -# Files created at run-time should be group-writable, for Openshift's sake. -umask 0002 - -# The virtual file /proc/self/cgroup should list the current cgroup -# membership. For each hierarchy, you can follow the cgroup path from -# this file to the cgroup filesystem (usually /sys/fs/cgroup/) and -# introspect the statistics for the cgroup for the given -# hierarchy. Alas, Docker breaks this by mounting the container -# statistics at the root while leaving the cgroup paths as the actual -# paths. Therefore, Kibana provides a mechanism to override -# reading the cgroup path from /proc/self/cgroup and instead uses the -# cgroup path defined the configuration properties -# cpu.cgroup.path.override and cpuacct.cgroup.path.override. -# Therefore, we set this value here so that cgroup statistics are -# available for the container this process will run in. - -exec /usr/share/kibana/bin/kibana --cpu.cgroup.path.override=/ --cpuacct.cgroup.path.override=/ ${longopts} "$@" diff --git a/7.5.2/config/kibana.yml b/7.5.2/config/kibana.yml deleted file mode 100644 index 448501f..0000000 --- a/7.5.2/config/kibana.yml +++ /dev/null @@ -1,9 +0,0 @@ -# -# ** THIS IS AN AUTO-GENERATED FILE ** -# - -# Default Kibana configuration for docker target -server.name: kibana -server.host: "0" -elasticsearch.hosts: [ "http://elasticsearch:9200" ] -xpack.monitoring.ui.container.elasticsearch.enabled: true diff --git a/7.5.2/scripts/prebuild.sh b/7.5.2/scripts/prebuild.sh deleted file mode 100755 index 8275987..0000000 --- a/7.5.2/scripts/prebuild.sh +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/bash -set -e - -### Environment Variables ### -ELASTIC_PRODUCT=kibana -ELASTIC_VERSION=7.5.2 -ELASTIC_GPG_KEY_FINGERPRINT=46095ACC8548582C1A2699A9D27D666CD88E42B4 -PACKAGE_NAME=${ELASTIC_PRODUCT}-${ELASTIC_VERSION}-linux-x86_64.tar.gz - -# These three variables are required to push whatever outside binaries your container needs at build time to our Nexus repo -NEXUS_SCHEME=${NEXUS_SCHEME:-https} -NEXUS_SERVER="${NEXUS_SERVER}/repository/dsop" -NEXUS_USERNAME="${NEXUS_USERNAME}" -NEXUS_PASSWORD="${NEXUS_PASSWORD}" - -NEXUS_SERVER_URL="${NEXUS_SCHEME}://${NEXUS_SERVER}/elastic/${ELASTIC_PRODUCT}/${ELASTIC_VERSION}" - -################################################################################# - -### Set & create paths ### -START_DIR=$(pwd) -STAGING_DIR="$(mktemp -d -t elastic_${ELASTIC_PRODUCT}.XXXXXXXXXX)" - -mkdir -p ${STAGING_DIR} -cd ${STAGING_DIR} - -### Download files/dependencies ### -#download an init process -curl -sL https://github.com/Yelp/dumb-init/releases/download/v1.2.2/dumb-init_1.2.2_amd64 -o dumb-init -echo "37f2c1f0372a45554f1b89924fbb134fc24c3756efaedf11e07f599494e0eff9 dumb-init" | sha256sum -c - - -echo "Downloading ${ELASTIC_PRODUCT}/${PACKAGE_NAME}" -curl -sO https://artifacts.elastic.co/downloads/${ELASTIC_PRODUCT}/${PACKAGE_NAME} -curl -sO https://artifacts.elastic.co/downloads/${ELASTIC_PRODUCT}/${PACKAGE_NAME}.asc -curl -sO https://artifacts.elastic.co/downloads/${ELASTIC_PRODUCT}/${PACKAGE_NAME}.sha512 -sha512sum --check "${PACKAGE_NAME}.sha512" - -echo "Downloads Successful" - -### GPG Signature Check ### - -#curl -sO https://artifacts.elastic.co/GPG-KEY-elasticsearch -# -## verify the key has the expected fingerprint -#gpg -n --keyid-format long --list-options show-keyring GPG-KEY-elasticsearch | grep "$ELASTIC_GPG_KEY_FINGERPRINT" -# -#gpg --import GPG-KEY-elasticsearch -# -#gpg --verify "${PACKAGE_NAME}.asc" "$PACKAGE_NAME" - -#if [ $? -eq 0 ] -#then -# echo "The key has the expected fingerprint." -#else -# echo "There is a Problem with signature." -#fi - -### Nexus Repo Upload ### -for package in ${PACKAGE_NAME} ${PACKAGE_NAME}.asc ${PACKAGE_NAME}.sha512 dumb-init -do - curl -k -fu ${NEXUS_USERNAME}:${NEXUS_PASSWORD} -T ${package} ${NEXUS_SERVER_URL}/${package} - echo "${package} uploaded" -done - -### Cleanup ### -cd ${START_DIR} - -if [[ $NOCLEAN ]]; then - echo "Staging folder not deleted : ${STAGING_DIR}" -else - rm -rf ${STAGING_DIR} -fi diff --git a/7.6.0/Jenkinsfile b/7.6.0/Jenkinsfile deleted file mode 100644 index 1e590cb..0000000 --- a/7.6.0/Jenkinsfile +++ /dev/null @@ -1,2 +0,0 @@ -@Library('DCCSCR@master') _ -dccscrPipeline() diff --git a/7.6.0/LICENSE b/7.6.0/LICENSE deleted file mode 100644 index 7376ffc..0000000 --- a/7.6.0/LICENSE +++ /dev/null @@ -1,223 +0,0 @@ -ELASTIC LICENSE AGREEMENT - -PLEASE READ CAREFULLY THIS ELASTIC LICENSE AGREEMENT (THIS "AGREEMENT"), WHICH -CONSTITUTES A LEGALLY BINDING AGREEMENT AND GOVERNS ALL OF YOUR USE OF ALL OF -THE ELASTIC SOFTWARE WITH WHICH THIS AGREEMENT IS INCLUDED ("ELASTIC SOFTWARE") -THAT IS PROVIDED IN OBJECT CODE FORMAT, AND, IN ACCORDANCE WITH SECTION 2 BELOW, -CERTAIN OF THE ELASTIC SOFTWARE THAT IS PROVIDED IN SOURCE CODE FORMAT. BY -INSTALLING OR USING ANY OF THE ELASTIC SOFTWARE GOVERNED BY THIS AGREEMENT, YOU -ARE ASSENTING TO THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE -WITH SUCH TERMS AND CONDITIONS, YOU MAY NOT INSTALL OR USE THE ELASTIC SOFTWARE -GOVERNED BY THIS AGREEMENT. IF YOU ARE INSTALLING OR USING THE SOFTWARE ON -BEHALF OF A LEGAL ENTITY, YOU REPRESENT AND WARRANT THAT YOU HAVE THE ACTUAL -AUTHORITY TO AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT ON BEHALF OF -SUCH ENTITY. - -Posted Date: April 20, 2018 - -This Agreement is entered into by and between Elasticsearch BV ("Elastic") and -You, or the legal entity on behalf of whom You are acting (as applicable, -"You"). - -1. OBJECT CODE END USER LICENSES, RESTRICTIONS AND THIRD PARTY OPEN SOURCE -SOFTWARE - - 1.1 Object Code End User License. Subject to the terms and conditions of - Section 1.2 of this Agreement, Elastic hereby grants to You, AT NO CHARGE and - for so long as you are not in breach of any provision of this Agreement, a - License to the Basic Features and Functions of the Elastic Software. - - 1.2 Reservation of Rights; Restrictions. As between Elastic and You, Elastic - and its licensors own all right, title and interest in and to the Elastic - Software, and except as expressly set forth in Sections 1.1, and 2.1 of this - Agreement, no other license to the Elastic Software is granted to You under - this Agreement, by implication, estoppel or otherwise. You agree not to: (i) - reverse engineer or decompile, decrypt, disassemble or otherwise reduce any - Elastic Software provided to You in Object Code, or any portion thereof, to - Source Code, except and only to the extent any such restriction is prohibited - by applicable law, (ii) except as expressly permitted in this Agreement, - prepare derivative works from, modify, copy or use the Elastic Software Object - Code or the Commercial Software Source Code in any manner; (iii) except as - expressly permitted in Section 1.1 above, transfer, sell, rent, lease, - distribute, sublicense, loan or otherwise transfer, Elastic Software Object - Code, in whole or in part, to any third party; (iv) use Elastic Software - Object Code for providing time-sharing services, any software-as-a-service, - service bureau services or as part of an application services provider or - other service offering (collectively, "SaaS Offering") where obtaining access - to the Elastic Software or the features and functions of the Elastic Software - is a primary reason or substantial motivation for users of the SaaS Offering - to access and/or use the SaaS Offering ("Prohibited SaaS Offering"); (v) - circumvent the limitations on use of Elastic Software provided to You in - Object Code format that are imposed or preserved by any License Key, or (vi) - alter or remove any Marks and Notices in the Elastic Software. If You have any - question as to whether a specific SaaS Offering constitutes a Prohibited SaaS - Offering, or are interested in obtaining Elastic's permission to engage in - commercial or non-commercial distribution of the Elastic Software, please - contact elastic_license@elastic.co. - - 1.3 Third Party Open Source Software. The Commercial Software may contain or - be provided with third party open source libraries, components, utilities and - other open source software (collectively, "Open Source Software"), which Open - Source Software may have applicable license terms as identified on a website - designated by Elastic. Notwithstanding anything to the contrary herein, use of - the Open Source Software shall be subject to the license terms and conditions - applicable to such Open Source Software, to the extent required by the - applicable licensor (which terms shall not restrict the license rights granted - to You hereunder, but may contain additional rights). To the extent any - condition of this Agreement conflicts with any license to the Open Source - Software, the Open Source Software license will govern with respect to such - Open Source Software only. Elastic may also separately provide you with - certain open source software that is licensed by Elastic. Your use of such - Elastic open source software will not be governed by this Agreement, but by - the applicable open source license terms. - -2. COMMERCIAL SOFTWARE SOURCE CODE - - 2.1 Limited License. Subject to the terms and conditions of Section 2.2 of - this Agreement, Elastic hereby grants to You, AT NO CHARGE and for so long as - you are not in breach of any provision of this Agreement, a limited, - non-exclusive, non-transferable, fully paid up royalty free right and license - to the Commercial Software in Source Code format, without the right to grant - or authorize sublicenses, to prepare Derivative Works of the Commercial - Software, provided You (i) do not hack the licensing mechanism, or otherwise - circumvent the intended limitations on the use of Elastic Software to enable - features other than Basic Features and Functions or those features You are - entitled to as part of a Subscription, and (ii) use the resulting object code - only for reasonable testing purposes. - - 2.2 Restrictions. Nothing in Section 2.1 grants You the right to (i) use the - Commercial Software Source Code other than in accordance with Section 2.1 - above, (ii) use a Derivative Work of the Commercial Software outside of a - Non-production Environment, in any production capacity, on a temporary or - permanent basis, or (iii) transfer, sell, rent, lease, distribute, sublicense, - loan or otherwise make available the Commercial Software Source Code, in whole - or in part, to any third party. Notwithstanding the foregoing, You may - maintain a copy of the repository in which the Source Code of the Commercial - Software resides and that copy may be publicly accessible, provided that you - include this Agreement with Your copy of the repository. - -3. TERMINATION - - 3.1 Termination. This Agreement will automatically terminate, whether or not - You receive notice of such Termination from Elastic, if You breach any of its - provisions. - - 3.2 Post Termination. Upon any termination of this Agreement, for any reason, - You shall promptly cease the use of the Elastic Software in Object Code format - and cease use of the Commercial Software in Source Code format. For the - avoidance of doubt, termination of this Agreement will not affect Your right - to use Elastic Software, in either Object Code or Source Code formats, made - available under the Apache License Version 2.0. - - 3.3 Survival. Sections 1.2, 2.2. 3.3, 4 and 5 shall survive any termination or - expiration of this Agreement. - -4. DISCLAIMER OF WARRANTIES AND LIMITATION OF LIABILITY - - 4.1 Disclaimer of Warranties. TO THE MAXIMUM EXTENT PERMITTED UNDER APPLICABLE - LAW, THE ELASTIC SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, - AND ELASTIC AND ITS LICENSORS MAKE NO WARRANTIES WHETHER EXPRESSED, IMPLIED OR - STATUTORY REGARDING OR RELATING TO THE ELASTIC SOFTWARE. TO THE MAXIMUM EXTENT - PERMITTED UNDER APPLICABLE LAW, ELASTIC AND ITS LICENSORS SPECIFICALLY - DISCLAIM ALL IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR - PURPOSE AND NON-INFRINGEMENT WITH RESPECT TO THE ELASTIC SOFTWARE, AND WITH - RESPECT TO THE USE OF THE FOREGOING. FURTHER, ELASTIC DOES NOT WARRANT RESULTS - OF USE OR THAT THE ELASTIC SOFTWARE WILL BE ERROR FREE OR THAT THE USE OF THE - ELASTIC SOFTWARE WILL BE UNINTERRUPTED. - - 4.2 Limitation of Liability. IN NO EVENT SHALL ELASTIC OR ITS LICENSORS BE - LIABLE TO YOU OR ANY THIRD PARTY FOR ANY DIRECT OR INDIRECT DAMAGES, - INCLUDING, WITHOUT LIMITATION, FOR ANY LOSS OF PROFITS, LOSS OF USE, BUSINESS - INTERRUPTION, LOSS OF DATA, COST OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY - SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES OF ANY KIND, IN CONNECTION WITH - OR ARISING OUT OF THE USE OR INABILITY TO USE THE ELASTIC SOFTWARE, OR THE - PERFORMANCE OF OR FAILURE TO PERFORM THIS AGREEMENT, WHETHER ALLEGED AS A - BREACH OF CONTRACT OR TORTIOUS CONDUCT, INCLUDING NEGLIGENCE, EVEN IF ELASTIC - HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -5. MISCELLANEOUS - - This Agreement completely and exclusively states the entire agreement of the - parties regarding the subject matter herein, and it supersedes, and its terms - govern, all prior proposals, agreements, or other communications between the - parties, oral or written, regarding such subject matter. This Agreement may be - modified by Elastic from time to time, and any such modifications will be - effective upon the "Posted Date" set forth at the top of the modified - Agreement. If any provision hereof is held unenforceable, this Agreement will - continue without said provision and be interpreted to reflect the original - intent of the parties. This Agreement and any non-contractual obligation - arising out of or in connection with it, is governed exclusively by Dutch law. - This Agreement shall not be governed by the 1980 UN Convention on Contracts - for the International Sale of Goods. All disputes arising out of or in - connection with this Agreement, including its existence and validity, shall be - resolved by the courts with jurisdiction in Amsterdam, The Netherlands, except - where mandatory law provides for the courts at another location in The - Netherlands to have jurisdiction. The parties hereby irrevocably waive any and - all claims and defenses either might otherwise have in any such action or - proceeding in any of such courts based upon any alleged lack of personal - jurisdiction, improper venue, forum non conveniens or any similar claim or - defense. A breach or threatened breach, by You of Section 2 may cause - irreparable harm for which damages at law may not provide adequate relief, and - therefore Elastic shall be entitled to seek injunctive relief without being - required to post a bond. You may not assign this Agreement (including by - operation of law in connection with a merger or acquisition), in whole or in - part to any third party without the prior written consent of Elastic, which - may be withheld or granted by Elastic in its sole and absolute discretion. - Any assignment in violation of the preceding sentence is void. Notices to - Elastic may also be sent to legal@elastic.co. - -6. DEFINITIONS - - The following terms have the meanings ascribed: - - 6.1 "Affiliate" means, with respect to a party, any entity that controls, is - controlled by, or which is under common control with, such party, where - "control" means ownership of at least fifty percent (50%) of the outstanding - voting shares of the entity, or the contractual right to establish policy for, - and manage the operations of, the entity. - - 6.2 "Basic Features and Functions" means those features and functions of the - Elastic Software that are eligible for use under a Basic license, as set forth - at https://www.elastic.co/subscriptions, as may be modified by Elastic from - time to time. - - 6.3 "Commercial Software" means the Elastic Software Source Code in any file - containing a header stating the contents are subject to the Elastic License or - which is contained in the repository folder labeled "x-pack", unless a LICENSE - file present in the directory subtree declares a different license. - - 6.4 "Derivative Work of the Commercial Software" means, for purposes of this - Agreement, any modification(s) or enhancement(s) to the Commercial Software, - which represent, as a whole, an original work of authorship. - - 6.5 "License" means a limited, non-exclusive, non-transferable, fully paid up, - royalty free, right and license, without the right to grant or authorize - sublicenses, solely for Your internal business operations to (i) install and - use the applicable Features and Functions of the Elastic Software in Object - Code, and (ii) permit Contractors and Your Affiliates to use the Elastic - software as set forth in (i) above, provided that such use by Contractors must - be solely for Your benefit and/or the benefit of Your Affiliates, and You - shall be responsible for all acts and omissions of such Contractors and - Affiliates in connection with their use of the Elastic software that are - contrary to the terms and conditions of this Agreement. - - 6.6 "License Key" means a sequence of bytes, including but not limited to a - JSON blob, that is used to enable certain features and functions of the - Elastic Software. - - 6.7 "Marks and Notices" means all Elastic trademarks, trade names, logos and - notices present on the Documentation as originally provided by Elastic. - - 6.8 "Non-production Environment" means an environment for development, testing - or quality assurance, where software is not used for production purposes. - - 6.9 "Object Code" means any form resulting from mechanical transformation or - translation of Source Code form, including but not limited to compiled object - code, generated documentation, and conversions to other media types. - - 6.10 "Source Code" means the preferred form of computer software for making - modifications, including but not limited to software source code, - documentation source, and configuration files. - - 6.11 "Subscription" means the right to receive Support Services and a License - to the Commercial Software. diff --git a/7.6.0/config/kibana.yml b/7.6.0/config/kibana.yml deleted file mode 100644 index 448501f..0000000 --- a/7.6.0/config/kibana.yml +++ /dev/null @@ -1,9 +0,0 @@ -# -# ** THIS IS AN AUTO-GENERATED FILE ** -# - -# Default Kibana configuration for docker target -server.name: kibana -server.host: "0" -elasticsearch.hosts: [ "http://elasticsearch:9200" ] -xpack.monitoring.ui.container.elasticsearch.enabled: true diff --git a/7.6.0/download.json b/7.6.0/download.json deleted file mode 100644 index 9dae8c0..0000000 --- a/7.6.0/download.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "resources": [ - { - "url": "https://artifacts.elastic.co/downloads/kibana/kibana-7.6.0-linux-x86_64.tar.gz", - "filename": "kibana-7.6.0-linux-x86_64.tar.gz", - "validation": { - "type": "sha512", - "value": "296416b9697ae66b20aae37ada855d7212fc5151055a35cc81e7c3cfef589758f10f600b382e9f4b419fcd327ff605d8da23a25e867f6a1e4d3bd133e0317b72" - } - }, - { - "url": "https://github.com/Yelp/dumb-init/releases/download/v1.2.2/dumb-init_1.2.2_amd64", - "filename": "dumb-init", - "validation": { - "type": "sha256", - "value": "37f2c1f0372a45554f1b89924fbb134fc24c3756efaedf11e07f599494e0eff9" - } - } - ] -} diff --git a/7.6.0/Dockerfile b/Dockerfile similarity index 95% rename from 7.6.0/Dockerfile rename to Dockerfile index bcd3dbf..cb84f36 100644 --- a/7.6.0/Dockerfile +++ b/Dockerfile @@ -13,7 +13,7 @@ RUN yum -y --nogpgcheck --disableplugin=subscription-manager update && yum insta RUN mkdir /usr/share/kibana WORKDIR /usr/share/kibana -ARG TARBALL=kibana-7.6.0-linux-x86_64.tar.gz +ARG TARBALL=kibana-7.6.1-linux-x86_64.tar.gz COPY ${TARBALL} /usr/share/kibana @@ -33,6 +33,8 @@ RUN find /usr/share/kibana -type d -exec chmod g+s {} \; FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG} EXPOSE 5601 +COPY LICENSE /licenses/elastic-kibana + # Add Reporting dependencies. RUN yum -y --nogpgcheck --disableplugin=subscription-manager update && yum install -y --nogpgcheck --disableplugin=subscription-manager fontconfig freetype shadow-utils && yum clean all @@ -64,7 +66,7 @@ RUN chmod g+ws /usr/share/kibana && find /usr/share/kibana -gid 0 -and -not -per RUN groupadd --gid 1000 kibana && useradd --uid 1000 --gid 1000 --home-dir /usr/share/kibana --no-create-home kibana USER kibana -LABEL org.label-schema.schema-version="1.0" org.label-schema.vendor="Elastic" org.label-schema.name="kibana" org.label-schema.version="7.6.0" org.label-schema.url="https://www.elastic.co/products/kibana" org.label-schema.vcs-url="https://github.com/elastic/kibana" org.label-schema.license="Elastic License" license="Elastic License" +LABEL org.label-schema.schema-version="1.0" org.label-schema.vendor="Elastic" org.label-schema.name="kibana" org.label-schema.version="7.6.1" org.label-schema.url="https://www.elastic.co/products/kibana" org.label-schema.vcs-url="https://github.com/elastic/kibana" org.label-schema.license="Elastic License" license="Elastic License" ENTRYPOINT ["/usr/local/bin/dumb-init", "--"] diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..e2198cf --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,2 @@ +@Library('DCCSCR@master') +dccscrPipeline(version: "7.6.0") diff --git a/7.5.2/LICENSE b/LICENSE similarity index 100% rename from 7.5.2/LICENSE rename to LICENSE diff --git a/7.6.0/README.md b/README.md similarity index 100% rename from 7.6.0/README.md rename to README.md diff --git a/7.6.0/bin/kibana-docker b/bin/kibana-docker similarity index 99% rename from 7.6.0/bin/kibana-docker rename to bin/kibana-docker index f973dfe..ff69186 100755 --- a/7.6.0/bin/kibana-docker +++ b/bin/kibana-docker @@ -143,6 +143,7 @@ kibana_vars=( xpack.code.security.enableGitCertCheck xpack.code.security.gitHostWhitelist xpack.code.security.gitProtocolWhitelist + xpack.encryptedSavedObjects.encryptionKey xpack.graph.enabled xpack.graph.canEditDrillDownUrls xpack.graph.savePolicy diff --git a/7.5.1/config/kibana.yml b/config/kibana.yml similarity index 100% rename from 7.5.1/config/kibana.yml rename to config/kibana.yml diff --git a/download.json b/download.json new file mode 100644 index 0000000..24082a3 --- /dev/null +++ b/download.json @@ -0,0 +1,20 @@ +{ + "resources": [ + { + "url": "https://artifacts.elastic.co/downloads/kibana/kibana-7.6.1-linux-x86_64.tar.gz", + "filename": "kibana-7.6.1-linux-x86_64.tar.gz", + "validation": { + "type": "sha512", + "value": "9739e9521f699dcade3c3ae548fe1b9325de0d94856b7c1ff1426bd58a70db8eb7d25b128d8b8ade68f9797b873c827263ea7678aba48eb384394302606db688" + } + }, + { + "url": "https://github.com/Yelp/dumb-init/releases/download/v1.2.2/dumb-init_1.2.2_amd64", + "filename": "dumb-init", + "validation": { + "type": "sha256", + "value": "37f2c1f0372a45554f1b89924fbb134fc24c3756efaedf11e07f599494e0eff9" + } + } + ] +} diff --git a/dumb-init b/dumb-init new file mode 100644 index 0000000000000000000000000000000000000000..0d2179a58eb0a1cafde61fd82e798c9dfde23eb5 GIT binary patch literal 54744 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 literal 0 HcmV?d00001 -- GitLab From 1f7d4bb7f8752635cbd8afb5b6d31152ffafe68c Mon Sep 17 00:00:00 2001 From: Nassim Kammah Date: Mon, 9 Mar 2020 22:08:12 +0100 Subject: [PATCH 02/13] Fix version number in Jenkinsfile --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index e2198cf..98a8b67 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,2 +1,2 @@ @Library('DCCSCR@master') -dccscrPipeline(version: "7.6.0") +dccscrPipeline(version: "7.6.1") -- GitLab From 9fb724229d650b78f38c2b7a2378300dd532349c Mon Sep 17 00:00:00 2001 From: Nassim Kammah Date: Fri, 20 Mar 2020 14:26:29 +0100 Subject: [PATCH 03/13] Update BASE_REGISTRY, yum commands and Jenkinsfile --- Dockerfile | 8 ++++---- Jenkinsfile | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index cb84f36..8072cd1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,13 +2,13 @@ # Build stage 0 # Extract Kibana and make various file manipulations. ################################################################################ -ARG BASE_REGISTRY=registry.access.redhat.com -ARG BASE_IMAGE=ubi8/ubi +ARG BASE_REGISTRY=nexus-docker-secure.levelup-nexus.svc.cluster.local:18082 +ARG BASE_IMAGE=redhat/ubi/ubi8 ARG BASE_TAG=8.1 FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG} AS prep_files -RUN yum -y --nogpgcheck --disableplugin=subscription-manager update && yum install -y --nogpgcheck --disableplugin=subscription-manager tar gzip && yum clean all +RUN yum update --disablerepo="*" --enablerepo="*ubi-8*" --setopt=tsflags=nodocs -y && yum install -y --disablerepo="*" --enablerepo="*ubi-8*" tar gzip && yum clean all RUN mkdir /usr/share/kibana WORKDIR /usr/share/kibana @@ -36,7 +36,7 @@ EXPOSE 5601 COPY LICENSE /licenses/elastic-kibana # Add Reporting dependencies. -RUN yum -y --nogpgcheck --disableplugin=subscription-manager update && yum install -y --nogpgcheck --disableplugin=subscription-manager fontconfig freetype shadow-utils && yum clean all +RUN yum update --disablerepo="*" --enablerepo="*ubi-8*" --setopt=tsflags=nodocs -y && yum install -y --disablerepo="*" --enablerepo="*ubi-8*" fontconfig freetype shadow-utils && yum clean all # Add a dumb init process WORKDIR /usr/local/bin diff --git a/Jenkinsfile b/Jenkinsfile index 98a8b67..d71bca6 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,2 +1,2 @@ -@Library('DCCSCR@master') -dccscrPipeline(version: "7.6.1") +@Library('DCCSCR@master') _ +dccscrPipeline(version: '7.6.1') -- GitLab From 58ec36edc44b1196d84ba66a25ae39480cbe0ad7 Mon Sep 17 00:00:00 2001 From: Nassim Kammah Date: Thu, 2 Apr 2020 18:21:25 +0200 Subject: [PATCH 04/13] Temporary fix for the DCAR pipeline building issues with multi-stage builds --- Dockerfile | 43 +++++++++++++++++-------------------------- 1 file changed, 17 insertions(+), 26 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8072cd1..7cf2396 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,49 +6,37 @@ ARG BASE_REGISTRY=nexus-docker-secure.levelup-nexus.svc.cluster.local:18082 ARG BASE_IMAGE=redhat/ubi/ubi8 ARG BASE_TAG=8.1 -FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG} AS prep_files +FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG} +EXPOSE 5601 -RUN yum update --disablerepo="*" --enablerepo="*ubi-8*" --setopt=tsflags=nodocs -y && yum install -y --disablerepo="*" --enablerepo="*ubi-8*" tar gzip && yum clean all +RUN yum update --disablerepo="*" --enablerepo="*ubi-8*" --setopt=tsflags=nodocs -y && yum install -y --disablerepo="*" --enablerepo="*ubi-8*" tar gzip fontconfig freetype shadow-utils && yum clean all RUN mkdir /usr/share/kibana WORKDIR /usr/share/kibana ARG TARBALL=kibana-7.6.1-linux-x86_64.tar.gz -COPY ${TARBALL} /usr/share/kibana - -RUN tar -zxf ./${TARBALL} --strip-components=1 && rm -fv ./${TARBALL} +COPY --chown=1000:0 ${TARBALL} . -# 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 -RUN find /usr/share/kibana -type d -exec chmod g+s {} \; - -################################################################################ -# Build stage 1 -# Copy prepared files from the previous stage and complete the image. -################################################################################ -FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG} -EXPOSE 5601 +# Set gid to 0 for kibana and make group permission similar to that of user +# This is needed, for example, for Openshift Open: +# https://docs.openshift.org/latest/creating_images/guidelines.html +# and allows Kibana to run with an uid +RUN tar --strip-components=1 -zxf ${TARBALL} && \ + rm -rf ${TARBALL} && \ + ln -s /usr/share/kibana /opt/kibana && \ + chown -R 1000:0 . && \ + chmod -R g=u /usr/share/kibana && \ + find /usr/share/kibana -type d -exec chmod g+s {} \; COPY LICENSE /licenses/elastic-kibana -# Add Reporting dependencies. -RUN yum update --disablerepo="*" --enablerepo="*ubi-8*" --setopt=tsflags=nodocs -y && yum install -y --disablerepo="*" --enablerepo="*ubi-8*" fontconfig freetype shadow-utils && yum clean all - # Add a dumb init process WORKDIR /usr/local/bin COPY dumb-init /usr/local/bin/dumb-init RUN chmod +x /usr/local/bin/dumb-init -# Bring in Kibana from the initial stage. -WORKDIR /usr/share/kibana -COPY --from=prep_files --chown=1000:0 /usr/share/kibana /usr/share/kibana -RUN ln -s /usr/share/kibana /opt/kibana - ENV ELASTIC_CONTAINER true ENV PATH=/usr/share/kibana/bin:$PATH @@ -62,6 +50,9 @@ COPY --chown=1000:0 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 --home-dir /usr/share/kibana --no-create-home kibana USER kibana -- GitLab From 73758083f6c6b294ed6d1d2fec330eaf8193d4c7 Mon Sep 17 00:00:00 2001 From: Humbe Date: Mon, 6 Apr 2020 12:16:24 -0700 Subject: [PATCH 05/13] removed enable/disable yum flags from Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 7cf2396..178fc7f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,7 +9,7 @@ ARG BASE_TAG=8.1 FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG} EXPOSE 5601 -RUN yum update --disablerepo="*" --enablerepo="*ubi-8*" --setopt=tsflags=nodocs -y && yum install -y --disablerepo="*" --enablerepo="*ubi-8*" tar gzip fontconfig freetype shadow-utils && yum clean all +RUN yum update --setopt=tsflags=nodocs -y && yum install -y tar gzip fontconfig freetype shadow-utils && yum clean all RUN mkdir /usr/share/kibana WORKDIR /usr/share/kibana -- GitLab From dbbbe010a1c0c7880106ab1be9cca71be7efc278 Mon Sep 17 00:00:00 2001 From: Al Fontaine Date: Wed, 6 May 2020 20:09:48 +0000 Subject: [PATCH 06/13] Update Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 178fc7f..820174c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,7 @@ ################################################################################ ARG BASE_REGISTRY=nexus-docker-secure.levelup-nexus.svc.cluster.local:18082 ARG BASE_IMAGE=redhat/ubi/ubi8 -ARG BASE_TAG=8.1 +ARG BASE_TAG=8.2 FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG} EXPOSE 5601 -- GitLab From 2937f7f465293d0b1dea9ff3e533057fb1010689 Mon Sep 17 00:00:00 2001 From: Nick Lang Date: Tue, 23 Jun 2020 13:17:47 -0600 Subject: [PATCH 07/13] Bump kibana to 7.8.0 --- Dockerfile | 6 +++--- Jenkinsfile | 2 +- README.md | 6 +++--- bin/kibana-docker | 35 ++++++++++++++++------------------- config/kibana.yml | 2 +- download.json | 6 +++--- 6 files changed, 27 insertions(+), 30 deletions(-) diff --git a/Dockerfile b/Dockerfile index 820174c..6ef686d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,12 +9,12 @@ ARG BASE_TAG=8.2 FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG} EXPOSE 5601 -RUN yum update --setopt=tsflags=nodocs -y && yum install -y tar gzip fontconfig freetype shadow-utils && yum clean all +RUN yum update --disablerepo="*" --enablerepo="*ubi-8*" --setopt=tsflags=nodocs -y && yum install -y --disablerepo="*" --enablerepo="*ubi-8*" tar gzip fontconfig freetype shadow-utils && yum clean all RUN mkdir /usr/share/kibana WORKDIR /usr/share/kibana -ARG TARBALL=kibana-7.6.1-linux-x86_64.tar.gz +ARG TARBALL=kibana-7.8.0-linux-x86_64.tar.gz COPY --chown=1000:0 ${TARBALL} . @@ -57,7 +57,7 @@ RUN find / -xdev -perm -4000 -exec chmod u-s {} + RUN groupadd --gid 1000 kibana && useradd --uid 1000 --gid 1000 --home-dir /usr/share/kibana --no-create-home kibana USER kibana -LABEL org.label-schema.schema-version="1.0" org.label-schema.vendor="Elastic" org.label-schema.name="kibana" org.label-schema.version="7.6.1" org.label-schema.url="https://www.elastic.co/products/kibana" org.label-schema.vcs-url="https://github.com/elastic/kibana" org.label-schema.license="Elastic License" license="Elastic License" +LABEL org.label-schema.schema-version="1.0" org.label-schema.vendor="Elastic" org.label-schema.name="kibana" org.label-schema.version="7.8.0" org.label-schema.url="https://www.elastic.co/products/kibana" org.label-schema.vcs-url="https://github.com/elastic/kibana" org.label-schema.license="Elastic License" license="Elastic License" ENTRYPOINT ["/usr/local/bin/dumb-init", "--"] diff --git a/Jenkinsfile b/Jenkinsfile index d71bca6..eb27f6c 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,2 +1,2 @@ @Library('DCCSCR@master') _ -dccscrPipeline(version: '7.6.1') +dccscrPipeline(version: '7.8.0') diff --git a/README.md b/README.md index 0348de2..0266829 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ https://www.elastic.co/products/kibana. ### Installation instructions -Please follow the documentation on [running Kibana on Docker](https://www.elastic.co/guide/en/kibana/7.6/docker.html). +Please follow the documentation on [running Kibana on Docker](https://www.elastic.co/guide/en/kibana/7.8/docker.html). ### Where to file issues and PRs @@ -30,9 +30,9 @@ visiting [Elastic Community](https://www.elastic.co/community). This software is governed by the [Elastic -License](https://github.com/elastic/elasticsearch/blob/7.6/licenses/ELASTIC-LICENSE.txt), +License](https://github.com/elastic/elasticsearch/blob/7.8/licenses/ELASTIC-LICENSE.txt), and includes the full set of [free features](https://www.elastic.co/subscriptions). View the detailed release notes -[here](https://www.elastic.co/guide/en/elasticsearch/reference/7.6/es-release-notes.html). +[here](https://www.elastic.co/guide/en/elasticsearch/reference/7.8/es-release-notes.html). diff --git a/bin/kibana-docker b/bin/kibana-docker index ff69186..bed04a3 100755 --- a/bin/kibana-docker +++ b/bin/kibana-docker @@ -72,6 +72,22 @@ kibana_vars=( map.tilemap.options.minZoom map.tilemap.options.subdomains map.tilemap.url + monitoring.cluster_alerts.email_notifications.email_address + monitoring.enabled + monitoring.kibana.collection.enabled + monitoring.kibana.collection.interval + monitoring.ui.container.elasticsearch.enabled + monitoring.ui.container.logstash.enabled + monitoring.ui.elasticsearch.password + monitoring.ui.elasticsearch.pingTimeout + monitoring.ui.elasticsearch.hosts + monitoring.ui.elasticsearch.username + monitoring.ui.elasticsearch.logFetchCount + monitoring.ui.elasticsearch.ssl.certificateAuthorities + monitoring.ui.elasticsearch.ssl.verificationMode + monitoring.ui.enabled + monitoring.ui.max_bucket_size + monitoring.ui.min_interval_seconds newsfeed.enabled ops.interval path.data @@ -161,25 +177,6 @@ kibana_vars=( xpack.infra.sources.default.metricAlias xpack.license_management.enabled xpack.ml.enabled - xpack.monitoring.cluster_alerts.email_notifications.email_address - xpack.monitoring.elasticsearch.password - xpack.monitoring.elasticsearch.pingTimeout - xpack.monitoring.elasticsearch.hosts - xpack.monitoring.elasticsearch.username - xpack.monitoring.elasticsearch.logFetchCount - xpack.monitoring.elasticsearch.ssl.certificateAuthorities - xpack.monitoring.elasticsearch.ssl.verificationMode - xpack.monitoring.enabled - xpack.monitoring.kibana.collection.enabled - xpack.monitoring.kibana.collection.interval - xpack.monitoring.max_bucket_size - xpack.monitoring.min_interval_seconds - xpack.monitoring.node_resolver - xpack.monitoring.report_stats - xpack.monitoring.elasticsearch.pingTimeout - xpack.monitoring.ui.container.elasticsearch.enabled - xpack.monitoring.ui.container.logstash.enabled - xpack.monitoring.ui.enabled xpack.reporting.capture.browser.autoDownload xpack.reporting.capture.browser.chromium.disableSandbox xpack.reporting.capture.browser.chromium.inspect diff --git a/config/kibana.yml b/config/kibana.yml index 448501f..bd41a30 100644 --- a/config/kibana.yml +++ b/config/kibana.yml @@ -6,4 +6,4 @@ server.name: kibana server.host: "0" elasticsearch.hosts: [ "http://elasticsearch:9200" ] -xpack.monitoring.ui.container.elasticsearch.enabled: true +monitoring.ui.container.elasticsearch.enabled: true diff --git a/download.json b/download.json index 24082a3..3712809 100644 --- a/download.json +++ b/download.json @@ -1,11 +1,11 @@ { "resources": [ { - "url": "https://artifacts.elastic.co/downloads/kibana/kibana-7.6.1-linux-x86_64.tar.gz", - "filename": "kibana-7.6.1-linux-x86_64.tar.gz", + "url": "https://artifacts.elastic.co/downloads/kibana/kibana-7.8.0-linux-x86_64.tar.gz", + "filename": "kibana-7.8.0-linux-x86_64.tar.gz", "validation": { "type": "sha512", - "value": "9739e9521f699dcade3c3ae548fe1b9325de0d94856b7c1ff1426bd58a70db8eb7d25b128d8b8ade68f9797b873c827263ea7678aba48eb384394302606db688" + "value": "3c9ffbbfe56b66226ff62740cbe8eae83e43b07a1e3aec2ca845398c7d4418fd9c3cf67bebf5d9dd77c285468265c23c46080762cd90df070cd03ebe92b3ebef" } }, { -- GitLab From 7f90192ff0ac2ce7354fddc04bbd5dae60e06957 Mon Sep 17 00:00:00 2001 From: "alexander.klepal" Date: Wed, 24 Jun 2020 18:16:26 +0000 Subject: [PATCH 08/13] Update Dockerfile --- Dockerfile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 6ef686d..2c4481e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,7 +9,10 @@ ARG BASE_TAG=8.2 FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG} EXPOSE 5601 -RUN yum update --disablerepo="*" --enablerepo="*ubi-8*" --setopt=tsflags=nodocs -y && yum install -y --disablerepo="*" --enablerepo="*ubi-8*" tar gzip fontconfig freetype shadow-utils && yum clean all +#RUN yum update --disablerepo="*" --enablerepo="*ubi-8*" --setopt=tsflags=nodocs -y && yum install -y --disablerepo="*" --enablerepo="*ubi-8*" tar gzip fontconfig freetype shadow-utils && yum clean all + +RUN yum update --setopt=tsflags=nodocs -y && yum install -y --disablerepo="*" --enablerepo="*ubi-8*" tar gzip fontconfig freetype shadow-utils && yum clean all + RUN mkdir /usr/share/kibana WORKDIR /usr/share/kibana -- GitLab From 5d27706a80e2b8c94ff8fb9650d3c0b0644b701b Mon Sep 17 00:00:00 2001 From: "alexander.klepal" Date: Wed, 24 Jun 2020 18:39:47 +0000 Subject: [PATCH 09/13] Update Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 2c4481e..182bd5c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,7 +11,7 @@ EXPOSE 5601 #RUN yum update --disablerepo="*" --enablerepo="*ubi-8*" --setopt=tsflags=nodocs -y && yum install -y --disablerepo="*" --enablerepo="*ubi-8*" tar gzip fontconfig freetype shadow-utils && yum clean all -RUN yum update --setopt=tsflags=nodocs -y && yum install -y --disablerepo="*" --enablerepo="*ubi-8*" tar gzip fontconfig freetype shadow-utils && yum clean all +RUN yum update --setopt=tsflags=nodocs -y && yum install -y tar gzip fontconfig freetype shadow-utils && yum clean all RUN mkdir /usr/share/kibana -- GitLab From 9ac5d17b1696bdd1e4dabb4516693aa2d84ff5dc Mon Sep 17 00:00:00 2001 From: Nick Lang Date: Thu, 16 Jul 2020 11:36:23 -0600 Subject: [PATCH 10/13] Remove the openshift guid/suid changes --- Dockerfile | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/Dockerfile b/Dockerfile index 182bd5c..332efe8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,10 +9,9 @@ ARG BASE_TAG=8.2 FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG} EXPOSE 5601 -#RUN yum update --disablerepo="*" --enablerepo="*ubi-8*" --setopt=tsflags=nodocs -y && yum install -y --disablerepo="*" --enablerepo="*ubi-8*" tar gzip fontconfig freetype shadow-utils && yum clean all - -RUN yum update --setopt=tsflags=nodocs -y && yum install -y tar gzip fontconfig freetype shadow-utils && yum clean all - +RUN yum update --setopt=tsflags=nodocs -y && \ + yum install -y tar gzip fontconfig freetype shadow-utils && \ + yum clean all RUN mkdir /usr/share/kibana WORKDIR /usr/share/kibana @@ -21,16 +20,11 @@ ARG TARBALL=kibana-7.8.0-linux-x86_64.tar.gz COPY --chown=1000:0 ${TARBALL} . -# Set gid to 0 for kibana and make group permission similar to that of user -# This is needed, for example, for Openshift Open: -# https://docs.openshift.org/latest/creating_images/guidelines.html -# and allows Kibana to run with an uid RUN tar --strip-components=1 -zxf ${TARBALL} && \ rm -rf ${TARBALL} && \ ln -s /usr/share/kibana /opt/kibana && \ chown -R 1000:0 . && \ - chmod -R g=u /usr/share/kibana && \ - find /usr/share/kibana -type d -exec chmod g+s {} \; + chmod -R g=u /usr/share/kibana COPY LICENSE /licenses/elastic-kibana @@ -50,9 +44,6 @@ COPY --chown=1000:0 config/kibana.yml /usr/share/kibana/config/kibana.yml # variables and translate them to Kibana CLI options. COPY --chown=1000:0 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 {} + -- GitLab From 790a2bb52ef300d30033aefd8fdf35a75882b420 Mon Sep 17 00:00:00 2001 From: Nick Lang Date: Tue, 21 Jul 2020 12:25:27 -0600 Subject: [PATCH 11/13] Rename the bin directory scripts --- Dockerfile | 2 +- {bin => scripts}/kibana-docker | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename {bin => scripts}/kibana-docker (100%) diff --git a/Dockerfile b/Dockerfile index 182bd5c..12d610d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -48,7 +48,7 @@ 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 --chown=1000:0 bin/kibana-docker /usr/local/bin/ +COPY --chown=1000:0 scripts/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 {} \; diff --git a/bin/kibana-docker b/scripts/kibana-docker similarity index 100% rename from bin/kibana-docker rename to scripts/kibana-docker -- GitLab From 10aa232bd832711fe55cdca5372b874e60bbd339 Mon Sep 17 00:00:00 2001 From: Nick Lang Date: Tue, 21 Jul 2020 13:09:28 -0600 Subject: [PATCH 12/13] remove dumb-init from repo --- dumb-init | Bin 54744 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 dumb-init diff --git a/dumb-init b/dumb-init deleted file mode 100644 index 0d2179a58eb0a1cafde61fd82e798c9dfde23eb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54744 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 -- GitLab From 9a01d6af149cd683c4fd3bf59d4c50dd4f210138 Mon Sep 17 00:00:00 2001 From: Andy Maksymowicz Date: Wed, 22 Jul 2020 16:16:00 +0000 Subject: [PATCH 13/13] Update README.md --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 0266829..9a37aac 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,13 @@ understanding the impact rain might have on your quarterly numbers. For more information about Kibana, please visit https://www.elastic.co/products/kibana. +### Security Warning +Versions of `https-proxy-agent` prior to 2.2.3 are vulnerable to Machine-In-The-Middle. The package fails to enforce TLS on the socket if the proxy server responds the to the request with a HTTP status different than 200. This allows an attacker with access to the proxy server to intercept unencrypted communications, which may include sensitive information such as credentials. + +Because of this, If using the **ALL_PROXY** environment variable when installing plugins via the 'kibana-plugin install' command, it could be possible for an attacker to execute a MITM attack. + +DoD organizations **are not** allowed to use the **ALL_PROXY** environment variable until this issue is patched. + ### Installation instructions Please follow the documentation on [running Kibana on Docker](https://www.elastic.co/guide/en/kibana/7.8/docker.html). -- GitLab