-
Notifications
You must be signed in to change notification settings - Fork 4.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs/multiplexing: overhaul plugin documentation (#14509)
* docs/multiplexing: overhaul plugin documentation * update nav data * remove dupe nav data * add external plugin section to index * move custom plugin backends under internals/plugins * remove ref to moved page * revert moving custom plugin backends * add building plugins from source section to plug dev * add mux section to plugin arch * add mux section to custom plugin page * reorder custom database page * use 'external plugin' where appropriate * add link to plugin multiplexing * fix example serve multiplex func call * address review comments * address review comments * Minor format updates (#14590) * mv Plugins to top-level; update upgrading plugins * update links after changing paths * add section on external plugin scaling characteristics * add updates on plugin registration in plugin management page * add plugin learn resource * be more explicit about mux upgrade steps; add notes on when to avoid db muxing * add plugin upgrade built-in section * add caveats to built-in plugin upgrade * improvements to built-in plugin override * formatting, add redirects, correct multiplexing use case * fix go-plugin link * Apply suggestions from code review Co-authored-by: Loann Le <[email protected]> * remove single item list; add link to Database interface Co-authored-by: Yoko Hyakuna <[email protected]> Co-authored-by: Loann Le <[email protected]>
- Loading branch information
1 parent
b8062bd
commit 9680de8
Showing
16 changed files
with
689 additions
and
359 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
--- | ||
layout: docs | ||
page_title: Plugin System | ||
description: Learn about Vault's plugin system. | ||
--- | ||
|
||
|
||
# Plugin System | ||
|
||
All Vault auth methods and secrets engines are considered plugins. This simple concept | ||
allows both built-in and external plugins to be treated like Legos. Any plugin | ||
can exist at multiple different locations. Different versions of a plugin may | ||
be at each location, with each version differing from Vault's version. | ||
|
||
## Built-In Plugins | ||
|
||
Built-in plugins are shipped with Vault, often for commonly used implementations, | ||
and require no additional operator intervention to run. Built-in plugins are | ||
just like any other backend code inside Vault. | ||
|
||
To use a different or edited version of a built-in plugin, the plugin must be | ||
run as an external plugin. See [Overriding Built-in Plugins](/docs/upgrading/plugins#overriding-built-in-plugins) | ||
for details on how to override a built-in plugin in-place. | ||
|
||
## External Plugins | ||
|
||
External plugins are not shipped with Vault and require additional operator | ||
intervention to run. | ||
|
||
To run an external plugin, a binary of the plugin is required. Plugin | ||
binaries can be obtained from [releases.hashicorp.com](https://releases.hashicorp.com/) | ||
or they can be [built from source](/docs/plugins/plugin-development#building-a-plugin-from-source). | ||
|
||
Vault's external plugins are completely separate, standalone applications that | ||
Vault executes and communicates with over RPC. Each time a Vault secret engine | ||
or auth method is mounted, a new process is spawned. However, database plugins | ||
can be made to implement [plugin multiplexing](/docs/plugins/plugin-architecture#plugin-multiplexing) | ||
which allows a single plugin process to be used for multiple database | ||
connections. |
Oops, something went wrong.