(cherry picked from commit a0045136d5
)
tags/8.9.5.50698
@@ -110,6 +110,8 @@ build_task: | |||
ORG_GRADLE_PROJECT_signingKey: ENCRYPTED[!cc216dfe592f79db8006f2a591f8f98b40aa2b078e92025623594976fd32f6864c1e6b6ba74b50647f608e2418e6c336!] | |||
ORG_GRADLE_PROJECT_signingPassword: ENCRYPTED[!314a8fc344f45e462dd5e8dccd741d7562283a825e78ebca27d4ae9db8e65ce618e7f6aece386b2782a5abe5171467bd!] | |||
ORG_GRADLE_PROJECT_signingKeyId: 0x7DCD4258 | |||
elasticsearch_distribution_cache: | |||
folder: sonar-application/build/elasticsearch-**.tar.gz | |||
script: | |||
- ./private/cirrus/cirrus-build.sh | |||
on_failure: |
@@ -11,6 +11,7 @@ plugins { | |||
id "com.asarkar.gradle.build-time-tracker" version "2.0.4" apply false | |||
id 'org.owasp.dependencycheck' version '6.1.6' | |||
id 'org.sonarqube' version '3.0' | |||
id "de.undercouch.download" version "4.1.1" apply false | |||
} | |||
// display a summary of task durations at the end of the build |
@@ -7,3 +7,9 @@ org.gradle.jvmargs=-Xmx2048m | |||
org.gradle.caching=true | |||
org.gradle.vfs.watch=true | |||
# https://www.elastic.co/downloads/elasticsearch-no-jdk | |||
elasticsearchDownloadUrlPath=https://artifacts.elastic.co/downloads/elasticsearch/ | |||
elasticsearchDownloadRepoxUrlPath=https://repox.jfrog.io/artifactory/sonarsource-bucket/sonarqube/elasticsearch/ | |||
elasticsearchDownloadUrlFile=elasticsearch-7.12.1-no-jdk-linux-x86_64.tar.gz | |||
elasticsearchDownloadSha512=c91fd66668977280d7339caf6b4fef9fce5640492f0e2a65bc537c6da8397c801a3727f1ff56b7a1591b11ea47195720c588a4eba473043f829a87cd3dcc0af4 |
@@ -5,6 +5,7 @@ import org.apache.tools.ant.filters.ReplaceTokens | |||
plugins { | |||
id "com.github.hierynomus.license-report" | |||
id "com.github.johnrengelman.shadow" | |||
id "de.undercouch.download" | |||
} | |||
sonarqube { | |||
@@ -77,9 +78,31 @@ downloadLicenses { | |||
dependencyConfiguration = 'appLicenses' | |||
} | |||
task zip(type: Zip, dependsOn: [configurations.compile, tasks.downloadLicenses]) { | |||
task verifyElasticSearchDownload(type: Verify) { | |||
src new File(buildDir, "$elasticsearchDownloadUrlFile") | |||
algorithm 'SHA-512' | |||
checksum elasticsearchDownloadSha512 | |||
} | |||
task downloadElasticSearch(type: Download) { | |||
def artifactoryUsername = System.env.'ARTIFACTORY_PRIVATE_USERNAME' ?: (project.hasProperty('artifactoryUsername') ? project.getProperty('artifactoryUsername') : '') | |||
def artifactoryPassword = System.env.'ARTIFACTORY_PRIVATE_PASSWORD' ?: (project.hasProperty('artifactoryPassword') ? project.getProperty('artifactoryPassword') : '') | |||
if (artifactoryUsername && artifactoryPassword) { | |||
src "$elasticsearchDownloadRepoxUrlPath$elasticsearchDownloadUrlFile" | |||
username artifactoryUsername | |||
password artifactoryPassword | |||
} else { | |||
src "$elasticsearchDownloadUrlPath$elasticsearchDownloadUrlFile" | |||
} | |||
dest "$buildDir/$elasticsearchDownloadUrlFile" | |||
onlyIfModified true | |||
finalizedBy verifyElasticSearchDownload | |||
} | |||
task zip(type: Zip, dependsOn: [configurations.compile, tasks.downloadLicenses, downloadElasticSearch, verifyElasticSearchDownload]) { | |||
duplicatesStrategy DuplicatesStrategy.EXCLUDE | |||
def archiveDir = "sonarqube-$version" | |||
def archiveDir = "sonarqube-$project.version" | |||
into("${archiveDir}/") { | |||
from(tasks.downloadLicenses.outputs) { | |||
@@ -99,45 +122,56 @@ task zip(type: Zip, dependsOn: [configurations.compile, tasks.downloadLicenses]) | |||
jsonFile.file.text = JsonOutput.prettyPrint(jsonText) | |||
} | |||
} | |||
from file('src/main/assembly') | |||
from(file('src/main/assembly')) { | |||
exclude 'conf/sonar.properties' | |||
exclude 'conf/wrapper.conf' | |||
exclude 'elasticsearch-patch' | |||
// elasticsearch script will be replaced by patched version below | |||
exclude 'elasticsearch/bin/elasticsearch' | |||
exclude 'elasticsearch/bin/elasticsearch-cli' | |||
exclude 'elasticsearch/bin/elasticsearch-keystore' | |||
exclude 'elasticsearch/bin/elasticsearch-node' | |||
exclude 'elasticsearch/bin/elasticsearch-shard' | |||
exclude 'elasticsearch/lib/tools/**' | |||
exclude 'elasticsearch/modules/aggs-matrix-stats/**' | |||
exclude 'elasticsearch/modules/geo/**' | |||
exclude 'elasticsearch/modules/ingest-common/**' | |||
exclude 'elasticsearch/modules/ingest-geoip/**' | |||
exclude 'elasticsearch/modules/ingest-user-agent/**' | |||
exclude 'elasticsearch/modules/kibana/**' | |||
exclude 'elasticsearch/modules/lang-expression/**' | |||
exclude 'elasticsearch/modules/lang-mustache/**' | |||
exclude 'elasticsearch/modules/mapper-extras/**' | |||
exclude 'elasticsearch/modules/rank-eval/**' | |||
exclude 'elasticsearch/modules/reindex/**' | |||
exclude 'elasticsearch/modules/repository-url/**' | |||
exclude 'elasticsearch/modules/tasks/**' | |||
exclude 'elasticsearch/modules/constant-keyword/**' | |||
exclude 'elasticsearch/modules/flattened/**' | |||
exclude 'elasticsearch/modules/frozen-indices/**' | |||
exclude 'elasticsearch/modules/mapper-version/**' | |||
exclude 'elasticsearch/modules/repositories-metering-api/**' | |||
exclude 'elasticsearch/modules/repository-encrypted/**' | |||
exclude 'elasticsearch/modules/search-business-rules/**' | |||
exclude 'elasticsearch/modules/searchable-snapshots/**' | |||
exclude 'elasticsearch/modules/snapshot-repo-test-kit/**' | |||
exclude 'elasticsearch/modules/spatial/**' | |||
exclude 'elasticsearch/modules/transform/**' | |||
exclude 'elasticsearch/modules/unsigned-long/**' | |||
exclude 'elasticsearch/modules/vectors/**' | |||
exclude 'elasticsearch/modules/wildcard/**' | |||
exclude 'elasticsearch/modules/x-pack-*/**' | |||
} | |||
} | |||
from(tarTree(downloadElasticSearch.dest)) { | |||
eachFile { fcd -> | |||
def path = fcd.relativePath.segments - fcd.relativeSourcePath.segments + fcd.relativeSourcePath.segments.drop(1) | |||
fcd.relativePath = new RelativePath(true, *path) | |||
} | |||
into("${archiveDir}/elasticsearch") | |||
// elasticsearch script will be replaced by patched version below | |||
exclude '**/bin/elasticsearch' | |||
exclude '**/bin/elasticsearch-cli' | |||
exclude '**/bin/elasticsearch-keystore' | |||
exclude '**/bin/elasticsearch-node' | |||
exclude '**/bin/elasticsearch-shard' | |||
exclude '**/jdk/**' | |||
exclude '**/lib/tools/**' | |||
exclude '**/modules/aggs-matrix-stats/**' | |||
exclude '**/modules/geo/**' | |||
exclude '**/modules/ingest-common/**' | |||
exclude '**/modules/ingest-geoip/**' | |||
exclude '**/modules/ingest-user-agent/**' | |||
exclude '**/modules/kibana/**' | |||
exclude '**/modules/lang-expression/**' | |||
exclude '**/modules/lang-mustache/**' | |||
exclude '**/modules/mapper-extras/**' | |||
exclude '**/modules/rank-eval/**' | |||
exclude '**/modules/reindex/**' | |||
exclude '**/modules/repository-url/**' | |||
exclude '**/modules/tasks/**' | |||
exclude '**/modules/constant-keyword/**' | |||
exclude '**/modules/flattened/**' | |||
exclude '**/modules/frozen-indices/**' | |||
exclude '**/modules/mapper-version/**' | |||
exclude '**/modules/repositories-metering-api/**' | |||
exclude '**/modules/repository-encrypted/**' | |||
exclude '**/modules/search-business-rules/**' | |||
exclude '**/modules/searchable-snapshots/**' | |||
exclude '**/modules/snapshot-repo-test-kit/**' | |||
exclude '**/modules/spatial/**' | |||
exclude '**/modules/transform/**' | |||
exclude '**/modules/unsigned-long/**' | |||
exclude '**/modules/vectors/**' | |||
exclude '**/modules/wildcard/**' | |||
exclude '**/modules/x-pack-*/**' | |||
includeEmptyDirs = false | |||
} | |||
into("${archiveDir}/conf/") { |
@@ -1,93 +0,0 @@ | |||
Elastic License 2.0 | |||
URL: https://www.elastic.co/licensing/elastic-license | |||
## Acceptance | |||
By using the software, you agree to all of the terms and conditions below. | |||
## Copyright License | |||
The licensor grants you a non-exclusive, royalty-free, worldwide, | |||
non-sublicensable, non-transferable license to use, copy, distribute, make | |||
available, and prepare derivative works of the software, in each case subject to | |||
the limitations and conditions below. | |||
## Limitations | |||
You may not provide the software to third parties as a hosted or managed | |||
service, where the service provides users with access to any substantial set of | |||
the features or functionality of the software. | |||
You may not move, change, disable, or circumvent the license key functionality | |||
in the software, and you may not remove or obscure any functionality in the | |||
software that is protected by the license key. | |||
You may not alter, remove, or obscure any licensing, copyright, or other notices | |||
of the licensor in the software. Any use of the licensor’s trademarks is subject | |||
to applicable law. | |||
## Patents | |||
The licensor grants you a license, under any patent claims the licensor can | |||
license, or becomes able to license, to make, have made, use, sell, offer for | |||
sale, import and have imported the software, in each case subject to the | |||
limitations and conditions in this license. This license does not cover any | |||
patent claims that you cause to be infringed by modifications or additions to | |||
the software. If you or your company make any written claim that the software | |||
infringes or contributes to infringement of any patent, your patent license for | |||
the software granted under these terms ends immediately. If your company makes | |||
such a claim, your patent license ends immediately for work on behalf of your | |||
company. | |||
## Notices | |||
You must ensure that anyone who gets a copy of any part of the software from you | |||
also gets a copy of these terms. | |||
If you modify the software, you must include in any modified copies of the | |||
software prominent notices stating that you have modified the software. | |||
## No Other Rights | |||
These terms do not imply any licenses other than those expressly granted in | |||
these terms. | |||
## Termination | |||
If you use the software in violation of these terms, such use is not licensed, | |||
and your licenses will automatically terminate. If the licensor provides you | |||
with a notice of your violation, and you cease all violation of this license no | |||
later than 30 days after you receive that notice, your licenses will be | |||
reinstated retroactively. However, if you violate these terms after such | |||
reinstatement, any additional violation of these terms will cause your licenses | |||
to terminate automatically and permanently. | |||
## No Liability | |||
*As far as the law allows, the software comes as is, without any warranty or | |||
condition, and the licensor will not be liable to you for any damages arising | |||
out of these terms or the use or nature of the software, under any kind of | |||
legal claim.* | |||
## Definitions | |||
The **licensor** is the entity offering these terms, and the **software** is the | |||
software the licensor makes available under these terms, including any portion | |||
of it. | |||
**you** refers to the individual or entity agreeing to these terms. | |||
**your company** is any legal entity, sole proprietorship, or other kind of | |||
organization that you work for, plus all organizations that have control over, | |||
are under the control of, or are under common control with that | |||
organization. **control** means ownership of substantially all the assets of an | |||
entity, or the power to direct its management and policies by vote, contract, or | |||
otherwise. Control can be direct or indirect. | |||
**your licenses** are all the licenses granted to you for the software under | |||
these terms. | |||
**use** means anything you do with the software requiring one of your licenses. | |||
**trademark** means trademarks, service marks, and similar rights. |
@@ -1,90 +0,0 @@ | |||
= Elasticsearch | |||
Elasticsearch is the distributed, RESTful search and analytics engine at the | |||
heart of the https://www.elastic.co/products[Elastic Stack]. You can use | |||
Elasticsearch to store, search, and manage data for: | |||
* Logs | |||
* Metrics | |||
* A search backend | |||
* Application monitoring | |||
* Endpoint security | |||
\... and more! | |||
To learn more about Elasticsearch's features and capabilities, see our | |||
https://www.elastic.co/products/elasticsearch[product page]. | |||
[[get-started]] | |||
== Get started | |||
The simplest way to set up Elasticsearch is to create a managed deployment with | |||
https://www.elastic.co/cloud/as-a-service[Elasticsearch Service on Elastic | |||
Cloud]. | |||
If you prefer to install and manage Elasticsearch yourself, you can download | |||
the latest version from | |||
https://www.elastic.co/downloads/elasticsearch[elastic.co/downloads/elasticsearch]. | |||
For more installation options, see the | |||
https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html[Elasticsearch installation | |||
documentation]. | |||
[[upgrade]] | |||
== Upgrade | |||
To upgrade from an earlier version of Elasticsearch, see the | |||
https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-upgrade.html[Elasticsearch upgrade | |||
documentation]. | |||
[[build-source]] | |||
== Build from source | |||
Elasticsearch uses https://gradle.org[Gradle] for its build system. | |||
To build a distribution for your local OS and print its output location upon | |||
completion, run: | |||
---- | |||
./gradlew localDistro | |||
---- | |||
To build a distribution for another platform, run the related command: | |||
---- | |||
./gradlew :distribution:archives:linux-tar:assemble | |||
./gradlew :distribution:archives:darwin-tar:assemble | |||
./gradlew :distribution:archives:windows-zip:assemble | |||
---- | |||
To build distributions for all supported platforms, run: | |||
---- | |||
./gradlew assemble | |||
---- | |||
Distributions are output to `distributions/archives`. | |||
To run the test suite, see xref:TESTING.asciidoc[TESTING]. | |||
[[docs]] | |||
== Documentation | |||
For the complete Elasticsearch documentation visit | |||
https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html[elastic.co]. | |||
For information about our documentation processes, see the | |||
xref:docs/README.asciidoc[docs README]. | |||
[[contribute]] | |||
== Contribute | |||
For contribution guidelines, see xref:CONTRIBUTING.md[CONTRIBUTING]. | |||
[[questions]] | |||
== Questions? Problems? Suggestions? | |||
* To report a bug or request a feature, create a | |||
https://github.com/elastic/elasticsearch/issues/new/choose[GitHub Issue]. Please | |||
ensure someone else hasn't created an issue for the same topic. | |||
* Need help using Elasticsearch? Reach out on the | |||
https://discuss.elastic.co[Elastic Forum] or https://ela.st/slack[Slack]. A | |||
fellow community member or Elastic engineer will be happy to help you out. |
@@ -1,97 +0,0 @@ | |||
#!/bin/bash | |||
# CONTROLLING STARTUP: | |||
# | |||
# This script relies on a few environment variables to determine startup | |||
# behavior, those variables are: | |||
# | |||
# ES_PATH_CONF -- Path to config directory | |||
# ES_JAVA_OPTS -- External Java Opts on top of the defaults set | |||
# | |||
# Optionally, exact memory values can be set using the `ES_JAVA_OPTS`. Example | |||
# values are "512m", and "10g". | |||
# | |||
# ES_JAVA_OPTS="-Xms8g -Xmx8g" ./bin/elasticsearch | |||
source "`dirname "$0"`"/elasticsearch-env | |||
CHECK_KEYSTORE=true | |||
DAEMONIZE=false | |||
for option in "$@"; do | |||
case "$option" in | |||
-h|--help|-V|--version) | |||
CHECK_KEYSTORE=false | |||
;; | |||
-d|--daemonize) | |||
DAEMONIZE=true | |||
;; | |||
esac | |||
done | |||
if [ -z "$ES_TMPDIR" ]; then | |||
ES_TMPDIR=`"$JAVA" "$XSHARE" -cp "$ES_CLASSPATH" org.elasticsearch.tools.launchers.TempDirectory` | |||
fi | |||
# get keystore password before setting java options to avoid | |||
# conflicting GC configurations for the keystore tools | |||
unset KEYSTORE_PASSWORD | |||
KEYSTORE_PASSWORD= | |||
if [[ $CHECK_KEYSTORE = true ]] \ | |||
&& bin/elasticsearch-keystore has-passwd --silent | |||
then | |||
if ! read -s -r -p "Elasticsearch keystore password: " KEYSTORE_PASSWORD ; then | |||
echo "Failed to read keystore password on console" 1>&2 | |||
exit 1 | |||
fi | |||
fi | |||
# The JVM options parser produces the final JVM options to start Elasticsearch. | |||
# It does this by incorporating JVM options in the following way: | |||
# - first, system JVM options are applied (these are hardcoded options in the | |||
# parser) | |||
# - second, JVM options are read from jvm.options and jvm.options.d/*.options | |||
# - third, JVM options from ES_JAVA_OPTS are applied | |||
# - fourth, ergonomic JVM options are applied | |||
ES_JAVA_OPTS=`export ES_TMPDIR; "$JAVA" "$XSHARE" -cp "$ES_CLASSPATH" org.elasticsearch.tools.launchers.JvmOptionsParser "$ES_PATH_CONF" "$ES_HOME/plugins"` | |||
# manual parsing to find out, if process should be detached | |||
if [[ $DAEMONIZE = false ]]; then | |||
exec \ | |||
"$JAVA" \ | |||
"$XSHARE" \ | |||
$ES_JAVA_OPTS \ | |||
-Des.path.home="$ES_HOME" \ | |||
-Des.path.conf="$ES_PATH_CONF" \ | |||
-Des.distribution.flavor="$ES_DISTRIBUTION_FLAVOR" \ | |||
-Des.distribution.type="$ES_DISTRIBUTION_TYPE" \ | |||
-Des.bundled_jdk="$ES_BUNDLED_JDK" \ | |||
-cp "$ES_CLASSPATH" \ | |||
org.elasticsearch.bootstrap.Elasticsearch \ | |||
"$@" <<<"$KEYSTORE_PASSWORD" | |||
else | |||
exec \ | |||
"$JAVA" \ | |||
"$XSHARE" \ | |||
$ES_JAVA_OPTS \ | |||
-Des.path.home="$ES_HOME" \ | |||
-Des.path.conf="$ES_PATH_CONF" \ | |||
-Des.distribution.flavor="$ES_DISTRIBUTION_FLAVOR" \ | |||
-Des.distribution.type="$ES_DISTRIBUTION_TYPE" \ | |||
-Des.bundled_jdk="$ES_BUNDLED_JDK" \ | |||
-cp "$ES_CLASSPATH" \ | |||
org.elasticsearch.bootstrap.Elasticsearch \ | |||
"$@" \ | |||
<<<"$KEYSTORE_PASSWORD" & | |||
retval=$? | |||
pid=$! | |||
[ $retval -eq 0 ] || exit $retval | |||
if [ ! -z "$ES_STARTUP_SLEEP_TIME" ]; then | |||
sleep $ES_STARTUP_SLEEP_TIME | |||
fi | |||
if ! ps -p $pid > /dev/null ; then | |||
exit 1 | |||
fi | |||
exit 0 | |||
fi | |||
exit $? |
@@ -1,12 +0,0 @@ | |||
#!/bin/bash | |||
# Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one | |||
# or more contributor license agreements. Licensed under the Elastic License | |||
# 2.0; you may not use this file except in compliance with the Elastic License | |||
# 2.0. | |||
ES_MAIN_CLASS=org.elasticsearch.xpack.security.cli.CertificateGenerateTool \ | |||
ES_ADDITIONAL_SOURCES="x-pack-env;x-pack-security-env" \ | |||
ES_ADDITIONAL_CLASSPATH_DIRECTORIES=lib/tools/security-cli \ | |||
"`dirname "$0"`"/elasticsearch-cli \ | |||
"$@" |
@@ -1,12 +0,0 @@ | |||
#!/bin/bash | |||
# Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one | |||
# or more contributor license agreements. Licensed under the Elastic License | |||
# 2.0; you may not use this file except in compliance with the Elastic License | |||
# 2.0. | |||
ES_MAIN_CLASS=org.elasticsearch.xpack.security.cli.CertificateTool \ | |||
ES_ADDITIONAL_SOURCES="x-pack-env;x-pack-security-env" \ | |||
ES_ADDITIONAL_CLASSPATH_DIRECTORIES=lib/tools/security-cli \ | |||
"`dirname "$0"`"/elasticsearch-cli \ | |||
"$@" |
@@ -1,33 +0,0 @@ | |||
#!/bin/bash | |||
set -e -o pipefail | |||
source "`dirname "$0"`"/elasticsearch-env | |||
IFS=';' read -r -a additional_sources <<< "$ES_ADDITIONAL_SOURCES" | |||
for additional_source in "${additional_sources[@]}" | |||
do | |||
source "$ES_HOME"/bin/$additional_source | |||
done | |||
IFS=';' read -r -a additional_classpath_directories <<< "$ES_ADDITIONAL_CLASSPATH_DIRECTORIES" | |||
for additional_classpath_directory in "${additional_classpath_directories[@]}" | |||
do | |||
ES_CLASSPATH="$ES_CLASSPATH:$ES_HOME/$additional_classpath_directory/*" | |||
done | |||
# use a small heap size for the CLI tools, and thus the serial collector to | |||
# avoid stealing many CPU cycles; a user can override by setting ES_JAVA_OPTS | |||
ES_JAVA_OPTS="-Xms4m -Xmx64m -XX:+UseSerialGC ${ES_JAVA_OPTS}" | |||
exec \ | |||
"$JAVA" \ | |||
"$XSHARE" \ | |||
$ES_JAVA_OPTS \ | |||
-Des.path.home="$ES_HOME" \ | |||
-Des.path.conf="$ES_PATH_CONF" \ | |||
-Des.distribution.flavor="$ES_DISTRIBUTION_FLAVOR" \ | |||
-Des.distribution.type="$ES_DISTRIBUTION_TYPE" \ | |||
-cp "$ES_CLASSPATH" \ | |||
"$ES_MAIN_CLASS" \ | |||
"$@" |
@@ -1,11 +0,0 @@ | |||
#!/bin/bash | |||
# Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one | |||
# or more contributor license agreements. Licensed under the Elastic License | |||
# 2.0; you may not use this file except in compliance with the Elastic License | |||
# 2.0. | |||
ES_MAIN_CLASS=org.elasticsearch.xpack.watcher.trigger.schedule.tool.CronEvalTool \ | |||
ES_ADDITIONAL_SOURCES="x-pack-env;x-pack-watcher-env" \ | |||
"`dirname "$0"`"/elasticsearch-cli \ | |||
"$@" |
@@ -1,152 +0,0 @@ | |||
#!/bin/bash | |||
set -e -o pipefail | |||
CDPATH="" | |||
SCRIPT="$0" | |||
# SCRIPT might be an arbitrarily deep series of symbolic links; loop until we | |||
# have the concrete path | |||
while [ -h "$SCRIPT" ] ; do | |||
ls=`ls -ld "$SCRIPT"` | |||
# Drop everything prior to -> | |||
link=`expr "$ls" : '.*-> \(.*\)$'` | |||
if expr "$link" : '/.*' > /dev/null; then | |||
SCRIPT="$link" | |||
else | |||
SCRIPT=`dirname "$SCRIPT"`/"$link" | |||
fi | |||
done | |||
# determine Elasticsearch home; to do this, we strip from the path until we find | |||
# bin, and then strip bin (there is an assumption here that there is no nested | |||
# directory under bin also named bin) | |||
ES_HOME=`dirname "$SCRIPT"` | |||
# now make ES_HOME absolute | |||
ES_HOME=`cd "$ES_HOME"; pwd` | |||
while [ "`basename "$ES_HOME"`" != "bin" ]; do | |||
ES_HOME=`dirname "$ES_HOME"` | |||
done | |||
ES_HOME=`dirname "$ES_HOME"` | |||
# now set the classpath | |||
ES_CLASSPATH="$ES_HOME/lib/*" | |||
# now set the path to java | |||
if [ ! -z "$ES_JAVA_HOME" ]; then | |||
JAVA="$ES_JAVA_HOME/bin/java" | |||
JAVA_TYPE="ES_JAVA_HOME" | |||
elif [ ! -z "$JAVA_HOME" ]; then | |||
# fallback to JAVA_HOME | |||
echo "warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME" >&2 | |||
JAVA="$JAVA_HOME/bin/java" | |||
JAVA_TYPE="JAVA_HOME" | |||
else | |||
# use the bundled JDK (default) | |||
if [ "$(uname -s)" = "Darwin" ]; then | |||
# macOS has a different structure | |||
JAVA="$ES_HOME/jdk.app/Contents/Home/bin/java" | |||
else | |||
JAVA="$ES_HOME/jdk/bin/java" | |||
fi | |||
JAVA_TYPE="bundled JDK" | |||
fi | |||
if [ ! -x "$JAVA" ]; then | |||
echo "could not find java in $JAVA_TYPE at $JAVA" >&2 | |||
exit 1 | |||
fi | |||
# do not let JAVA_TOOL_OPTIONS slip in (as the JVM does by default) | |||
if [ ! -z "$JAVA_TOOL_OPTIONS" ]; then | |||
echo "warning: ignoring JAVA_TOOL_OPTIONS=$JAVA_TOOL_OPTIONS" | |||
unset JAVA_TOOL_OPTIONS | |||
fi | |||
# JAVA_OPTS is not a built-in JVM mechanism but some people think it is so we | |||
# warn them that we are not observing the value of $JAVA_OPTS | |||
if [ ! -z "$JAVA_OPTS" ]; then | |||
echo -n "warning: ignoring JAVA_OPTS=$JAVA_OPTS; " | |||
echo "pass JVM parameters via ES_JAVA_OPTS" | |||
fi | |||
if [[ "$("$JAVA" -version 2>/dev/null)" =~ "Unable to map CDS archive" ]]; then | |||
XSHARE="-Xshare:off" | |||
else | |||
XSHARE="-Xshare:auto" | |||
fi | |||
# check the Java version | |||
"$JAVA" "$XSHARE" -cp "$ES_CLASSPATH" org.elasticsearch.tools.java_version_checker.JavaVersionChecker | |||
export HOSTNAME=$HOSTNAME | |||
if [ -z "$ES_PATH_CONF" ]; then ES_PATH_CONF="$ES_HOME"/config; fi | |||
if [ -z "$ES_PATH_CONF" ]; then | |||
echo "ES_PATH_CONF must be set to the configuration path" | |||
exit 1 | |||
fi | |||
# now make ES_PATH_CONF absolute | |||
ES_PATH_CONF=`cd "$ES_PATH_CONF"; pwd` | |||
ES_DISTRIBUTION_FLAVOR=default | |||
ES_DISTRIBUTION_TYPE=tar | |||
ES_BUNDLED_JDK=false | |||
if [[ "$ES_BUNDLED_JDK" == "false" ]]; then | |||
echo "warning: no-jdk distributions that do not bundle a JDK are deprecated and will be removed in a future release" >&2 | |||
fi | |||
if [[ "$ES_DISTRIBUTION_TYPE" == "docker" ]]; then | |||
# Allow environment variables to be set by creating a file with the | |||
# contents, and setting an environment variable with the suffix _FILE to | |||
# point to it. This can be used to provide secrets to a container, without | |||
# the values being specified explicitly when running the container. | |||
source "$ES_HOME/bin/elasticsearch-env-from-file" | |||
# Parse Docker env vars to customize Elasticsearch | |||
# | |||
# e.g. Setting the env var cluster.name=testcluster | |||
# | |||
# will cause Elasticsearch to be invoked with -Ecluster.name=testcluster | |||
# | |||
# see https://www.elastic.co/guide/en/elasticsearch/reference/current/settings.html#_setting_default_settings | |||
declare -a es_arg_array | |||
while IFS='=' read -r envvar_key envvar_value | |||
do | |||
# Elasticsearch settings need to have at least two dot separated lowercase | |||
# words, e.g. `cluster.name` | |||
if [[ "$envvar_key" =~ ^[a-z0-9_]+\.[a-z0-9_]+ ]]; then | |||
if [[ ! -z $envvar_value ]]; then | |||
es_opt="-E${envvar_key}=${envvar_value}" | |||
es_arg_array+=("${es_opt}") | |||
fi | |||
fi | |||
done <<< "$(env)" | |||
# Reset the positional parameters to the es_arg_array values and any existing positional params | |||
set -- "$@" "${es_arg_array[@]}" | |||
# 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, Elasticsearch provides a mechanism to override | |||
# reading the cgroup path from /proc/self/cgroup and instead uses the | |||
# cgroup path defined the JVM system property | |||
# es.cgroups.hierarchy.override. Therefore, we set this value here so | |||
# that cgroup statistics are available for the container this process | |||
# will run in. | |||
export ES_JAVA_OPTS="-Des.cgroups.hierarchy.override=/ $ES_JAVA_OPTS" | |||
fi | |||
cd "$ES_HOME" |
@@ -1,50 +0,0 @@ | |||
#!/bin/bash | |||
set -e -o pipefail | |||
# Allow environment variables to be set by creating a file with the | |||
# contents, and setting an environment variable with the suffix _FILE to | |||
# point to it. This can be used to provide secrets to a container, without | |||
# the values being specified explicitly when running the container. | |||
# | |||
# Note that only supported environment variables are processed, in order | |||
# to avoid unexpected failures when an environment sets a "*_FILE" variable | |||
# that doesn't contain a filename. | |||
# | |||
# This script is intended to be sourced, not executed, and modifies the | |||
# environment. | |||
for VAR_NAME_FILE in ELASTIC_PASSWORD_FILE KEYSTORE_PASSWORD_FILE ; do | |||
if [[ -n "${!VAR_NAME_FILE}" ]]; then | |||
VAR_NAME="${VAR_NAME_FILE%_FILE}" | |||
if env | grep "^${VAR_NAME}="; then | |||
echo "ERROR: Both $VAR_NAME_FILE and $VAR_NAME are set. These are mutually exclusive." >&2 | |||
exit 1 | |||
fi | |||
if [[ ! -e "${!VAR_NAME_FILE}" ]]; then | |||
echo "ERROR: File ${!VAR_NAME_FILE} from $VAR_NAME_FILE does not exist" >&2 | |||
exit 1 | |||
fi | |||
FILE_PERMS="$(stat -L -c '%a' ${!VAR_NAME_FILE})" | |||
if [[ "$FILE_PERMS" != "400" && "$FILE_PERMS" != "600" ]]; then | |||
if [[ -h "${!VAR_NAME_FILE}" ]]; then | |||
echo "ERROR: File $(readlink "${!VAR_NAME_FILE}") (target of symlink ${!VAR_NAME_FILE} from $VAR_NAME_FILE) must have file permissions 400 or 600, but actually has: $FILE_PERMS" >&2 | |||
else | |||
echo "ERROR: File ${!VAR_NAME_FILE} from $VAR_NAME_FILE must have file permissions 400 or 600, but actually has: $FILE_PERMS" >&2 | |||
fi | |||
exit 1 | |||
fi | |||
echo "Setting $VAR_NAME from $VAR_NAME_FILE at ${!VAR_NAME_FILE}" >&2 | |||
export "$VAR_NAME"="$(cat ${!VAR_NAME_FILE})" | |||
unset VAR_NAME | |||
# Unset the suffixed environment variable | |||
unset "$VAR_NAME_FILE" | |||
fi | |||
done | |||
@@ -1,6 +0,0 @@ | |||
#!/bin/bash | |||
ES_MAIN_CLASS=org.elasticsearch.geoip.GeoIpCli \ | |||
ES_ADDITIONAL_CLASSPATH_DIRECTORIES=lib/tools/geoip-cli \ | |||
"`dirname "$0"`"/elasticsearch-cli \ | |||
"$@" |
@@ -1,6 +0,0 @@ | |||
#!/bin/bash | |||
ES_MAIN_CLASS=org.elasticsearch.common.settings.KeyStoreCli \ | |||
ES_ADDITIONAL_CLASSPATH_DIRECTORIES=lib/tools/keystore-cli \ | |||
"`dirname "$0"`"/elasticsearch-cli \ | |||
"$@" |
@@ -1,11 +0,0 @@ | |||
#!/bin/bash | |||
# Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one | |||
# or more contributor license agreements. Licensed under the Elastic License | |||
# 2.0; you may not use this file except in compliance with the Elastic License | |||
# 2.0. | |||
ES_MAIN_CLASS=org.elasticsearch.xpack.security.authc.esnative.ESNativeRealmMigrateTool \ | |||
ES_ADDITIONAL_SOURCES="x-pack-env;x-pack-security-env" \ | |||
"`dirname "$0"`"/elasticsearch-cli \ | |||
"$@" |
@@ -1,5 +0,0 @@ | |||
#!/bin/bash | |||
ES_MAIN_CLASS=org.elasticsearch.cluster.coordination.NodeToolCli \ | |||
"`dirname "$0"`"/elasticsearch-cli \ | |||
"$@" |
@@ -1,6 +0,0 @@ | |||
#!/bin/bash | |||
ES_MAIN_CLASS=org.elasticsearch.plugins.PluginCli \ | |||
ES_ADDITIONAL_CLASSPATH_DIRECTORIES=lib/tools/plugin-cli \ | |||
"`dirname "$0"`"/elasticsearch-cli \ | |||
"$@" |
@@ -1,11 +0,0 @@ | |||
#!/bin/bash | |||
# Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one | |||
# or more contributor license agreements. Licensed under the Elastic License | |||
# 2.0; you may not use this file except in compliance with the Elastic License | |||
# 2.0. | |||
ES_MAIN_CLASS=org.elasticsearch.xpack.security.authc.saml.SamlMetadataCommand \ | |||
ES_ADDITIONAL_SOURCES="x-pack-env;x-pack-security-env" \ | |||
"`dirname "$0"`"/elasticsearch-cli \ | |||
"$@" |
@@ -1,11 +0,0 @@ | |||
#!/bin/bash | |||
# Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one | |||
# or more contributor license agreements. Licensed under the Elastic License | |||
# 2.0; you may not use this file except in compliance with the Elastic License | |||
# 2.0. | |||
ES_MAIN_CLASS=org.elasticsearch.xpack.security.authc.service.FileTokensTool \ | |||
ES_ADDITIONAL_SOURCES="x-pack-env;x-pack-security-env" \ | |||
"`dirname "$0"`"/elasticsearch-cli \ | |||
"$@" |
@@ -1,11 +0,0 @@ | |||
#!/bin/bash | |||
# Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one | |||
# or more contributor license agreements. Licensed under the Elastic License | |||
# 2.0; you may not use this file except in compliance with the Elastic License | |||
# 2.0. | |||
ES_MAIN_CLASS=org.elasticsearch.xpack.security.authc.esnative.tool.SetupPasswordTool \ | |||
ES_ADDITIONAL_SOURCES="x-pack-env;x-pack-security-env" \ | |||
"`dirname "$0"`"/elasticsearch-cli \ | |||
"$@" |
@@ -1,5 +0,0 @@ | |||
#!/bin/bash | |||
ES_MAIN_CLASS=org.elasticsearch.index.shard.ShardToolCli \ | |||
"`dirname "$0"`"/elasticsearch-cli \ | |||
"$@" |
@@ -1,20 +0,0 @@ | |||
#!/bin/bash | |||
# Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one | |||
# or more contributor license agreements. Licensed under the Elastic License | |||
# 2.0; you may not use this file except in compliance with the Elastic License | |||
# 2.0. | |||
CLI_PARAMETERS="$@" | |||
source "`dirname "$0"`"/elasticsearch-env | |||
source "$ES_HOME"/bin/x-pack-env | |||
CLI_JAR=$(ls "$ES_HOME"/bin/elasticsearch-sql-cli-*.jar) | |||
exec \ | |||
"$JAVA" \ | |||
"$XSHARE" \ | |||
-jar "$CLI_JAR" \ | |||
$CLI_PARAMETERS |
@@ -1,11 +0,0 @@ | |||
#!/bin/bash | |||
# Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one | |||
# or more contributor license agreements. Licensed under the Elastic License | |||
# 2.0; you may not use this file except in compliance with the Elastic License | |||
# 2.0. | |||
ES_MAIN_CLASS=org.elasticsearch.xpack.security.crypto.tool.SystemKeyTool \ | |||
ES_ADDITIONAL_SOURCES="x-pack-env;x-pack-security-env" \ | |||
"`dirname "$0"`"/elasticsearch-cli \ | |||
"$@" |
@@ -1,11 +0,0 @@ | |||
#!/bin/bash | |||
# Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one | |||
# or more contributor license agreements. Licensed under the Elastic License | |||
# 2.0; you may not use this file except in compliance with the Elastic License | |||
# 2.0. | |||
ES_MAIN_CLASS=org.elasticsearch.xpack.security.authc.file.tool.UsersTool \ | |||
ES_ADDITIONAL_SOURCES="x-pack-env;x-pack-security-env" \ | |||
"`dirname "$0"`"/elasticsearch-cli \ | |||
"$@" |
@@ -1,9 +0,0 @@ | |||
#!/bin/bash | |||
# Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one | |||
# or more contributor license agreements. Licensed under the Elastic License | |||
# 2.0; you may not use this file except in compliance with the Elastic License | |||
# 2.0. | |||
# include x-pack-core jars in classpath | |||
ES_CLASSPATH="$ES_CLASSPATH:$ES_HOME/modules/x-pack-core/*" |
@@ -1,9 +0,0 @@ | |||
#!/bin/bash | |||
# Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one | |||
# or more contributor license agreements. Licensed under the Elastic License | |||
# 2.0; you may not use this file except in compliance with the Elastic License | |||
# 2.0. | |||
# include x-pack-security jars in classpath | |||
ES_CLASSPATH="$ES_CLASSPATH:$ES_HOME/modules/x-pack-security/*" |
@@ -1,9 +0,0 @@ | |||
#!/bin/bash | |||
# Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one | |||
# or more contributor license agreements. Licensed under the Elastic License | |||
# 2.0; you may not use this file except in compliance with the Elastic License | |||
# 2.0. | |||
# include x-pack-security jars in classpath | |||
ES_CLASSPATH="$ES_CLASSPATH:$ES_HOME/modules/x-pack-watcher/*" |
@@ -1,82 +0,0 @@ | |||
# ======================== Elasticsearch Configuration ========================= | |||
# | |||
# NOTE: Elasticsearch comes with reasonable defaults for most settings. | |||
# Before you set out to tweak and tune the configuration, make sure you | |||
# understand what are you trying to accomplish and the consequences. | |||
# | |||
# The primary way of configuring a node is via this file. This template lists | |||
# the most important settings you may want to configure for a production cluster. | |||
# | |||
# Please consult the documentation for further information on configuration options: | |||
# https://www.elastic.co/guide/en/elasticsearch/reference/index.html | |||
# | |||
# ---------------------------------- Cluster ----------------------------------- | |||
# | |||
# Use a descriptive name for your cluster: | |||
# | |||
#cluster.name: my-application | |||
# | |||
# ------------------------------------ Node ------------------------------------ | |||
# | |||
# Use a descriptive name for the node: | |||
# | |||
#node.name: node-1 | |||
# | |||
# Add custom attributes to the node: | |||
# | |||
#node.attr.rack: r1 | |||
# | |||
# ----------------------------------- Paths ------------------------------------ | |||
# | |||
# Path to directory where to store the data (separate multiple locations by comma): | |||
# | |||
#path.data: /path/to/data | |||
# | |||
# Path to log files: | |||
# | |||
#path.logs: /path/to/logs | |||
# | |||
# ----------------------------------- Memory ----------------------------------- | |||
# | |||
# Lock the memory on startup: | |||
# | |||
#bootstrap.memory_lock: true | |||
# | |||
# Make sure that the heap size is set to about half the memory available | |||
# on the system and that the owner of the process is allowed to use this | |||
# limit. | |||
# | |||
# Elasticsearch performs poorly when the system is swapping the memory. | |||
# | |||
# ---------------------------------- Network ----------------------------------- | |||
# | |||
# By default Elasticsearch is only accessible on localhost. Set a different | |||
# address here to expose this node on the network: | |||
# | |||
#network.host: 192.168.0.1 | |||
# | |||
# By default Elasticsearch listens for HTTP traffic on the first free port it | |||
# finds starting at 9200. Set a specific HTTP port here: | |||
# | |||
#http.port: 9200 | |||
# | |||
# For more information, consult the network module documentation. | |||
# | |||
# --------------------------------- Discovery ---------------------------------- | |||
# | |||
# Pass an initial list of hosts to perform discovery when this node is started: | |||
# The default list of hosts is ["127.0.0.1", "[::1]"] | |||
# | |||
#discovery.seed_hosts: ["host1", "host2"] | |||
# | |||
# Bootstrap the cluster using an initial set of master-eligible nodes: | |||
# | |||
#cluster.initial_master_nodes: ["node-1", "node-2"] | |||
# | |||
# For more information, consult the discovery and cluster formation module documentation. | |||
# | |||
# ---------------------------------- Various ----------------------------------- | |||
# | |||
# Require explicit names when deleting indices: | |||
# | |||
#action.destructive_requires_name: true |
@@ -1,92 +0,0 @@ | |||
################################################################ | |||
## | |||
## JVM configuration | |||
## | |||
################################################################ | |||
## | |||
## WARNING: DO NOT EDIT THIS FILE. If you want to override the | |||
## JVM options in this file, or set any additional options, you | |||
## should create one or more files in the jvm.options.d | |||
## directory containing your adjustments. | |||
## | |||
## See https://www.elastic.co/guide/en/elasticsearch/reference/current/jvm-options.html | |||
## for more information. | |||
## | |||
################################################################ | |||
################################################################ | |||
## IMPORTANT: JVM heap size | |||
################################################################ | |||
## | |||
## The heap size is automatically configured by Elasticsearch | |||
## based on the available memory in your system and the roles | |||
## each node is configured to fulfill. If specifying heap is | |||
## required, it should be done through a file in jvm.options.d, | |||
## and the min and max should be set to the same value. For | |||
## example, to set the heap to 4 GB, create a new file in the | |||
## jvm.options.d directory containing these lines: | |||
## | |||
## -Xms4g | |||
## -Xmx4g | |||
## | |||
## See https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html | |||
## for more information | |||
## | |||
################################################################ | |||
################################################################ | |||
## Expert settings | |||
################################################################ | |||
## | |||
## All settings below here are considered expert settings. Do | |||
## not adjust them unless you understand what you are doing. Do | |||
## not edit them in this file; instead, create a new file in the | |||
## jvm.options.d directory containing your adjustments. | |||
## | |||
################################################################ | |||
## GC configuration | |||
8-13:-XX:+UseConcMarkSweepGC | |||
8-13:-XX:CMSInitiatingOccupancyFraction=75 | |||
8-13:-XX:+UseCMSInitiatingOccupancyOnly | |||
## G1GC Configuration | |||
# NOTE: G1 GC is only supported on JDK version 10 or later | |||
# to use G1GC, uncomment the next two lines and update the version on the | |||
# following three lines to your version of the JDK | |||
# 10-13:-XX:-UseConcMarkSweepGC | |||
# 10-13:-XX:-UseCMSInitiatingOccupancyOnly | |||
14-:-XX:+UseG1GC | |||
## JVM temporary directory | |||
-Djava.io.tmpdir=${ES_TMPDIR} | |||
## heap dumps | |||
# generate a heap dump when an allocation from the Java heap fails; heap dumps | |||
# are created in the working directory of the JVM unless an alternative path is | |||
# specified | |||
-XX:+HeapDumpOnOutOfMemoryError | |||
# specify an alternative path for heap dumps; ensure the directory exists and | |||
# has sufficient space | |||
-XX:HeapDumpPath=data | |||
# specify an alternative path for JVM fatal error logs | |||
-XX:ErrorFile=logs/hs_err_pid%p.log | |||
## JDK 8 GC logging | |||
8:-XX:+PrintGCDetails | |||
8:-XX:+PrintGCDateStamps | |||
8:-XX:+PrintTenuringDistribution | |||
8:-XX:+PrintGCApplicationStoppedTime | |||
8:-Xloggc:logs/gc.log | |||
8:-XX:+UseGCLogFileRotation | |||
8:-XX:NumberOfGCLogFiles=32 | |||
8:-XX:GCLogFileSize=64m | |||
# JDK 9+ GC logging | |||
9-:-Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=32,filesize=64m |
@@ -1,276 +0,0 @@ | |||
status = error | |||
appender.console.type = Console | |||
appender.console.name = console | |||
appender.console.layout.type = PatternLayout | |||
appender.console.layout.pattern = [%d{ISO8601}][%-5p][%-25c{1.}] [%node_name]%marker %m%n | |||
######## Server JSON ############################ | |||
appender.rolling.type = RollingFile | |||
appender.rolling.name = rolling | |||
appender.rolling.fileName = ${sys:es.logs.base_path}${sys:file.separator}${sys:es.logs.cluster_name}_server.json | |||
appender.rolling.layout.type = ESJsonLayout | |||
appender.rolling.layout.type_name = server | |||
appender.rolling.filePattern = ${sys:es.logs.base_path}${sys:file.separator}${sys:es.logs.cluster_name}-%d{yyyy-MM-dd}-%i.json.gz | |||
appender.rolling.policies.type = Policies | |||
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy | |||
appender.rolling.policies.time.interval = 1 | |||
appender.rolling.policies.time.modulate = true | |||
appender.rolling.policies.size.type = SizeBasedTriggeringPolicy | |||
appender.rolling.policies.size.size = 128MB | |||
appender.rolling.strategy.type = DefaultRolloverStrategy | |||
appender.rolling.strategy.fileIndex = nomax | |||
appender.rolling.strategy.action.type = Delete | |||
appender.rolling.strategy.action.basepath = ${sys:es.logs.base_path} | |||
appender.rolling.strategy.action.condition.type = IfFileName | |||
appender.rolling.strategy.action.condition.glob = ${sys:es.logs.cluster_name}-* | |||
appender.rolling.strategy.action.condition.nested_condition.type = IfAccumulatedFileSize | |||
appender.rolling.strategy.action.condition.nested_condition.exceeds = 2GB | |||
################################################ | |||
######## Server - old style pattern ########### | |||
appender.rolling_old.type = RollingFile | |||
appender.rolling_old.name = rolling_old | |||
appender.rolling_old.fileName = ${sys:es.logs.base_path}${sys:file.separator}${sys:es.logs.cluster_name}.log | |||
appender.rolling_old.layout.type = PatternLayout | |||
appender.rolling_old.layout.pattern = [%d{ISO8601}][%-5p][%-25c{1.}] [%node_name]%marker %m%n | |||
appender.rolling_old.filePattern = ${sys:es.logs.base_path}${sys:file.separator}${sys:es.logs.cluster_name}-%d{yyyy-MM-dd}-%i.log.gz | |||
appender.rolling_old.policies.type = Policies | |||
appender.rolling_old.policies.time.type = TimeBasedTriggeringPolicy | |||
appender.rolling_old.policies.time.interval = 1 | |||
appender.rolling_old.policies.time.modulate = true | |||
appender.rolling_old.policies.size.type = SizeBasedTriggeringPolicy | |||
appender.rolling_old.policies.size.size = 128MB | |||
appender.rolling_old.strategy.type = DefaultRolloverStrategy | |||
appender.rolling_old.strategy.fileIndex = nomax | |||
appender.rolling_old.strategy.action.type = Delete | |||
appender.rolling_old.strategy.action.basepath = ${sys:es.logs.base_path} | |||
appender.rolling_old.strategy.action.condition.type = IfFileName | |||
appender.rolling_old.strategy.action.condition.glob = ${sys:es.logs.cluster_name}-* | |||
appender.rolling_old.strategy.action.condition.nested_condition.type = IfAccumulatedFileSize | |||
appender.rolling_old.strategy.action.condition.nested_condition.exceeds = 2GB | |||
################################################ | |||
rootLogger.level = info | |||
rootLogger.appenderRef.console.ref = console | |||
rootLogger.appenderRef.rolling.ref = rolling | |||
rootLogger.appenderRef.rolling_old.ref = rolling_old | |||
######## Deprecation JSON ####################### | |||
appender.deprecation_rolling.type = RollingFile | |||
appender.deprecation_rolling.name = deprecation_rolling | |||
appender.deprecation_rolling.fileName = ${sys:es.logs.base_path}${sys:file.separator}${sys:es.logs.cluster_name}_deprecation.json | |||
appender.deprecation_rolling.layout.type = ESJsonLayout | |||
appender.deprecation_rolling.layout.type_name = deprecation.elasticsearch | |||
appender.deprecation_rolling.layout.esmessagefields=x-opaque-id | |||
appender.deprecation_rolling.filter.rate_limit.type = RateLimitingFilter | |||
appender.deprecation_rolling.filePattern = ${sys:es.logs.base_path}${sys:file.separator}${sys:es.logs.cluster_name}_deprecation-%i.json.gz | |||
appender.deprecation_rolling.policies.type = Policies | |||
appender.deprecation_rolling.policies.size.type = SizeBasedTriggeringPolicy | |||
appender.deprecation_rolling.policies.size.size = 1GB | |||
appender.deprecation_rolling.strategy.type = DefaultRolloverStrategy | |||
appender.deprecation_rolling.strategy.max = 4 | |||
appender.header_warning.type = HeaderWarningAppender | |||
appender.header_warning.name = header_warning | |||
################################################# | |||
######## Deprecation - old style pattern ####### | |||
appender.deprecation_rolling_old.type = RollingFile | |||
appender.deprecation_rolling_old.name = deprecation_rolling_old | |||
appender.deprecation_rolling_old.fileName = ${sys:es.logs.base_path}${sys:file.separator}${sys:es.logs.cluster_name}_deprecation.log | |||
appender.deprecation_rolling_old.layout.type = PatternLayout | |||
appender.deprecation_rolling_old.layout.pattern = [%d{ISO8601}][%-5p][%-25c{1.}] [%node_name]%marker %m%n | |||
appender.deprecation_rolling_old.filter.rate_limit.type = RateLimitingFilter | |||
appender.deprecation_rolling_old.filePattern = ${sys:es.logs.base_path}${sys:file.separator}${sys:es.logs.cluster_name}\ | |||
_deprecation-%i.log.gz | |||
appender.deprecation_rolling_old.policies.type = Policies | |||
appender.deprecation_rolling_old.policies.size.type = SizeBasedTriggeringPolicy | |||
appender.deprecation_rolling_old.policies.size.size = 1GB | |||
appender.deprecation_rolling_old.strategy.type = DefaultRolloverStrategy | |||
appender.deprecation_rolling_old.strategy.max = 4 | |||
################################################# | |||
logger.deprecation.name = org.elasticsearch.deprecation | |||
logger.deprecation.level = deprecation | |||
logger.deprecation.appenderRef.deprecation_rolling.ref = deprecation_rolling | |||
logger.deprecation.appenderRef.deprecation_rolling_old.ref = deprecation_rolling_old | |||
logger.deprecation.appenderRef.header_warning.ref = header_warning | |||
logger.deprecation.additivity = false | |||
######## Search slowlog JSON #################### | |||
appender.index_search_slowlog_rolling.type = RollingFile | |||
appender.index_search_slowlog_rolling.name = index_search_slowlog_rolling | |||
appender.index_search_slowlog_rolling.fileName = ${sys:es.logs.base_path}${sys:file.separator}${sys:es.logs\ | |||
.cluster_name}_index_search_slowlog.json | |||
appender.index_search_slowlog_rolling.layout.type = ESJsonLayout | |||
appender.index_search_slowlog_rolling.layout.type_name = index_search_slowlog | |||
appender.index_search_slowlog_rolling.layout.esmessagefields=message,took,took_millis,total_hits,types,stats,search_type,total_shards,source,id | |||
appender.index_search_slowlog_rolling.filePattern = ${sys:es.logs.base_path}${sys:file.separator}${sys:es.logs\ | |||
.cluster_name}_index_search_slowlog-%i.json.gz | |||
appender.index_search_slowlog_rolling.policies.type = Policies | |||
appender.index_search_slowlog_rolling.policies.size.type = SizeBasedTriggeringPolicy | |||
appender.index_search_slowlog_rolling.policies.size.size = 1GB | |||
appender.index_search_slowlog_rolling.strategy.type = DefaultRolloverStrategy | |||
appender.index_search_slowlog_rolling.strategy.max = 4 | |||
################################################# | |||
######## Search slowlog - old style pattern #### | |||
appender.index_search_slowlog_rolling_old.type = RollingFile | |||
appender.index_search_slowlog_rolling_old.name = index_search_slowlog_rolling_old | |||
appender.index_search_slowlog_rolling_old.fileName = ${sys:es.logs.base_path}${sys:file.separator}${sys:es.logs.cluster_name}\ | |||
_index_search_slowlog.log | |||
appender.index_search_slowlog_rolling_old.layout.type = PatternLayout | |||
appender.index_search_slowlog_rolling_old.layout.pattern = [%d{ISO8601}][%-5p][%-25c{1.}] [%node_name]%marker %m%n | |||
appender.index_search_slowlog_rolling_old.filePattern = ${sys:es.logs.base_path}${sys:file.separator}${sys:es.logs.cluster_name}\ | |||
_index_search_slowlog-%i.log.gz | |||
appender.index_search_slowlog_rolling_old.policies.type = Policies | |||
appender.index_search_slowlog_rolling_old.policies.size.type = SizeBasedTriggeringPolicy | |||
appender.index_search_slowlog_rolling_old.policies.size.size = 1GB | |||
appender.index_search_slowlog_rolling_old.strategy.type = DefaultRolloverStrategy | |||
appender.index_search_slowlog_rolling_old.strategy.max = 4 | |||
################################################# | |||
logger.index_search_slowlog_rolling.name = index.search.slowlog | |||
logger.index_search_slowlog_rolling.level = trace | |||
logger.index_search_slowlog_rolling.appenderRef.index_search_slowlog_rolling.ref = index_search_slowlog_rolling | |||
logger.index_search_slowlog_rolling.appenderRef.index_search_slowlog_rolling_old.ref = index_search_slowlog_rolling_old | |||
logger.index_search_slowlog_rolling.additivity = false | |||
######## Indexing slowlog JSON ################## | |||
appender.index_indexing_slowlog_rolling.type = RollingFile | |||
appender.index_indexing_slowlog_rolling.name = index_indexing_slowlog_rolling | |||
appender.index_indexing_slowlog_rolling.fileName = ${sys:es.logs.base_path}${sys:file.separator}${sys:es.logs.cluster_name}\ | |||
_index_indexing_slowlog.json | |||
appender.index_indexing_slowlog_rolling.layout.type = ESJsonLayout | |||
appender.index_indexing_slowlog_rolling.layout.type_name = index_indexing_slowlog | |||
appender.index_indexing_slowlog_rolling.layout.esmessagefields=message,took,took_millis,doc_type,id,routing,source | |||
appender.index_indexing_slowlog_rolling.filePattern = ${sys:es.logs.base_path}${sys:file.separator}${sys:es.logs.cluster_name}\ | |||
_index_indexing_slowlog-%i.json.gz | |||
appender.index_indexing_slowlog_rolling.policies.type = Policies | |||
appender.index_indexing_slowlog_rolling.policies.size.type = SizeBasedTriggeringPolicy | |||
appender.index_indexing_slowlog_rolling.policies.size.size = 1GB | |||
appender.index_indexing_slowlog_rolling.strategy.type = DefaultRolloverStrategy | |||
appender.index_indexing_slowlog_rolling.strategy.max = 4 | |||
################################################# | |||
######## Indexing slowlog - old style pattern ## | |||
appender.index_indexing_slowlog_rolling_old.type = RollingFile | |||
appender.index_indexing_slowlog_rolling_old.name = index_indexing_slowlog_rolling_old | |||
appender.index_indexing_slowlog_rolling_old.fileName = ${sys:es.logs.base_path}${sys:file.separator}${sys:es.logs.cluster_name}\ | |||
_index_indexing_slowlog.log | |||
appender.index_indexing_slowlog_rolling_old.layout.type = PatternLayout | |||
appender.index_indexing_slowlog_rolling_old.layout.pattern = [%d{ISO8601}][%-5p][%-25c{1.}] [%node_name]%marker %m%n | |||
appender.index_indexing_slowlog_rolling_old.filePattern = ${sys:es.logs.base_path}${sys:file.separator}${sys:es.logs.cluster_name}\ | |||
_index_indexing_slowlog-%i.log.gz | |||
appender.index_indexing_slowlog_rolling_old.policies.type = Policies | |||
appender.index_indexing_slowlog_rolling_old.policies.size.type = SizeBasedTriggeringPolicy | |||
appender.index_indexing_slowlog_rolling_old.policies.size.size = 1GB | |||
appender.index_indexing_slowlog_rolling_old.strategy.type = DefaultRolloverStrategy | |||
appender.index_indexing_slowlog_rolling_old.strategy.max = 4 | |||
################################################# | |||
logger.index_indexing_slowlog.name = index.indexing.slowlog.index | |||
logger.index_indexing_slowlog.level = trace | |||
logger.index_indexing_slowlog.appenderRef.index_indexing_slowlog_rolling.ref = index_indexing_slowlog_rolling | |||
logger.index_indexing_slowlog.appenderRef.index_indexing_slowlog_rolling_old.ref = index_indexing_slowlog_rolling_old | |||
logger.index_indexing_slowlog.additivity = false | |||
appender.audit_rolling.type = RollingFile | |||
appender.audit_rolling.name = audit_rolling | |||
appender.audit_rolling.fileName = ${sys:es.logs.base_path}${sys:file.separator}${sys:es.logs.cluster_name}_audit.json | |||
appender.audit_rolling.layout.type = PatternLayout | |||
appender.audit_rolling.layout.pattern = {\ | |||
"type":"audit", \ | |||
"timestamp":"%d{yyyy-MM-dd'T'HH:mm:ss,SSSZ}"\ | |||
%varsNotEmpty{, "node.name":"%enc{%map{node.name}}{JSON}"}\ | |||
%varsNotEmpty{, "node.id":"%enc{%map{node.id}}{JSON}"}\ | |||
%varsNotEmpty{, "host.name":"%enc{%map{host.name}}{JSON}"}\ | |||
%varsNotEmpty{, "host.ip":"%enc{%map{host.ip}}{JSON}"}\ | |||
%varsNotEmpty{, "event.type":"%enc{%map{event.type}}{JSON}"}\ | |||
%varsNotEmpty{, "event.action":"%enc{%map{event.action}}{JSON}"}\ | |||
%varsNotEmpty{, "authentication.type":"%enc{%map{authentication.type}}{JSON}"}\ | |||
%varsNotEmpty{, "user.name":"%enc{%map{user.name}}{JSON}"}\ | |||
%varsNotEmpty{, "user.run_by.name":"%enc{%map{user.run_by.name}}{JSON}"}\ | |||
%varsNotEmpty{, "user.run_as.name":"%enc{%map{user.run_as.name}}{JSON}"}\ | |||
%varsNotEmpty{, "user.realm":"%enc{%map{user.realm}}{JSON}"}\ | |||
%varsNotEmpty{, "user.run_by.realm":"%enc{%map{user.run_by.realm}}{JSON}"}\ | |||
%varsNotEmpty{, "user.run_as.realm":"%enc{%map{user.run_as.realm}}{JSON}"}\ | |||
%varsNotEmpty{, "user.roles":%map{user.roles}}\ | |||
%varsNotEmpty{, "apikey.id":"%enc{%map{apikey.id}}{JSON}"}\ | |||
%varsNotEmpty{, "apikey.name":"%enc{%map{apikey.name}}{JSON}"}\ | |||
%varsNotEmpty{, "origin.type":"%enc{%map{origin.type}}{JSON}"}\ | |||
%varsNotEmpty{, "origin.address":"%enc{%map{origin.address}}{JSON}"}\ | |||
%varsNotEmpty{, "realm":"%enc{%map{realm}}{JSON}"}\ | |||
%varsNotEmpty{, "url.path":"%enc{%map{url.path}}{JSON}"}\ | |||
%varsNotEmpty{, "url.query":"%enc{%map{url.query}}{JSON}"}\ | |||
%varsNotEmpty{, "request.method":"%enc{%map{request.method}}{JSON}"}\ | |||
%varsNotEmpty{, "request.body":"%enc{%map{request.body}}{JSON}"}\ | |||
%varsNotEmpty{, "request.id":"%enc{%map{request.id}}{JSON}"}\ | |||
%varsNotEmpty{, "action":"%enc{%map{action}}{JSON}"}\ | |||
%varsNotEmpty{, "request.name":"%enc{%map{request.name}}{JSON}"}\ | |||
%varsNotEmpty{, "indices":%map{indices}}\ | |||
%varsNotEmpty{, "opaque_id":"%enc{%map{opaque_id}}{JSON}"}\ | |||
%varsNotEmpty{, "x_forwarded_for":"%enc{%map{x_forwarded_for}}{JSON}"}\ | |||
%varsNotEmpty{, "transport.profile":"%enc{%map{transport.profile}}{JSON}"}\ | |||
%varsNotEmpty{, "rule":"%enc{%map{rule}}{JSON}"}\ | |||
%varsNotEmpty{, "put":%map{put}}\ | |||
%varsNotEmpty{, "delete":%map{delete}}\ | |||
%varsNotEmpty{, "change":%map{change}}\ | |||
%varsNotEmpty{, "create":%map{create}}\ | |||
%varsNotEmpty{, "invalidate":%map{invalidate}}\ | |||
}%n | |||
# "node.name" node name from the `elasticsearch.yml` settings | |||
# "node.id" node id which should not change between cluster restarts | |||
# "host.name" unresolved hostname of the local node | |||
# "host.ip" the local bound ip (i.e. the ip listening for connections) | |||
# "origin.type" a received REST request is translated into one or more transport requests. This indicates which processing layer generated the event "rest" or "transport" (internal) | |||
# "event.action" the name of the audited event, eg. "authentication_failed", "access_granted", "run_as_granted", etc. | |||
# "authentication.type" one of "realm", "api_key", "token", "anonymous" or "internal" | |||
# "user.name" the subject name as authenticated by a realm | |||
# "user.run_by.name" the original authenticated subject name that is impersonating another one. | |||
# "user.run_as.name" if this "event.action" is of a run_as type, this is the subject name to be impersonated as. | |||
# "user.realm" the name of the realm that authenticated "user.name" | |||
# "user.run_by.realm" the realm name of the impersonating subject ("user.run_by.name") | |||
# "user.run_as.realm" if this "event.action" is of a run_as type, this is the realm name the impersonated user is looked up from | |||
# "user.roles" the roles array of the user; these are the roles that are granting privileges | |||
# "apikey.id" this field is present if and only if the "authentication.type" is "api_key" | |||
# "apikey.name" this field is present if and only if the "authentication.type" is "api_key" | |||
# "event.type" informs about what internal system generated the event; possible values are "rest", "transport", "ip_filter" and "security_config_change" | |||
# "origin.address" the remote address and port of the first network hop, i.e. a REST proxy or another cluster node | |||
# "realm" name of a realm that has generated an "authentication_failed" or an "authentication_successful"; the subject is not yet authenticated | |||
# "url.path" the URI component between the port and the query string; it is percent (URL) encoded | |||
# "url.query" the URI component after the path and before the fragment; it is percent (URL) encoded | |||
# "request.method" the method of the HTTP request, i.e. one of GET, POST, PUT, DELETE, OPTIONS, HEAD, PATCH, TRACE, CONNECT | |||
# "request.body" the content of the request body entity, JSON escaped | |||
# "request.id" a synthentic identifier for the incoming request, this is unique per incoming request, and consistent across all audit events generated by that request | |||
# "action" an action is the most granular operation that is authorized and this identifies it in a namespaced way (internal) | |||
# "request.name" if the event is in connection to a transport message this is the name of the request class, similar to how rest requests are identified by the url path (internal) | |||
# "indices" the array of indices that the "action" is acting upon | |||
# "opaque_id" opaque value conveyed by the "X-Opaque-Id" request header | |||
# "x_forwarded_for" the addresses from the "X-Forwarded-For" request header, as a verbatim string value (not an array) | |||
# "transport.profile" name of the transport profile in case this is a "connection_granted" or "connection_denied" event | |||
# "rule" name of the applied rule if the "origin.type" is "ip_filter" | |||
# the "put", "delete", "change", "create", "invalidate" fields are only present | |||
# when the "event.type" is "security_config_change" and contain the security config change (as an object) taking effect | |||
appender.audit_rolling.filePattern = ${sys:es.logs.base_path}${sys:file.separator}${sys:es.logs.cluster_name}_audit-%d{yyyy-MM-dd}.json | |||
appender.audit_rolling.policies.type = Policies | |||
appender.audit_rolling.policies.time.type = TimeBasedTriggeringPolicy | |||
appender.audit_rolling.policies.time.interval = 1 | |||
appender.audit_rolling.policies.time.modulate = true | |||
logger.xpack_security_audit_logfile.name = org.elasticsearch.xpack.security.audit.logfile.LoggingAuditTrail | |||
logger.xpack_security_audit_logfile.level = info | |||
logger.xpack_security_audit_logfile.appenderRef.audit_rolling.ref = audit_rolling | |||
logger.xpack_security_audit_logfile.additivity = false | |||
logger.xmlsig.name = org.apache.xml.security.signature.XMLSignature | |||
logger.xmlsig.level = error | |||
logger.samlxml_decrypt.name = org.opensaml.xmlsec.encryption.support.Decrypter | |||
logger.samlxml_decrypt.level = fatal | |||
logger.saml2_decrypt.name = org.opensaml.saml.saml2.encryption.Decrypter | |||
logger.saml2_decrypt.level = fatal |
@@ -1,14 +0,0 @@ | |||
# Role mapping configuration file which has elasticsearch roles as keys | |||
# that map to one or more user or group distinguished names | |||
#roleA: this is an elasticsearch role | |||
# - groupA-DN this is a group distinguished name | |||
# - groupB-DN | |||
# - user1-DN this is the full user distinguished name | |||
#power_user: | |||
# - "cn=admins,dc=example,dc=com" | |||
#user: | |||
# - "cn=users,dc=example,dc=com" | |||
# - "cn=admins,dc=example,dc=com" | |||
# - "cn=John Doe,cn=other users,dc=example,dc=com" |
@@ -1,3 +0,0 @@ | |||
# The default roles file is empty as the preferred method of defining roles is | |||
# through the API/UI. File based roles are useful in error scenarios when the | |||
# API based roles may not be available. |
@@ -1,55 +0,0 @@ | |||
# Elasticsearch plugin descriptor file | |||
# This file must exist as 'plugin-descriptor.properties' inside a plugin. | |||
# | |||
### example plugin for "foo" | |||
# | |||
# foo.zip <-- zip file for the plugin, with this structure: | |||
# |____ <arbitrary name1>.jar <-- classes, resources, dependencies | |||
# |____ <arbitrary nameN>.jar <-- any number of jars | |||
# |____ plugin-descriptor.properties <-- example contents below: | |||
# | |||
# classname=foo.bar.BazPlugin | |||
# description=My cool plugin | |||
# version=6.0 | |||
# elasticsearch.version=6.0 | |||
# java.version=1.8 | |||
# | |||
### mandatory elements for all plugins: | |||
# | |||
# 'type': the type of this plugin. 'isolated' indicated a typical sandboxed plugin, | |||
# whereas 'bootstrap' indicates a plugin whose jars are added to the JVM's boot | |||
# classpath. | |||
type=isolated | |||
# | |||
# 'description': simple summary of the plugin | |||
description=Adds aggregations whose input are a list of numeric fields and output includes a matrix. | |||
# | |||
# 'version': plugin's version | |||
version=7.13.4 | |||
# | |||
# 'name': the plugin name | |||
name=aggs-matrix-stats | |||
# | |||
# 'classname': the name of the class to load, fully-qualified. Only applies to | |||
# "isolated" plugins | |||
classname=org.elasticsearch.search.aggregations.matrix.MatrixAggregationPlugin | |||
# | |||
# 'java.version': version of java the code is built against | |||
# use the system property java.specification.version | |||
# version string must be a sequence of nonnegative decimal integers | |||
# separated by "."'s and may have leading zeros | |||
java.version=1.8 | |||
# | |||
# 'elasticsearch.version': version of elasticsearch compiled against | |||
elasticsearch.version=7.13.4 | |||
### optional elements for plugins: | |||
# | |||
# 'extended.plugins': other plugins this plugin extends through SPI | |||
extended.plugins= | |||
# | |||
# 'has.native.controller': whether or not the plugin has a native controller | |||
has.native.controller=false | |||
@@ -1,55 +0,0 @@ | |||
# Elasticsearch plugin descriptor file | |||
# This file must exist as 'plugin-descriptor.properties' inside a plugin. | |||
# | |||
### example plugin for "foo" | |||
# | |||
# foo.zip <-- zip file for the plugin, with this structure: | |||
# |____ <arbitrary name1>.jar <-- classes, resources, dependencies | |||
# |____ <arbitrary nameN>.jar <-- any number of jars | |||
# |____ plugin-descriptor.properties <-- example contents below: | |||
# | |||
# classname=foo.bar.BazPlugin | |||
# description=My cool plugin | |||
# version=6.0 | |||
# elasticsearch.version=6.0 | |||
# java.version=1.8 | |||
# | |||
### mandatory elements for all plugins: | |||
# | |||
# 'type': the type of this plugin. 'isolated' indicated a typical sandboxed plugin, | |||
# whereas 'bootstrap' indicates a plugin whose jars are added to the JVM's boot | |||
# classpath. | |||
type=isolated | |||
# | |||
# 'description': simple summary of the plugin | |||
description=Adds "built in" analyzers to Elasticsearch. | |||
# | |||
# 'version': plugin's version | |||
version=7.13.4 | |||
# | |||
# 'name': the plugin name | |||
name=analysis-common | |||
# | |||
# 'classname': the name of the class to load, fully-qualified. Only applies to | |||
# "isolated" plugins | |||
classname=org.elasticsearch.analysis.common.CommonAnalysisPlugin | |||
# | |||
# 'java.version': version of java the code is built against | |||
# use the system property java.specification.version | |||
# version string must be a sequence of nonnegative decimal integers | |||
# separated by "."'s and may have leading zeros | |||
java.version=1.8 | |||
# | |||
# 'elasticsearch.version': version of elasticsearch compiled against | |||
elasticsearch.version=7.13.4 | |||
### optional elements for plugins: | |||
# | |||
# 'extended.plugins': other plugins this plugin extends through SPI | |||
extended.plugins=lang-painless | |||
# | |||
# 'has.native.controller': whether or not the plugin has a native controller | |||
has.native.controller=false | |||
@@ -1,93 +0,0 @@ | |||
Elastic License 2.0 | |||
URL: https://www.elastic.co/licensing/elastic-license | |||
## Acceptance | |||
By using the software, you agree to all of the terms and conditions below. | |||
## Copyright License | |||
The licensor grants you a non-exclusive, royalty-free, worldwide, | |||
non-sublicensable, non-transferable license to use, copy, distribute, make | |||
available, and prepare derivative works of the software, in each case subject to | |||
the limitations and conditions below. | |||
## Limitations | |||
You may not provide the software to third parties as a hosted or managed | |||
service, where the service provides users with access to any substantial set of | |||
the features or functionality of the software. | |||
You may not move, change, disable, or circumvent the license key functionality | |||
in the software, and you may not remove or obscure any functionality in the | |||
software that is protected by the license key. | |||
You may not alter, remove, or obscure any licensing, copyright, or other notices | |||
of the licensor in the software. Any use of the licensor’s trademarks is subject | |||
to applicable law. | |||
## Patents | |||
The licensor grants you a license, under any patent claims the licensor can | |||
license, or becomes able to license, to make, have made, use, sell, offer for | |||
sale, import and have imported the software, in each case subject to the | |||
limitations and conditions in this license. This license does not cover any | |||
patent claims that you cause to be infringed by modifications or additions to | |||
the software. If you or your company make any written claim that the software | |||
infringes or contributes to infringement of any patent, your patent license for | |||
the software granted under these terms ends immediately. If your company makes | |||
such a claim, your patent license ends immediately for work on behalf of your | |||
company. | |||
## Notices | |||
You must ensure that anyone who gets a copy of any part of the software from you | |||
also gets a copy of these terms. | |||
If you modify the software, you must include in any modified copies of the | |||
software prominent notices stating that you have modified the software. | |||
## No Other Rights | |||
These terms do not imply any licenses other than those expressly granted in | |||
these terms. | |||
## Termination | |||
If you use the software in violation of these terms, such use is not licensed, | |||
and your licenses will automatically terminate. If the licensor provides you | |||
with a notice of your violation, and you cease all violation of this license no | |||
later than 30 days after you receive that notice, your licenses will be | |||
reinstated retroactively. However, if you violate these terms after such | |||
reinstatement, any additional violation of these terms will cause your licenses | |||
to terminate automatically and permanently. | |||
## No Liability | |||
*As far as the law allows, the software comes as is, without any warranty or | |||
condition, and the licensor will not be liable to you for any damages arising | |||
out of these terms or the use or nature of the software, under any kind of | |||
legal claim.* | |||
## Definitions | |||
The **licensor** is the entity offering these terms, and the **software** is the | |||
software the licensor makes available under these terms, including any portion | |||
of it. | |||
**you** refers to the individual or entity agreeing to these terms. | |||
**your company** is any legal entity, sole proprietorship, or other kind of | |||
organization that you work for, plus all organizations that have control over, | |||
are under the control of, or are under common control with that | |||
organization. **control** means ownership of substantially all the assets of an | |||
entity, or the power to direct its management and policies by vote, contract, or | |||
otherwise. Control can be direct or indirect. | |||
**your licenses** are all the licenses granted to you for the software under | |||
these terms. | |||
**use** means anything you do with the software requiring one of your licenses. | |||
**trademark** means trademarks, service marks, and similar rights. |
@@ -1,4 +0,0 @@ | |||
Elasticsearch X-Pack | |||
Copyright 2009-2017 Elasticsearch | |||
@@ -1,55 +0,0 @@ | |||
# Elasticsearch plugin descriptor file | |||
# This file must exist as 'plugin-descriptor.properties' inside a plugin. | |||
# | |||
### example plugin for "foo" | |||
# | |||
# foo.zip <-- zip file for the plugin, with this structure: | |||
# |____ <arbitrary name1>.jar <-- classes, resources, dependencies | |||
# |____ <arbitrary nameN>.jar <-- any number of jars | |||
# |____ plugin-descriptor.properties <-- example contents below: | |||
# | |||
# classname=foo.bar.BazPlugin | |||
# description=My cool plugin | |||
# version=6.0 | |||
# elasticsearch.version=6.0 | |||
# java.version=1.8 | |||
# | |||
### mandatory elements for all plugins: | |||
# | |||
# 'type': the type of this plugin. 'isolated' indicated a typical sandboxed plugin, | |||
# whereas 'bootstrap' indicates a plugin whose jars are added to the JVM's boot | |||
# classpath. | |||
type=isolated | |||
# | |||
# 'description': simple summary of the plugin | |||
description=Module for the constant-keyword field type, which is a specialization of keyword for the case when all documents have the same value. | |||
# | |||
# 'version': plugin's version | |||
version=7.13.4 | |||
# | |||
# 'name': the plugin name | |||
name=constant-keyword | |||
# | |||
# 'classname': the name of the class to load, fully-qualified. Only applies to | |||
# "isolated" plugins | |||
classname=org.elasticsearch.xpack.constantkeyword.ConstantKeywordMapperPlugin | |||
# | |||
# 'java.version': version of java the code is built against | |||
# use the system property java.specification.version | |||
# version string must be a sequence of nonnegative decimal integers | |||
# separated by "."'s and may have leading zeros | |||
java.version=1.8 | |||
# | |||
# 'elasticsearch.version': version of elasticsearch compiled against | |||
elasticsearch.version=7.13.4 | |||
### optional elements for plugins: | |||
# | |||
# 'extended.plugins': other plugins this plugin extends through SPI | |||
extended.plugins=x-pack-core | |||
# | |||
# 'has.native.controller': whether or not the plugin has a native controller | |||
has.native.controller=false | |||
@@ -1,93 +0,0 @@ | |||
Elastic License 2.0 | |||
URL: https://www.elastic.co/licensing/elastic-license | |||
## Acceptance | |||
By using the software, you agree to all of the terms and conditions below. | |||
## Copyright License | |||
The licensor grants you a non-exclusive, royalty-free, worldwide, | |||
non-sublicensable, non-transferable license to use, copy, distribute, make | |||
available, and prepare derivative works of the software, in each case subject to | |||
the limitations and conditions below. | |||
## Limitations | |||
You may not provide the software to third parties as a hosted or managed | |||
service, where the service provides users with access to any substantial set of | |||
the features or functionality of the software. | |||
You may not move, change, disable, or circumvent the license key functionality | |||
in the software, and you may not remove or obscure any functionality in the | |||
software that is protected by the license key. | |||
You may not alter, remove, or obscure any licensing, copyright, or other notices | |||
of the licensor in the software. Any use of the licensor’s trademarks is subject | |||
to applicable law. | |||
## Patents | |||
The licensor grants you a license, under any patent claims the licensor can | |||
license, or becomes able to license, to make, have made, use, sell, offer for | |||
sale, import and have imported the software, in each case subject to the | |||
limitations and conditions in this license. This license does not cover any | |||
patent claims that you cause to be infringed by modifications or additions to | |||
the software. If you or your company make any written claim that the software | |||
infringes or contributes to infringement of any patent, your patent license for | |||
the software granted under these terms ends immediately. If your company makes | |||
such a claim, your patent license ends immediately for work on behalf of your | |||
company. | |||
## Notices | |||
You must ensure that anyone who gets a copy of any part of the software from you | |||
also gets a copy of these terms. | |||
If you modify the software, you must include in any modified copies of the | |||
software prominent notices stating that you have modified the software. | |||
## No Other Rights | |||
These terms do not imply any licenses other than those expressly granted in | |||
these terms. | |||
## Termination | |||
If you use the software in violation of these terms, such use is not licensed, | |||
and your licenses will automatically terminate. If the licensor provides you | |||
with a notice of your violation, and you cease all violation of this license no | |||
later than 30 days after you receive that notice, your licenses will be | |||
reinstated retroactively. However, if you violate these terms after such | |||
reinstatement, any additional violation of these terms will cause your licenses | |||
to terminate automatically and permanently. | |||
## No Liability | |||
*As far as the law allows, the software comes as is, without any warranty or | |||
condition, and the licensor will not be liable to you for any damages arising | |||
out of these terms or the use or nature of the software, under any kind of | |||
legal claim.* | |||
## Definitions | |||
The **licensor** is the entity offering these terms, and the **software** is the | |||
software the licensor makes available under these terms, including any portion | |||
of it. | |||
**you** refers to the individual or entity agreeing to these terms. | |||
**your company** is any legal entity, sole proprietorship, or other kind of | |||
organization that you work for, plus all organizations that have control over, | |||
are under the control of, or are under common control with that | |||
organization. **control** means ownership of substantially all the assets of an | |||
entity, or the power to direct its management and policies by vote, contract, or | |||
otherwise. Control can be direct or indirect. | |||
**your licenses** are all the licenses granted to you for the software under | |||
these terms. | |||
**use** means anything you do with the software requiring one of your licenses. | |||
**trademark** means trademarks, service marks, and similar rights. |
@@ -1,4 +0,0 @@ | |||
Elasticsearch X-Pack | |||
Copyright 2009-2017 Elasticsearch | |||
@@ -1,55 +0,0 @@ | |||
# Elasticsearch plugin descriptor file | |||
# This file must exist as 'plugin-descriptor.properties' inside a plugin. | |||
# | |||
### example plugin for "foo" | |||
# | |||
# foo.zip <-- zip file for the plugin, with this structure: | |||
# |____ <arbitrary name1>.jar <-- classes, resources, dependencies | |||
# |____ <arbitrary nameN>.jar <-- any number of jars | |||
# |____ plugin-descriptor.properties <-- example contents below: | |||
# | |||
# classname=foo.bar.BazPlugin | |||
# description=My cool plugin | |||
# version=6.0 | |||
# elasticsearch.version=6.0 | |||
# java.version=1.8 | |||
# | |||
### mandatory elements for all plugins: | |||
# | |||
# 'type': the type of this plugin. 'isolated' indicated a typical sandboxed plugin, | |||
# whereas 'bootstrap' indicates a plugin whose jars are added to the JVM's boot | |||
# classpath. | |||
type=isolated | |||
# | |||
# 'description': simple summary of the plugin | |||
description=A plugin for the frozen indices functionality | |||
# | |||
# 'version': plugin's version | |||
version=7.13.4 | |||
# | |||
# 'name': the plugin name | |||
name=frozen-indices | |||
# | |||
# 'classname': the name of the class to load, fully-qualified. Only applies to | |||
# "isolated" plugins | |||
classname=org.elasticsearch.xpack.frozen.FrozenIndices | |||
# | |||
# 'java.version': version of java the code is built against | |||
# use the system property java.specification.version | |||
# version string must be a sequence of nonnegative decimal integers | |||
# separated by "."'s and may have leading zeros | |||
java.version=1.8 | |||
# | |||
# 'elasticsearch.version': version of elasticsearch compiled against | |||
elasticsearch.version=7.13.4 | |||
### optional elements for plugins: | |||
# | |||
# 'extended.plugins': other plugins this plugin extends through SPI | |||
extended.plugins=x-pack-core | |||
# | |||
# 'has.native.controller': whether or not the plugin has a native controller | |||
has.native.controller=false | |||