🔎 Open source distributed and RESTful search engine.
Go to file
Lisa Cawley 0f3f22deb2 [DOCS] Add ML info_content functions (elastic/x-pack-elasticsearch#1354)
Original commit: elastic/x-pack-elasticsearch@5cfa9618b5
2017-05-09 08:12:59 -07:00
.github Add issue template 2017-03-19 16:37:21 -04:00
buildSrc Rename x-pack project names to new names with split repo 2017-02-10 11:02:42 -08:00
dev-tools Adjust checkstyle suppressions to 140-column limit 2017-04-30 12:11:37 -04:00
docs [DOCS] Add ML info_content functions (elastic/x-pack-elasticsearch#1354) 2017-05-09 08:12:59 -07:00
license-tools Respond to rename random ASCII helper methods 2017-04-04 11:04:37 -04:00
migrate
plugin [Test] Restore random documents indexing in LocalExporterTests (elastic/x-pack-elasticsearch#1328) 2017-05-09 09:39:25 +02:00
qa [ML] Not an error to close a job twice (elastic/x-pack-elasticsearch#1340) 2017-05-08 16:34:46 +01:00
transport-client Rename core plugin and transport dirs 2017-02-10 11:02:42 -08:00
.dir-locals.el
.gitignore Adding new build files after split 2017-02-10 11:02:42 -08:00
.projectile
GRADLE.CHEATSHEET.asciidoc
LICENSE.txt
NOTICE.txt Build: Enable notice generation for x-pack (elastic/x-pack-elasticsearch#695) 2017-03-02 19:06:15 -08:00
README.asciidoc Add instructions for creating Vault Secret ID / GitHub Token (elastic/x-pack-elasticsearch#761) 2017-04-17 19:30:31 -04:00
build.gradle Build: Build 5.x version of xpack for bwc tests to use (elastic/x-pack-elasticsearch#885) 2017-04-07 22:19:30 -07:00
gradle.properties
migrate-issues.py
settings.gradle Rename x-pack project names to new names with split repo 2017-02-10 11:02:42 -08:00

README.asciidoc

= Elasticsearch X-Pack

A set of Elastic's commercial plugins for Elasticsearch:

- License
- Security
- Watcher
- Monitoring
- Machine Learning
- Graph

= Setup

You must checkout `x-pack-elasticsearch` and `elasticsearch` with a specific directory structure. The
`elasticsearch` checkout will be used when building `x-pack-elasticsearch`. The structure is:

- /path/to/elastic/elasticsearch
- /path/to/elastic/elasticsearch-extra/x-pack-elasticsearch

== Vault Secret

The build requires a Vault Secret ID. You can use a GitHub token by following these steps:

1. Go to https://github.com/settings/tokens
2. Click *Generate new token*
3. Set permissions to `read:org`
4. Copy the token into `~/.elastic/github.token`
5. Set the token's file permissions to `600`

```
$ mkdir ~/.elastic
$ vi ~/.elastic/github.token
# Add your_token exactly as it is into the file and save it
$ chmod 600 ~/.elastic/github.token
```

If you do not create the token, then you will see something along the lines of this as the failure when trying to build X-Pack:

```
* What went wrong:
Missing ~/.elastic/github.token file or VAULT_SECRET_ID environment variable, needed to authenticate with vault for secrets
```

=== Offline Mode

When running the build in offline mode (`--offline`), it will not required to have the vault secret setup.

== Native Code

**This is mandatory as tests depend on it**

Machine Learning requires platform specific binaries, build from https://github.com/elastic/machine-learning-cpp via CI servers.

The native artifacts are stored in S3. To retrieve them infra's team Vault service is utilized, which 
requires a github token. Please setup a github token as documented: 

https://github.com/elastic/infra/blob/master/docs/vault.md#github-auth

The github token has to be put into ~/.elastic/github.token, while the file rights must be set to 0600. 

= Build

- Run unit tests:
+
[source, txt]
-----
gradle clean test
-----

- Run all tests:
+
[source, txt]
-----
gradle clean check
-----

- Run integration tests:
+
[source, txt]
-----
gradle clean integTest
-----

- Package X-Pack (without running tests)
+
[source, txt]
-----
gradle clean assemble
-----

- Install X-Pack (without running tests)
+
[source, txt]
-----
gradle clean install
-----