This repository contains the documentation for Open Distro for Elasticsearch, a full-featured, open source distribution of Elasticsearch for analytics workloads. You can find the rendered documentation at opendistro.github.io/for-elasticsearch-docs/.
- 
Navigate to the repository root. 
- 
Install Ruby if you don't already have it. We recommend RVM, but use whatever method you prefer: curl -sSL https://get.rvm.io | bash -s stable rvm install 2.6 ruby -v
- 
Install Jekyll if you don't already have it: gem install bundler jekyll
- 
Install dependencies: bundle install
- 
Build: bundle exec jekyll serveAlternately, run build.sh, which includes some convenience flags, is faster to type, and opens a live preview automatically.
- Fork this repository.
- Clone your fork.
- Edit the Markdown files in /docs.
- Use Jekyll to build the content, and make sure your changes render the way you expect.
- Push your changes, and submit a pull request.
- 
Branch. 
- 
Run a find and replace for :x.y.z,-x.y.z, and_x.y.zand replace with the new version string.
- 
Run a find for the underlying Elasticsearch version and update it as necessary (probably just docs/install/deb.md).
- 
Start up a new cluster using the updated Docker Compose file in docs/install/docker.md.
- 
Update the version table in version-history.md.Use curl -XGET https://localhost:9200 -u admin:admin -kto verify the Elasticsearch version.
- 
Update the plugin compatibility table in docs/install/plugin.md.Use curl -XGET https://localhost:9200/_cat/plugins -u admin:admin -kto get the correct version strings.
- 
Run a build ( build.sh), and look for any warnings or errors you introduced.
- 
Verify that the individual plugin download links in docs/install/plugins.mdanddocs/kibana/plugins.mdwork.
- 
Check for any other bad links ( check-links.sh). Expect a few false positives for thelocalhostlinks.
- 
Submit a PR. 
- Try to stay consistent with existing content.
- Introduce acronyms before using them.
- Use bold for user interface elements, italics for key terms or emphasis, and monospacefor Bash commands, file names, URIs, and code.
- Markdown file names should be all lowercase, use hyphens to separate words, and end in .md.
This documentation uses a modified version of the just-the-docs Jekyll theme, which has some useful classes for labels and buttons:
[Get started](#get-started){: .btn .btn-blue }
## Get started
New
{: .label .label-green :}
- Labels come in default (blue), green, purple, yellow, and red.
- Buttons come in default, purple, blue, green, and outline.
- Warning, tip, and note blocks are available ({: .warning }, etc.).
- If an image has a white background, you can use {: .img-border }to add a one pixel border to the image.
These classes can help with readability, but should be used sparingly. Each addition of a class damages the portability of the Markdown files and makes moving to a different Jekyll theme (or a different static site generator) more difficult.
Besides, standard Markdown elements suffice for most documentation.
To create an auto-generated table of contents near the top of long pages, use the following snippet:
#### Table of contents
1. TOC
{:toc}
By design, only h2 and h3 headers are included.
If you create a new directory, name its first file index.md and make it a parent so that the links stay pretty:
---
layout: default
title: Some New Page
nav_order: 4
has_children: true
has_toc: false
---
This project has adopted an Open Source Code of Conduct.
If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security via our vulnerability reporting page. Please do not create a public GitHub issue.
See the LICENSE file for our project's licensing. We will ask you to confirm the licensing of your contribution.
Copyright 2019 Amazon.com, Inc. or its affiliates. All rights reserved.