Skip to content
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

Clarify difference between public and secure client settings in discu… #31469

Merged
merged 3 commits into from
Jan 9, 2019
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 20 additions & 15 deletions docs/plugins/repository-s3.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@ PUT _snapshot/my_s3_repository
[[repository-s3-client]]
==== Client Settings

The client used to connect to S3 has a number of settings available. Client setting names are of
the form `s3.client.CLIENT_NAME.SETTING_NAME` and specified inside `elasticsearch.yml`. The
default client name looked up by a `s3` repository is called `default`, but can be customized
with the repository setting `client`. For example:
The client that you use to connect to S3 has a number of settings available. The
settings have the form `s3.client.CLIENT_NAME.SETTING_NAME`. The default client
name that is looked up by an `s3` repository is `default`. It can be modified
using the <<repository-s3-repository,repository setting>> `client`. For example:

[source,js]
----
Expand All @@ -53,7 +53,11 @@ PUT _snapshot/my_s3_repository
// CONSOLE
// TEST[skip:we don't have s3 setup while testing this]

Some settings are sensitive and must be stored in the {ref}/secure-settings.html[elasticsearch keystore].
Most client settings can be added to the `elasticsearch.yml` configuration file
with the exception of the secure settings, which you add to the {es} keystore.
For more information about creating and updating the {es} keystore, see
{ref}/secure-settings.html[Secure settings].

For example, to use explicit AWS access keys:

[source,sh]
Expand All @@ -62,16 +66,17 @@ bin/elasticsearch-keystore add s3.client.default.access_key
bin/elasticsearch-keystore add s3.client.default.secret_key
----

The following are the available client settings. Those that must be stored in the keystore
are marked as `Secure`.
The following list contains the available client settings. Those that must be
stored in the keystore are marked as "secure"; all other settings can be
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"can" implies (to me) that this is optional. Yet the secure and non secure settings are disjoint; they cannot be present in the other location. I'm not sure what word would better relate that requirement, though...

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the feedback! I changed it to "all other settings belong in ..."

included in the `elasticsearch.yml` file.

`access_key`::
`access_key` ({ref}/secure-settings.html[Secure])::

An s3 access key. The `secret_key` setting must also be specified. (Secure)
An s3 access key. The `secret_key` setting must also be specified.

`secret_key`::
`secret_key` ({ref}/secure-settings.html[Secure])::

An s3 secret key. The `access_key` setting must also be specified. (Secure)
An s3 secret key. The `access_key` setting must also be specified.

`endpoint`::

Expand All @@ -92,13 +97,13 @@ are marked as `Secure`.

The port of a proxy to connect to s3 through.

`proxy.username`::
`proxy.username` ({ref}/secure-settings.html[Secure])::

The username to connect to the `proxy.host` with. (Secure)
The username to connect to the `proxy.host` with.

`proxy.password`::
`proxy.password` ({ref}/secure-settings.html[Secure])::

The password to connect to the `proxy.host` with. (Secure)
The password to connect to the `proxy.host` with.

`read_timeout`::

Expand Down