Add extensions documentation (#4202)
* Add extensions documentation Signed-off-by: Fanit Kolchina <kolchfa@amazon.com> * Editing Signed-off-by: Fanit Kolchina <kolchfa@amazon.com> * Update _developer-documentation/extensions.md Co-authored-by: Chris Moore <107723039+cwillum@users.noreply.github.com> Signed-off-by: kolchfa-aws <105444904+kolchfa-aws@users.noreply.github.com> * Implemented doc review comments Signed-off-by: Fanit Kolchina <kolchfa@amazon.com> * Add more links Signed-off-by: Fanit Kolchina <kolchfa@amazon.com> * Update _developer-documentation/index.md Co-authored-by: Melissa Vagi <vagimeli@amazon.com> Signed-off-by: kolchfa-aws <105444904+kolchfa-aws@users.noreply.github.com> * Remove javadoc until the release Signed-off-by: Fanit Kolchina <kolchfa@amazon.com> * Change links to hosted site Signed-off-by: Fanit Kolchina <kolchfa@amazon.com> --------- Signed-off-by: Fanit Kolchina <kolchfa@amazon.com> Signed-off-by: kolchfa-aws <105444904+kolchfa-aws@users.noreply.github.com> Co-authored-by: Chris Moore <107723039+cwillum@users.noreply.github.com> Co-authored-by: Melissa Vagi <vagimeli@amazon.com>
This commit is contained in:
parent
f0b86602ed
commit
fb84435f62
|
@ -91,6 +91,9 @@ collections:
|
|||
external_links:
|
||||
permalink: /:collection/:path/
|
||||
output: true
|
||||
developer-documentation:
|
||||
permalink: /:collection/:path/
|
||||
output: true
|
||||
|
||||
just_the_docs:
|
||||
# Define the collections used in the theme
|
||||
|
@ -154,6 +157,9 @@ just_the_docs:
|
|||
troubleshoot:
|
||||
name: Troubleshooting
|
||||
nav_fold: true
|
||||
developer-documentation:
|
||||
name: Developer documentation
|
||||
nav_fold: true
|
||||
|
||||
|
||||
# Enable or disable the site search
|
||||
|
|
|
@ -0,0 +1,46 @@
|
|||
---
|
||||
layout: default
|
||||
title: Extensions
|
||||
nav_order: 10
|
||||
---
|
||||
|
||||
# Extensions
|
||||
|
||||
Extensions is an experimental feature. Therefore, we do not recommend the use of extensions in a production environment. For updates on the progress of extensions, or if you want leave feedback that could help improve the feature, refer to the [issue on GitHub](https://github.com/opensearch-project/OpenSearch/issues/2447).
|
||||
{: .warning}
|
||||
|
||||
Until extensions were introduced, plugins were the only way to extend OpenSearch functionality. However, plugins have significant shortcomings: they require frequent updates to stay up to date with OpenSearch core, they pose a security risk because they run in the same process as OpenSearch, and updating or installing them requires a full cluster restart. Moreover, plugins can fatally impact the cluster in the event of failure.
|
||||
|
||||
Extensions provide an easier, more secure way to customize OpenSearch. Extensions support all plugin functionality and let you build additional modular features for OpenSearch. The [OpenSearch SDK for Java](https://github.com/opensearch-project/opensearch-sdk-java/) provides the library of classes and interfaces that you can use to develop extensions. Extensions are decoupled from OpenSearch core and do not need frequent updates. Additionally, they can run in a separate process or on another node and can be installed while a cluster is running.
|
||||
|
||||
## Getting started
|
||||
|
||||
Use the following documentation to get started with extensions:
|
||||
|
||||
### Step 1: Learn the basics
|
||||
|
||||
Read the [design documentation](https://opensearch-project.github.io/opensearch-sdk-java/DESIGN.html) to learn about extension architecture and how extensions work.
|
||||
|
||||
### Step 2: Try it out
|
||||
|
||||
Try running the sample Hello World extension by following detailed steps in the [Getting started section of the Developer Guide](https://opensearch-project.github.io/opensearch-sdk-java/DEVELOPER_GUIDE.html#getting-started).
|
||||
|
||||
### Step 3: Create your own extension
|
||||
|
||||
Develop a custom create, read, update, delete (CRUD) extension by following the instructions in [this tutorial](https://opensearch-project.github.io/opensearch-sdk-java/CREATE_YOUR_FIRST_EXTENSION.html).
|
||||
|
||||
### Step 4: Learn how to deploy your extension
|
||||
|
||||
For instructions on building, testing, and running an extension, see the [Developing your own extension section of the Developer Guide](https://opensearch-project.github.io/opensearch-sdk-java/DEVELOPER_GUIDE.html#developing-your-own-extension).
|
||||
|
||||
<!-- TODO: add the link after the release
|
||||
## Extensions Javadoc
|
||||
|
||||
For a complete extensions class hierarchy, see the [Javadoc](Link TBD).
|
||||
-->
|
||||
|
||||
## Plugin migration
|
||||
|
||||
The [Anomaly Detection plugin](https://github.com/opensearch-project/anomaly-detection) is now [implemented as an extension](https://github.com/opensearch-project/anomaly-detection/tree/feature/extensions). For details, see [this GitHub issue](https://github.com/opensearch-project/OpenSearch/issues/3635).
|
||||
|
||||
For tips on migrating an existing plugin to an extension, see the [plugin migration documentation](https://opensearch-project.github.io/opensearch-sdk-java/PLUGIN_MIGRATION.html).
|
|
@ -0,0 +1,24 @@
|
|||
---
|
||||
layout: default
|
||||
title: Developer documentation
|
||||
nav_order: 1
|
||||
has_children: false
|
||||
has_toc: false
|
||||
nav_exclude: true
|
||||
---
|
||||
|
||||
# Developer documentation
|
||||
|
||||
We welcome your contributions to the OpenSearch Project. Here are some helpful links to explore the OpenSearch repositories and learn how to contribute:
|
||||
|
||||
- [OpenSearch Project GitHub repo](https://github.com/opensearch-project/)
|
||||
- [Javadoc documentation](https://opensearch.org/javadocs/)
|
||||
- [Getting started as an OpenSearch contributor](https://github.com/opensearch-project/.github/blob/main/ONBOARDING.md)
|
||||
- [OpenSearch Dashboards Developer Guide](https://github.com/opensearch-project/OpenSearch-Dashboards/blob/main/DEVELOPER_GUIDE.md)
|
||||
- [OpenSearch release schedule and maintenance policy](https://opensearch.org/releases.html)
|
||||
- [OpenSearch Project roadmap](https://github.com/orgs/opensearch-project/projects/1)
|
||||
- [OpenSearch Community Forum](https://forum.opensearch.org/)
|
||||
|
||||
## What's new
|
||||
|
||||
New in version 2.9, OpenSearch introduces _extensions_---an easier-to-develop and more secure alternative to plugins---to simplify creating custom functionality for OpenSearch. To learn more about building extensions using _OpenSearch SDK for Java_, see [Extensions]({{site.url}}{{site.baseurl}}/developer-documentation/extensions/).
|
Loading…
Reference in New Issue