-
Notifications
You must be signed in to change notification settings - Fork 25k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[DOCS] Reloadable Secure Settings #31713
Changes from 3 commits
e9c6c47
85b4ff3
49823b3
eeee21c
529af80
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -37,7 +37,6 @@ bin/elasticsearch-keystore add discovery.ec2.secret_key | |
The following are the available discovery settings. All should be prefixed with `discovery.ec2.`. | ||
Those that must be stored in the keystore are marked as `Secure`. | ||
|
||
|
||
`access_key`:: | ||
|
||
An ec2 access key. The `secret_key` setting must also be specified. (Secure) | ||
|
@@ -122,6 +121,10 @@ Defaults to `private_ip`. | |
How long the list of hosts is cached to prevent further requests to the AWS API. | ||
Defaults to `10s`. | ||
|
||
*All* secure settings of this plugin are {ref}/secure-settings.html#reloadable-secure-settings[reloadable]. | ||
After you reload the settings, the hosts provider, during dynamic nodes refresh, | ||
will be using an aws sdk client with the latest settings from the keystore. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It seems like there's a word missing here. What will be using an sdk client? |
||
|
||
[IMPORTANT] | ||
.Binding the network host | ||
============================================== | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,7 +11,7 @@ include::install_remove.asciidoc[] | |
==== Azure Repository | ||
|
||
To enable Azure repositories, you have first to define your azure storage settings as | ||
{ref}/secure-settings.html[secured settings]: | ||
{ref}/secure-settings.html[secure settings], before starting up the node: | ||
|
||
[source,sh] | ||
---------------------------------------------------------------- | ||
|
@@ -20,6 +20,7 @@ bin/elasticsearch-keystore add azure.client.default.key | |
---------------------------------------------------------------- | ||
|
||
Where `account` is the azure account name and `key` the azure secret key. | ||
These settings are used by the repository's internal azure client. | ||
|
||
Note that you can also define more than one account: | ||
|
||
|
@@ -31,7 +32,18 @@ bin/elasticsearch-keystore add azure.client.secondary.account | |
bin/elasticsearch-keystore add azure.client.secondary.key | ||
---------------------------------------------------------------- | ||
|
||
`default` is the default account name which will be used by a repository unless you set an explicit one. | ||
`default` is the default account name which will be used by a repository, | ||
unless you set an explicit one in the | ||
<<repository-azure-repository-settings, repository settings>>. | ||
|
||
Both `account` and `key` storage settings are | ||
{ref}/secure-settings.html#reloadable-secure-settings[reloadable]. After you | ||
reload the settings, the internal azure clients, used to transfer the snapshot | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. How about |
||
contents, will utilize the latest settings from the keystore. | ||
|
||
NOTE: In progress snapshot/restore jobs will not be preempted by a *reload* | ||
of the storage secure settings. They will complete using the client as it was built | ||
when the operation started. | ||
|
||
You can set the client side timeout to use when making any single request. It can be defined globally, per account or both. | ||
It's not set by default which means that Elasticsearch is using the | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -75,3 +75,34 @@ To remove a setting from the keystore, use the `remove` command: | |
bin/elasticsearch-keystore remove the.setting.name.to.remove | ||
---------------------------------------------------------------- | ||
|
||
[float] | ||
[[reloadable-secure-settings]] | ||
=== Reloadable secure settings | ||
|
||
Just like the settings values in `elasticsearch.yml`, changes to the | ||
keystore contents are not automatically applied to the running | ||
elasticsearch node. Re-reading settings requires a node restart. | ||
However, certain secure settings are marked as *reloadable*. Such settings | ||
can be re-read and applied on a running node. | ||
|
||
The values of all secure settings, *reloadable* or not, must be identical | ||
across all cluster nodes. After making the desired secure settings changes, | ||
using the `bin/elasticsearch-keystore add` command, call: | ||
[source,js] | ||
---- | ||
POST _nodes/reload_secure_settings | ||
{ | ||
"secure_settings_password": "" | ||
} | ||
---- | ||
// CONSOLE | ||
This API will decrypt and re-read the entire keystore, on every cluster node, | ||
but only the *reloadable* secure settings will be applied. Changes to other | ||
settings will not get into effect until the next restart. Once the call returns, | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. s/get/go |
||
the reload has been completed, meaning that all internal datastructures dependent | ||
on these settings have been changed. Everything should look as if the settings | ||
had the new value from the start. | ||
|
||
When changing multiple *reloadable* secure settings, modify all of them, on | ||
each cluster node, and then issue a `reload_secure_settings` call, instead | ||
of reloading after each modification. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe
After you reload the settings, an aws sdk client with the latest settings from the keystore will be used
?