-
Notifications
You must be signed in to change notification settings - Fork 107
Clarify MinIO nonfunctional requirements #2021
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
base: main
Are you sure you want to change the base?
Clarify MinIO nonfunctional requirements #2021
Conversation
It is apparently nonobvious that if you run MinIO on poorly-configured infrastructure then you're not going to get S3-like performance. This commit spells out that the responsibility for the infrastructure underneath MinIO lies with the user.
🔍 Preview links for changed docs |
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.
Thank you, the change looks good!
I've left a minor suggestion for style and clarity, in case you'd like to implement it.
@@ -380,7 +380,7 @@ There are a number of storage systems that provide an S3-compatible API, and the | |||
|
|||
By default {{es}} communicates with your storage system using HTTPS, and validates the repository’s certificate chain using the JVM-wide truststore. Ensure that the JVM-wide truststore includes an entry for your repository. If you wish to use unsecured HTTP communication instead of HTTPS, set `s3.client.CLIENT_NAME.protocol` to `http`. | |||
|
|||
[MinIO](https://minio.io) is an example of a storage system that provides an S3-compatible API. The `s3` repository type allows {{es}} to work with MinIO-backed repositories as well as repositories stored on AWS S3. Other S3-compatible storage systems may also work with {{es}}, but these are not covered by the {{es}} test suite. | |||
[MinIO](https://minio.io) is an example of a storage system that provides an S3-compatible API. The `s3` repository type allows {{es}} to work with MinIO-backed repositories as well as repositories stored on AWS S3. Note however that the performance, reliability and durability of a MinIO-backed repository are dependent on the properties of the underlying infrastructure, as well as on the details of your MinIO configuration. You must design your storage infrastructure, and configure MinIO, so that your MinIO-backed repository has performance, reliability and durability characteristics which match AWS S3. If you need assistance with your MinIO configuration, please contact the MinIO support team. Other S3-compatible storage systems may also work with {{es}}, but these are not covered by the {{es}} test suite. |
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.
[MinIO](https://minio.io) is an example of a storage system that provides an S3-compatible API. The `s3` repository type allows {{es}} to work with MinIO-backed repositories as well as repositories stored on AWS S3. Note however that the performance, reliability and durability of a MinIO-backed repository are dependent on the properties of the underlying infrastructure, as well as on the details of your MinIO configuration. You must design your storage infrastructure, and configure MinIO, so that your MinIO-backed repository has performance, reliability and durability characteristics which match AWS S3. If you need assistance with your MinIO configuration, please contact the MinIO support team. Other S3-compatible storage systems may also work with {{es}}, but these are not covered by the {{es}} test suite. | |
[MinIO](https://minio.io) is an example of a storage system that provides an S3-compatible API. The `s3` repository type allows {{es}} to work with MinIO-backed repositories as well as repositories stored on AWS S3. However, note that the performance, reliability, and durability of a MinIO-backed repository depend on the properties of the underlying infrastructure, as well as on the details of your MinIO configuration. You must design your storage infrastructure and configure MinIO in a way that ensures your MinIO-backed repository has the performance, reliability, and durability characteristics that match AWS S3. If you need assistance with your MinIO configuration, please contact the MinIO support team. Other S3-compatible storage systems may also work with {{es}}, but these are not covered by the {{es}} test suite. |
minor style suggestion to improve readability
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.
@DaveCTurner , what if we include the entire MinIO paragraph in a highlighted note
with three paragraphs inside?
Something like:
::::{admonition} MinIO considerations
[MinIO](https://minio.io) is an example of a storage system that provides an S3-compatible API. The `s3` repository type allows {{es}} to work with MinIO-backed repositories as well as repositories stored on AWS S3.
Note that the performance, reliability, and durability of a MinIO-backed repository depend on the properties of the underlying infrastructure, as well as on the details of your MinIO configuration. You must design your storage infrastructure and configure MinIO in a way that ensures your MinIO-backed repository has the performance, reliability, and durability characteristics that match AWS S3. If you need assistance with your MinIO configuration, please contact the MinIO support team.
Other S3-compatible storage systems may also work with {{es}}, but these are not covered by the {{es}} test suite.
::::
Considering that the section is about compatible S3
services in general, but MinIO is actually the most important for us, I think highlighting this paragraph would be beneficial for the doc, and could look like:

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.
Added a comment to change a bit the format of the paragraph, for your consideration.
I believe it's worthy to highlight the statements about MinIO in the doc, also considering that we have a doc that covers MinIO with ECE and refers to this section of the doc too.
@@ -380,7 +380,7 @@ There are a number of storage systems that provide an S3-compatible API, and the | |||
|
|||
By default {{es}} communicates with your storage system using HTTPS, and validates the repository’s certificate chain using the JVM-wide truststore. Ensure that the JVM-wide truststore includes an entry for your repository. If you wish to use unsecured HTTP communication instead of HTTPS, set `s3.client.CLIENT_NAME.protocol` to `http`. | |||
|
|||
[MinIO](https://minio.io) is an example of a storage system that provides an S3-compatible API. The `s3` repository type allows {{es}} to work with MinIO-backed repositories as well as repositories stored on AWS S3. Other S3-compatible storage systems may also work with {{es}}, but these are not covered by the {{es}} test suite. | |||
[MinIO](https://minio.io) is an example of a storage system that provides an S3-compatible API. The `s3` repository type allows {{es}} to work with MinIO-backed repositories as well as repositories stored on AWS S3. Note however that the performance, reliability and durability of a MinIO-backed repository are dependent on the properties of the underlying infrastructure, as well as on the details of your MinIO configuration. You must design your storage infrastructure, and configure MinIO, so that your MinIO-backed repository has performance, reliability and durability characteristics which match AWS S3. If you need assistance with your MinIO configuration, please contact the MinIO support team. Other S3-compatible storage systems may also work with {{es}}, but these are not covered by the {{es}} test suite. |
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.
@DaveCTurner , what if we include the entire MinIO paragraph in a highlighted note
with three paragraphs inside?
Something like:
::::{admonition} MinIO considerations
[MinIO](https://minio.io) is an example of a storage system that provides an S3-compatible API. The `s3` repository type allows {{es}} to work with MinIO-backed repositories as well as repositories stored on AWS S3.
Note that the performance, reliability, and durability of a MinIO-backed repository depend on the properties of the underlying infrastructure, as well as on the details of your MinIO configuration. You must design your storage infrastructure and configure MinIO in a way that ensures your MinIO-backed repository has the performance, reliability, and durability characteristics that match AWS S3. If you need assistance with your MinIO configuration, please contact the MinIO support team.
Other S3-compatible storage systems may also work with {{es}}, but these are not covered by the {{es}} test suite.
::::
Considering that the section is about compatible S3
services in general, but MinIO is actually the most important for us, I think highlighting this paragraph would be beneficial for the doc, and could look like:

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.
LGTM 👍
It is apparently nonobvious that if you run MinIO on poorly-configured
infrastructure then you're not going to get S3-like performance. This
commit spells out that the responsibility for the infrastructure
underneath MinIO lies with the user.