🔎 Open source distributed and RESTful search engine.
Go to file
Nik Everett f0f8fb6e5f SQL: Fix doc pointer to SQL's tests
The docs include portions of the SQL tests and for that to work they
need to point to position of the tests. They use a relative directory
but relative to *what*? That turns out to be a fairly complex thing to
answer, luckilly, `index.x.asciidoc` defines `xes-repo-dir` which points
to the root of the xpack docs. We can use that to find the sql tests
without having to answer the "relative to what?" question in two places.

Original commit: elastic/x-pack-elasticsearch@ebea586fdf
2018-02-07 12:57:11 -05: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 Merge remote-tracking branch 'elastic/master' into feature/sql_2 2018-01-22 16:03:56 -05:00
docs SQL: Fix doc pointer to SQL's tests 2018-02-07 12:57:11 -05:00
gradle/wrapper Bump Gradle to version 4.5 2018-01-31 23:18:58 -05:00
license-tools Build: Replace references to x-pack-elasticsearch paths with helper methods (elastic/x-pack-elasticsearch#3748) 2018-01-26 21:48:30 -08:00
plugin Changes required for elastic/elasticsearch#28531 2018-02-07 17:45:33 +01:00
qa Merge branch 'master' into feature/sql_2 2018-02-07 09:38:13 -05:00
test SQL: Remove cli.debug system parameter (elastic/x-pack-elasticsearch#3722) 2018-01-25 10:51:12 -07:00
transport-client Remove transport client dependency on security 2018-02-07 11:48:40 -05:00
.dir-locals.el Update .dir-locals.el for enforced line length 2016-02-04 14:55:41 -07:00
.gitignore SQL: Ignore directory made by text editor (elastic/x-pack-elasticsearch#3391) 2017-12-20 18:48:54 -05:00
.projectile Add .dir-locals.el and .projectile 2015-10-30 11:16:29 -06:00
LICENSE.txt Initial X-Pack commit 2018-04-20 14:16:58 -07:00
NOTICE.txt Build: Enable notice generation for x-pack (elastic/x-pack-elasticsearch#695) 2017-03-02 19:06:15 -08:00
README.asciidoc [DOCS] Updated doc info in readme 2018-02-01 18:37:01 -08:00
build.gradle Merge remote-tracking branch 'origin/master' into feature/sql_2 2018-01-29 15:42:01 -07:00
gradle.properties Increase gradle heap to 2048m 2017-12-28 09:57:49 -05:00
gradlew Introduce Gradle wrapper 2018-01-04 16:42:12 -05:00
gradlew.bat Introduce Gradle wrapper 2018-01-04 16:42:12 -05:00
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
-----

= Building documentation

The source files in this repository can be included in either the X-Pack
Reference or the Elasticsearch Reference.

NOTE: In 5.4 and later, the Elasticsearch Reference includes X-Pack-specific
content that is pulled from this repo.

To build the Elasticsearch Reference on your local machine, use the `docbldes` 
or `docbldesx` build commands defined in
https://github.com/elastic/docs/blob/master/doc_build_aliases.sh

== Adding Images

When you include an image in the documentation, specify the path relative to the
location of the asciidoc file. By convention, we put images in an `images`
subdirectory.

For example to insert `watcher-ui-edit-watch.png` in `watcher/limitations.asciidoc`:

. Add an `images` subdirectory to the watcher directory if it doesn't already exist.
. In `limitations.asciidoc` specify:
+
[source, txt]
-----
 image::images/watcher-ui-edit-watch.png["Editing a watch"]
-----

Please note that image names and anchor IDs must be unique within the book, so
do not use generic identifiers.