Free and Open, Distributed, RESTful Search Engine
Find a file
Ryan Ernst 1088ef6ded
Capture system properties and env variables for cli tools to use (#85885)
Currently any code needing to access system properties or environment
variables does it with the static methods provided by Java. While this
is ok in production since these are instantiated for the entire jvm
once, it makes any code reading these properties difficult to test
without mucking with the test jvm.

This commit adds system properties and environment variables to the base
Command class that our CLI tools use. While it does not propagate the
properties and env down for all possible uses in the system, it is the
first step, and it makes CLI testing a bit easier.
2022-04-14 09:22:57 -07:00
.ci Split Java compatibility jobs to avoid exhausting worker memory 2022-04-13 08:12:23 -07:00
.github Update test-failure Issue Template to include "needs:triage" label #83226 2022-01-27 18:42:12 -05:00
.idea Configure required IDEA plugins (#84674) 2022-03-07 10:35:28 +00:00
benchmarks Remove no-jdk deprecations (#85765) 2022-04-11 14:52:31 -07:00
build-conventions Update build convention dependencies (#85444) 2022-03-30 11:08:34 +02:00
build-tools Remove lazy evaluation from plugin properties building (#85871) 2022-04-13 09:15:14 -07:00
build-tools-internal Upgrade to JDK 18.0.0+36 (#85376) 2022-04-13 12:48:04 -04:00
ccr/images [DOCS] Update remote cluster docs (#77043) 2021-09-22 16:02:33 -04:00
client Remove Task classes from HLRC (#85835) 2022-04-12 15:28:17 -04:00
dev-tools Improve atomic push script to support worktrees (#68873) 2021-02-11 10:13:15 -08:00
distribution Capture system properties and env variables for cli tools to use (#85885) 2022-04-14 09:22:57 -07:00
docs Use varhandles for primitive type conversion in more places (#85577) 2022-04-14 12:05:44 -04:00
gradle/wrapper Update gradle wrapper to 7.4.2 (#85608) 2022-04-01 07:06:27 -04:00
libs Capture system properties and env variables for cli tools to use (#85885) 2022-04-14 09:22:57 -07:00
licenses Keep low level rest client under Apache 2 software license (#68694) 2021-02-08 11:13:31 -08:00
modules Lower log level from info to debug for DatabaseNodeService. (#85874) 2022-04-14 13:20:26 +02:00
plugins [discovery-gce] Fix initialisation of transport in FIPS mode (#85817) 2022-04-13 10:57:37 +02:00
qa Capture system properties and env variables for cli tools to use (#85885) 2022-04-14 09:22:57 -07:00
rest-api-spec Enforce external id uniqueness during DesiredNode construction (#84227) 2022-04-13 13:24:20 +02:00
server Capture system properties and env variables for cli tools to use (#85885) 2022-04-14 09:22:57 -07:00
test Capture system properties and env variables for cli tools to use (#85885) 2022-04-14 09:22:57 -07:00
x-pack Capture system properties and env variables for cli tools to use (#85885) 2022-04-14 09:22:57 -07:00
.backportrc.json Bump version to 8.3.0 2022-03-30 19:24:47 +02:00
.dir-locals.el Go back to 140 column limit in .dir-locals.el 2017-04-14 08:50:53 -06:00
.editorconfig Formatting escape hatch (#81806) 2021-12-16 16:18:34 +00:00
.git-blame-ignore-revs Fix typo in instructions for ignore-revs (#80058) 2021-11-04 12:10:55 +11:00
.gitattributes Assert no carriage returns in release notes test samples (#77238) 2021-09-07 20:45:23 +01:00
.gitignore Configure required IDEA plugins (#84674) 2022-03-07 10:35:28 +00:00
build.gradle Cleaning up some buildscripts (#85394) 2022-03-31 10:48:48 +02:00
BUILDING.md Document how to test a dev version of a 3party dependency (#78962) 2021-10-13 05:23:37 -04:00
CHANGELOG.md Add changelog (#83830) 2022-02-11 13:29:22 +00:00
CONTRIBUTING.md Remove Eclipse IDE contributor documentation (#84724) 2022-03-07 11:32:15 -08:00
gradle.properties Add environment variables for Java 18 and 19 Java home 2022-04-13 14:12:33 -07:00
gradlew Update Gradle wrapper to 7.2 (#75894) 2021-08-18 05:11:28 -04:00
gradlew.bat Update gradle wrapper to 6.6 (#59909) 2020-08-11 10:17:33 +02:00
LICENSE.txt Update sources with new SSPL+Elastic-2.0 license headers 2021-02-02 16:10:53 -08:00
NOTICE.txt Remove Joda dependency (#79007) 2021-10-13 17:37:31 -07:00
README.asciidoc [DOCS] Refactor quick start guide and README (#71331) 2021-04-20 09:32:21 -04:00
settings.gradle Introduce unified entrypoint for CLI scripts (#85821) 2022-04-14 08:53:36 -07:00
TESTING.asciidoc Remove Eclipse IDE contributor documentation (#84724) 2022-03-07 11:32:15 -08:00
Vagrantfile Introduce ES_JAVA_HOME (#68954) 2021-02-17 12:41:23 -05:00

= 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.