From 336a05280ad869f7df311746f676da2c2ecf8ef1 Mon Sep 17 00:00:00 2001 From: Nassim Kammah Date: Tue, 11 Feb 2020 23:53:57 +0100 Subject: [PATCH 1/2] Kibana 7.6.0 --- 7.6.0/Dockerfile | 75 +++++++++++ 7.6.0/LICENSE | 223 ++++++++++++++++++++++++++++++ 7.6.0/README.md | 38 ++++++ 7.6.0/bin/kibana-docker | 277 ++++++++++++++++++++++++++++++++++++++ 7.6.0/config/kibana.yml | 9 ++ 7.6.0/scripts/prebuild.sh | 72 ++++++++++ 6 files changed, 694 insertions(+) create mode 100644 7.6.0/Dockerfile create mode 100644 7.6.0/LICENSE create mode 100644 7.6.0/README.md create mode 100755 7.6.0/bin/kibana-docker create mode 100644 7.6.0/config/kibana.yml create mode 100755 7.6.0/scripts/prebuild.sh diff --git a/7.6.0/Dockerfile b/7.6.0/Dockerfile new file mode 100644 index 0000000..5951728 --- /dev/null +++ b/7.6.0/Dockerfile @@ -0,0 +1,75 @@ +################################################################################ +# 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 yum -y --nogpgcheck --disableplugin=subscription-manager update && yum install -y --nogpgcheck --disableplugin=subscription-manager tar gzip && yum clean all +RUN cd /opt && curl --retry 8 -s -L -O -k -fu ${NEXUS_USERNAME}:${NEXUS_PASSWORD} ${NEXUS_SCHEME}://${NEXUS_SERVER}/repository/dsop/elastic/kibana/7.6.0/kibana-7.6.0-linux-x86_64.tar.gz && cd - + +RUN mkdir /usr/share/kibana +WORKDIR /usr/share/kibana +RUN tar --strip-components=1 -zxf /opt/kibana-7.6.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 {} \; + +################################################################################ +# 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.6.0/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 shadow-utils && 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.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" + +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.6.0/LICENSE b/7.6.0/LICENSE new file mode 100644 index 0000000..7376ffc --- /dev/null +++ b/7.6.0/LICENSE @@ -0,0 +1,223 @@ +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/README.md b/7.6.0/README.md new file mode 100644 index 0000000..0348de2 --- /dev/null +++ b/7.6.0/README.md @@ -0,0 +1,38 @@ +# 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.6/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.6/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). diff --git a/7.6.0/bin/kibana-docker b/7.6.0/bin/kibana-docker new file mode 100755 index 0000000..f973dfe --- /dev/null +++ b/7.6.0/bin/kibana-docker @@ -0,0 +1,277 @@ +#!/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 + cpu.cgroup.path.override + cpuacct.cgroup.path.override + csp.rules + csp.strict + csp.warnLegacyBrowsers + 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.alwaysPresentCertificate + elasticsearch.ssl.certificate + elasticsearch.ssl.certificateAuthorities + elasticsearch.ssl.key + elasticsearch.ssl.keyPassphrase + elasticsearch.ssl.keystore.path + elasticsearch.ssl.keystore.password + elasticsearch.ssl.truststore.path + elasticsearch.ssl.truststore.password + elasticsearch.ssl.verificationMode + elasticsearch.startupTimeout + elasticsearch.username + i18n.locale + interpreter.enableInVisualize + kibana.autocompleteTerminateAfter + kibana.autocompleteTimeout + kibana.defaultAppId + kibana.index + logging.dest + logging.json + logging.quiet + logging.rotate.enabled + logging.rotate.everyBytes + logging.rotate.keepFiles + logging.rotate.pollingInterval + logging.rotate.usePolling + logging.silent + logging.useUTC + logging.verbose + map.includeElasticMapsService + map.proxyElasticMapsServiceInMaps + map.regionmap + map.tilemap.options.attribution + map.tilemap.options.maxZoom + map.tilemap.options.minZoom + map.tilemap.options.subdomains + map.tilemap.url + newsfeed.enabled + ops.interval + path.data + pid.file + regionmap + regionmap.includeElasticMapsService + server.basePath + server.customResponseHeaders + server.compression.enabled + server.compression.referrerWhitelist + server.cors + server.cors.origin + server.defaultRoute + server.host + server.keepAliveTimeout + server.maxPayloadBytes + server.name + server.port + server.rewriteBasePath + server.socketTimeout + 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.keystore.path + server.ssl.keystore.password + server.ssl.truststore.path + server.ssl.truststore.password + server.ssl.redirectHttpFromPort + server.ssl.supportedProtocols + server.xsrf.disableProtection + 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.serviceMapEnabled + xpack.apm.ui.enabled + xpack.apm.ui.maxTraceItems + xpack.apm.ui.transactionGroupBucketSize + apm_oss.apmAgentConfigurationIndex + apm_oss.indexPattern + apm_oss.errorIndices + apm_oss.onboardingIndices + apm_oss.spanIndices + apm_oss.sourcemapIndices + apm_oss.transactionIndices + apm_oss.metricsIndices + xpack.canvas.enabled + xpack.code.ui.enabled + xpack.code.disk.thresholdEnabled + xpack.code.disk.watermarkLow + xpack.code.maxWorkspace + xpack.code.indexRepoFrequencyMs + xpack.code.updateRepoFrequencyMs + xpack.code.lsp.verbose + xpack.code.verbose + xpack.code.security.enableGitCertCheck + xpack.code.security.gitHostWhitelist + xpack.code.security.gitProtocolWhitelist + xpack.graph.enabled + xpack.graph.canEditDrillDownUrls + xpack.graph.savePolicy + 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.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 + xpack.reporting.capture.browser.chromium.maxScreenshotDimension + 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.capture.viewport.height + xpack.reporting.capture.viewport.width + xpack.reporting.capture.zoom + xpack.reporting.csv.checkForFormulas + xpack.reporting.csv.enablePanelActionDownload + xpack.reporting.csv.maxSizeBytes + xpack.reporting.csv.scroll.duration + xpack.reporting.csv.scroll.size + xpack.reporting.capture.maxAttempts + 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.poll.jobCompletionNotifier.interval + xpack.reporting.poll.jobCompletionNotifier.intervalErrorMultiplier + xpack.reporting.poll.jobsRefresh.interval + xpack.reporting.poll.jobsRefresh.intervalErrorMultiplier + xpack.reporting.queue.indexInterval + xpack.reporting.queue.pollEnabled + xpack.reporting.queue.pollInterval + xpack.reporting.queue.pollIntervalErrorMultiplier + xpack.reporting.queue.timeout + xpack.reporting.roles.allow + xpack.rollup.enabled + xpack.security.audit.enabled + xpack.searchprofiler.enabled + xpack.security.authProviders + xpack.security.authc.providers + xpack.security.authc.oidc.realm + xpack.security.authc.saml.realm + xpack.security.authc.saml.maxRedirectURLSize + xpack.security.cookieName + xpack.security.enabled + xpack.security.encryptionKey + xpack.security.loginAssistanceMessage + xpack.security.secureCookies + xpack.security.sessionTimeout + xpack.security.session.idleTimeout + xpack.security.session.lifespan + xpack.security.loginAssistanceMessage + xpack.security.public.protocol + xpack.security.public.hostname + xpack.security.public.port + telemetry.allowChangingOptInStatus + telemetry.enabled + telemetry.optIn + telemetry.optInStatusUrl + telemetry.sendUsageFrom +) + +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.6.0/config/kibana.yml b/7.6.0/config/kibana.yml new file mode 100644 index 0000000..448501f --- /dev/null +++ b/7.6.0/config/kibana.yml @@ -0,0 +1,9 @@ +# +# ** 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/scripts/prebuild.sh b/7.6.0/scripts/prebuild.sh new file mode 100755 index 0000000..9d3bfa1 --- /dev/null +++ b/7.6.0/scripts/prebuild.sh @@ -0,0 +1,72 @@ +#!/bin/bash +set -e + +### Environment Variables ### +ELASTIC_PRODUCT=kibana +ELASTIC_VERSION=7.6.0 +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 -- GitLab From e87f8a34a52db9d0c8a58a025e9f4094f5e3ef18 Mon Sep 17 00:00:00 2001 From: Nassim Kammah Date: Wed, 12 Feb 2020 22:22:54 +0100 Subject: [PATCH 2/2] Remove NEXUS_USERNAME and NEXUS_PASSWORD from Dockerfile --- 7.6.0/Dockerfile | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/7.6.0/Dockerfile b/7.6.0/Dockerfile index 5951728..211b739 100644 --- a/7.6.0/Dockerfile +++ b/7.6.0/Dockerfile @@ -10,11 +10,9 @@ 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 yum -y --nogpgcheck --disableplugin=subscription-manager update && yum install -y --nogpgcheck --disableplugin=subscription-manager tar gzip && yum clean all -RUN cd /opt && curl --retry 8 -s -L -O -k -fu ${NEXUS_USERNAME}:${NEXUS_PASSWORD} ${NEXUS_SCHEME}://${NEXUS_SERVER}/repository/dsop/elastic/kibana/7.6.0/kibana-7.6.0-linux-x86_64.tar.gz && cd - +RUN cd /opt && curl --retry 8 -s -L -O -k -f ${NEXUS_SCHEME}://${NEXUS_SERVER}/repository/dsop/elastic/kibana/7.6.0/kibana-7.6.0-linux-x86_64.tar.gz && cd - RUN mkdir /usr/share/kibana WORKDIR /usr/share/kibana @@ -36,9 +34,7 @@ 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.6.0/dumb-init -o /usr/local/bin/dumb-init +RUN curl -s --create-dirs -k -fL ${NEXUS_SCHEME}://${NEXUS_SERVER}/repository/dsop/elastic/kibana/7.6.0/dumb-init -o /usr/local/bin/dumb-init RUN chmod +x /usr/local/bin/dumb-init # Add Reporting dependencies. -- GitLab