diff --git a/source/_static/css-style.css b/source/_static/css-style.css
index 54b181a4..cd1b36c6 100644
--- a/source/_static/css-style.css
+++ b/source/_static/css-style.css
@@ -22,7 +22,7 @@ html {
body {
font-family: Mark, Helvetica, sans-serif;
- font-size: 100%;
+ font-size: 15px;
}
div.flexwrapper {
@@ -41,20 +41,32 @@ body :target {
/* Left Column CSS */
body div.left {
- width: 250px;
+ width: 300px;
/* flex-shrink: 0; */
position: fixed;
display: block;
left: 0px;
- top: 85px;
+ top: 90px;
color: var(--minio-meridian);
z-index: 5;
- border-right: 1px solid var(--minio-glacier);
+ background: #f9f9f9 0% 0% no-repeat padding-box;
+ opacity: 1;
+ height: 100vh;
+}
+
+body div.left a.active {
+ color: var(--minio-meridian);
}
body div.left li.toctree-l1 a {
- color: var(--minio-meridian);
+ color: #1C1C1C;
}
+
+body div.left li.toctree-l2 a {
+ color: #2b2b2b;
+ font-size: 14px;
+}
+
body div.left div.sphinxsidebarwrapper {
padding: 0 0 0 5px;
margin-top: 15px;
@@ -70,17 +82,15 @@ body div.left button.sphinxsidebarbutton {
background: none;
border: none;
position: fixed;
- left: 115px;
- top: 75px;
+ left: 200px;
+ top: 90px;
+ color: gray;
}
body div.left div.sphinxsidebarwrapper a.current.reference.internal {
color: var(--minio-red);
font-weight: bold;
position: relative;
- border-left: 5px solid var(--minio-red);
- padding-left: 5px;
- margin-left: -10px;
}
@@ -93,7 +103,6 @@ body div.left div.sphinxsidebarwrapper li.toctree-l1 {
margin-top: 10px;
margin-bottom: 10px;
padding-bottom: 5px;
- border-bottom: 1px solid var(--table-border-color);
list-style: none;
}
@@ -102,7 +111,17 @@ body div.left a.reference {
border: none;
}
+body div.left li.toctree-l2 {
+ margin: 10px 0 10px 0;
+}
+body div.left div.searchformwrapper {
+ margin-top: 25px;
+}
+
+#docs-search {
+ padding-left: 10px;
+}
/* Center Column CSS */
@@ -122,8 +141,8 @@ body div.center {
flex-grow: 9;
flex-shrink: 4;
z-index: 0;
- margin-left: 250px;
- margin-top: 85px;
+ margin-left: 300px;
+ margin-top: 90px;
scroll-margin-top: 85px;
height: 100%;
padding-left: 10px;
@@ -194,8 +213,22 @@ body div.center table.docutils th {
border-right: none;
}
-body div.center p {
- padding-left: 10px;
+body div.center dl dd {
+ margin-left: 15px;
+}
+
+body div.center div.footer {
+ text-align: center;
+ width: auto;
+ /*
+ Future work: Force padding up so that H3s can still scroll within the
+ IntersectionObserver window. Useful for ensuring short sections at the
+ bottom of the page still get picked up. Might be useful for auto-hide of
+ l2 content.
+
+
+ padding-top: 100px;
+ */
}
/* Right-Column CSS */
@@ -204,8 +237,9 @@ body div.right {
flex: 3;
flex-shrink: 0;
margin-left: 10px;
- margin-top: 85px;
+ margin-top: 90px;
border-left: 1px solid var(--minio-glacier);
+ font-size: 13px;
}
body div.right div.topic {
@@ -223,8 +257,6 @@ body div.right ul.simple {
}
body div.right ul li {
- border-top: 1px solid var(--minio-glacier);
- border-bottom: 1px solid var(--minio-glacier);
padding-top: 5px;
padding-bottom: 5px;
}
@@ -253,7 +285,7 @@ body div.right p.active-p {
/* Collapse CSS */
body div.left.collapsed {
- left: -300px;
+ left: -350px;
}
body div.left button.sphinxsidebarbutton.collapsed {
@@ -278,9 +310,9 @@ nav.navigation {
position: fixed;
background-color: black;
width: 100%;
- height: 75px;
+ height: 90px;
top: 0px;
z-index: 1;
}
-/* Admonition CSS TODO*/
\ No newline at end of file
+/* Admonition CSS TODO*/
diff --git a/source/_static/js/main.js b/source/_static/js/main.js
index 8b5c3c82..b984cade 100644
--- a/source/_static/js/main.js
+++ b/source/_static/js/main.js
@@ -1,11 +1,11 @@
window.addEventListener('DOMContentLoaded', (event) => {
console.log('DOM fully loaded and parsed');
- var topic = document.getElementById('on-this-page');
+ var topic = document.getElementById('table-of-contents');
if (topic != null) {
document.getElementById('localtoc').appendChild(
- document.getElementById('on-this-page')
+ document.getElementById('table-of-contents')
);
console.log("moving local toc");
@@ -17,45 +17,47 @@ window.addEventListener('DOMContentLoaded', (event) => {
// this from working, especially if the 'section' is really long. Not sure
// how to resolve that.
- let options = {
- rootMargin: '-85px 0px 0px 0px'
- }
+ // Removing this from the logic flow until we have better / cleaner logic.
- const observer = new IntersectionObserver(entries => {
- entries.forEach(entry => {
- const id = entry.target.getAttribute('id');
+// let options = {
+// rootMargin: '-100px 0px 0px -100px'
+// }
+
+// const observer = new IntersectionObserver(entries => {
+// entries.forEach(entry => {
+// const id = entry.target.getAttribute('id');
- if (id == document.querySelector('.section[id]').getAttribute('id'))
- return 0
- if (entry.intersectionRatio > 0) {
+// if (id == document.querySelector('.section[id]').getAttribute('id'))
+// return 0
+// if (entry.intersectionRatio > 0) {
- pElement = document.querySelector(`#on-this-page li a[href="#${id}"]`).parentElement;
- liElement = document.querySelector(`#on-this-page li a[href="#${id}"]`).parentElement.parentElement;
+// pElement = document.querySelector(`#on-this-page li a[href="#${id}"]`).parentElement;
+// liElement = document.querySelector(`#on-this-page li a[href="#${id}"]`).parentElement.parentElement;
- liElement.classList.add('active');
- pElement.classList.add('active-p');
+// liElement.classList.add('active');
+// pElement.classList.add('active-p');
- liElementParent = liElement.parentElement.parentElement
+// liElementParent = liElement.parentElement.parentElement
- if (liElementParent.tagName == "LI") {
- //liElementParent.classList.remove("active")
- // Need to re-visit this logic
- }
+// if (liElementParent.tagName == "LI") {
+// //liElementParent.classList.remove("active")
+// // Need to re-visit this logic
+// }
- } else {
- document.querySelector(`#on-this-page li a[href="#${id}"]`).parentElement.parentElement.classList.remove('active');
- document.querySelector(`#on-this-page li a[href="#${id}"]`).parentElement.classList.remove('active-p');
- }
- });
- },options);
+// } else {
+// document.querySelector(`#on-this-page li a[href="#${id}"]`).parentElement.parentElement.classList.remove('active');
+// document.querySelector(`#on-this-page li a[href="#${id}"]`).parentElement.classList.remove('active-p');
+// }
+// });
+// },options);
- // Track all sections that have an `id` applied
- document.querySelectorAll('.section[id]').forEach((section) => {
- observer.observe(section);
- });
+// // Track all sections that have an `id` applied
+// document.querySelectorAll('.section[id]').forEach((section) => {
+// observer.observe(section);
+// });
const leftcolumn = document.querySelector('.left');
const centercolumn = document.querySelector('.center');
diff --git a/source/_templates/navigation.html b/source/_templates/navigation.html
new file mode 100644
index 00000000..4add54b9
--- /dev/null
+++ b/source/_templates/navigation.html
@@ -0,0 +1,2 @@
+
+{{ toctree(includehidden=theme_sidebar_includehidden, collapse=theme_sidebar_collapse) }}
\ No newline at end of file
diff --git a/source/_templates/searchbox.html b/source/_templates/searchbox.html
new file mode 100644
index 00000000..27ea5974
--- /dev/null
+++ b/source/_templates/searchbox.html
@@ -0,0 +1,11 @@
+{%- if pagename != "search" and builder != "singlehtml" %}
+
+
+
+
+
+
+{%- endif %}
\ No newline at end of file
diff --git a/source/bare-metal/minio-baremetal-overview.rst b/source/bare-metal/minio-baremetal-overview.rst
new file mode 100644
index 00000000..7f289a7e
--- /dev/null
+++ b/source/bare-metal/minio-baremetal-overview.rst
@@ -0,0 +1,363 @@
+.. _minio-baremetal:
+
+====================
+MinIO for Bare Metal
+====================
+
+.. default-domain:: minio
+
+.. contents:: Table of Contents
+ :local:
+ :depth: 2
+
+MinIO is a high performance distributed object storage server, designed for
+large-scale private cloud infrastructure. MinIO fully supports deployment onto
+bare-metal hardware with or without containerization for process management.
+
+Standalone Installation
+-----------------------
+
+Standalone MinIO deployments consist of a single ``minio`` server process with
+one or more disks. Standalone deployments are best suited for local development
+environments.
+
+1) Install the ``minio`` Server
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Install the :program:`minio` server onto the host machine. Select the tab that
+corresponds to the host machine operating system or environment:
+
+.. include:: /includes/minio-server-installation.rst
+
+2) Add TLS/SSL Certificates (Optional)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Enable TLS/SSL connectivity to the MinIO server by specifying a private key
+(``.key``) and public certificate (``.crt``) to the MinIO ``certs`` directory:
+
+- For Linux/MacOS: ``${HOME}/.minio/certs``
+
+- For Windows: ``%%USERPROFILE%%\.minio\certs``
+
+The MinIO server automatically enables TLS/SSL connectivity if it detects
+the required certificates in the ``certs`` directory.
+
+.. note::
+
+ The MinIO documentation makes a best-effort to provide generally applicable
+ and accurate information on TLS/SSL connectivity in the context of MinIO
+ products and services, and is not intended as a complete guide to the larger
+ topic of TLS/SSL certificate creation and management.
+
+3) Run the ``minio`` Server
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Issue the following command to start the :program:`minio` server. The following
+example assumes the host machine has *at least* four disks, which is the minimum
+required number of disks to enable :ref:`erasure coding `:
+
+.. code-block:: shell
+ :class: copyable
+
+ export MINIO_ACCESS_KEY=minio-admin
+ export MINIO_SECRET_KEY=minio-secret-key-CHANGE-ME
+ minio server /mnt/disk{1...4}/data
+
+The example command breaks down as follows:
+
+.. list-table::
+ :widths: 40 60
+ :width: 100%
+
+ * - :envvar:`MINIO_ACCESS_KEY`
+ - The access key for the :ref:`root ` user.
+
+ Replace this value with a unique, random, and long string.
+
+ * - :envvar:`MINIO_SECRET_KEY`
+ - The corresponding secret key to use for the
+ :ref:`root ` user.
+
+ Replace this value with a unique, random, and long string.
+
+ * - ``/mnt/disk{1...4}/data``
+ - The path to each disk on the host machine.
+
+ ``/data`` is an optional folder in which the ``minio`` server stores
+ all information related to the deployment.
+
+ See :mc-cmd:`minio server DIRECTORIES` for more information on
+ configuring the backing storage for the :mc:`minio server` process.
+
+The command uses MinIO expansion notation ``{x...y}`` to denote a sequential
+series. Specifically, ``/mnt/disk{1...4}/data`` expands to:
+
+- ``/mnt/disk1/data``
+- ``/mnt/disk2/data``
+- ``/mnt/disk3/data``
+- ``/mnt/disk4/data``
+
+4) Connect to the Server
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+Use the :mc-cmd:`mc alias set` command from a machine with connectivity to
+the host running the ``minio`` server. See :ref:`mc-install` for documentation
+on installing :program:`mc`.
+
+.. code-block:: shell
+ :class: copyable
+
+ mc alias set mylocalminio 192.0.2.10:9000 minioadmin minio-secret-key-CHANGE-ME
+
+Replace the IP address and port with one of the ``minio`` servers endpoints.
+
+See :ref:`minio-mc-commands` for a list of commands you can run on the
+MinIO server.
+
+Distributed Installation
+------------------------
+
+Distributed MinIO deployments consist of multiple ``minio`` servers with
+one or more disks each. Distributed deployments are best suited for
+staging and production environments.
+
+MinIO *requires* using sequentially-numbered hostnames to represent each
+``minio`` server in the deployment. For example, the following hostnames support
+a 4-node distributed deployment:
+
+- ``minio1.example.com``
+- ``minio2.example.com``
+- ``minio3.example.com``
+- ``minio4.example.com``
+
+Create the necessary DNS hostname mappings *prior* to starting this
+procedure.
+
+1) Install the ``minio`` Server
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Install the :program:`minio` server onto each host machine in the deployment.
+Select the tab that corresponds to the host machine operating system or
+environment:
+
+.. include:: /includes/minio-server-installation.rst
+
+2) Add TLS/SSL Certificates (Optional)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Enable TLS/SSL connectivity to the MinIO server by specifying a private key
+(``.key``) and public certificate (``.crt``) to the MinIO ``certs`` directory:
+
+- For Linux/MacOS: ``${HOME}/.minio/certs``
+
+- For Windows: ``%%USERPROFILE%%\.minio\certs``
+
+The MinIO server automatically enables TLS/SSL connectivity if it detects
+the required certificates in the ``certs`` directory.
+
+.. note::
+
+ The MinIO documentation makes a best-effort to provide generally applicable
+ and accurate information on TLS/SSL connectivity in the context of MinIO
+ products and services, and is not intended as a complete guide to the larger
+ topic of TLS/SSL certificate creation and management.
+
+3) Run the ``minio`` Server
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Issue the following command on each host machine in the deployment. The
+following example assumes that:
+
+- The deployment has four host machines with sequential hostnames
+ (i.e. ``minio1.example.com``, ``minio2.example.com``).
+
+- Each host machine has *at least* four disks mounted at ``/data``. 4 disks is
+ the minimum required for :ref:`erasure coding
+ `.
+
+.. code-block:: shell
+ :class: copyable
+
+ export MINIO_ACCESS_KEY=minio-admin
+ export MINIO_SECRET_KEY=minio-secret-key-CHANGE-ME
+ minio server https://minio{1...4}.example.com/mnt/disk{1...4}/data
+
+The example command breaks down as follows:
+
+.. list-table::
+ :widths: 40 60
+ :width: 100%
+
+ * - :envvar:`MINIO_ACCESS_KEY`
+ - The access key for the :ref:`root ` user.
+
+ Replace this value with a unique, random, and long string.
+
+ * - :envvar:`MINIO_SECRET_KEY`
+ - The corresponding secret key to use for the
+ :ref:`root ` user.
+
+ Replace this value with a unique, random, and long string.
+
+ * - ``https://minio{1...4}.example.com/``
+ - The DNS hostname of each server in the distributed deployment.
+
+ * - ``/mnt/disk{1...4}/data``
+ - The path to each disk on the host machine.
+
+ ``/data`` is an optional folder in which the ``minio`` server stores
+ all information related to the deployment.
+
+ See :mc-cmd:`minio server DIRECTORIES` for more information on
+ configuring the backing storage for the :mc:`minio server` process.
+
+The command uses MinIO expansion notation ``{x...y}`` to denote a sequential
+series. Specifically:
+
+- The hostname ``https://minio{1...4}.example.com`` expands to:
+
+ - ``https://minio1.example.com``
+ - ``https://minio2.example.com``
+ - ``https://minio3.example.com``
+ - ``https://minio4.example.com``
+
+- ``/mnt/disk{1...4}/data`` expands to
+
+ - ``/mnt/disk1/data``
+ - ``/mnt/disk2/data``
+ - ``/mnt/disk3/data``
+ - ``/mnt/disk4/data``
+
+4) Connect to the Server
+~~~~~~~~~~~~~~~~~~~~~~~~
+
+Use the :mc-cmd:`mc alias set` command from a machine with connectivity to any
+hostname running the ``minio`` server. See :ref:`mc-install` for documentation
+on installing :program:`mc`.
+
+.. code-block:: shell
+ :class: copyable
+
+ mc alias set mylocalminio minio1.example.net minioadmin minio-secret-key-CHANGE-ME
+
+See :ref:`minio-mc-commands` for a list of commands you can run on the
+MinIO server.
+
+Docker Installation
+-------------------
+
+Stable MinIO
+~~~~~~~~~~~~
+
+The following ``docker`` command creates a container running the latest stable
+version of the ``minio`` server process:
+
+.. code-block:: shell
+ :class: copyable
+
+ docker run -p 9000:9000 \
+ -e "MINIO_ACCESS_KEY=ROOT_ACCESS_KEY" \
+ -e "MINIO_SECRET_KEY=SECRET_ACCESS_KEY_CHANGE_ME" \
+ -v /mnt/disk1:/disk1 \
+ -v /mnt/disk2:/disk2 \
+ -v /mnt/disk3:/disk3 \
+ -v /mnt/disk4:/disk4 \
+ minio/minio server /disk{1...4}
+
+The command uses the following options:
+
+- ``-e MINIO_ACCESS_KEY`` and ``-e MINIO_SECRET_KEY`` for configuring the
+ :ref:`root ` user credentials.
+
+- ``-v /mnt/disk:/disk`` for configuring each disk the ``minio``
+ server uses.
+
+Bleeding Edge MinIO
+~~~~~~~~~~~~~~~~~~~
+
+*Do not use bleeding-edge deployments of MinIO in production environments*
+
+The following ``docker`` command creates a container running the latest
+bleeding-edge version of the ``minio`` server process:
+
+.. code-block:: shell
+ :class: copyable
+
+ docker run -p 9000:9000 \
+ -e "MINIO_ACCESS_KEY=ROOT_ACCESS_KEY" \
+ -e "MINIO_SECRET_KEY=SECRET_ACCESS_KEY_CHANGE_ME" \
+ -v /mnt/disk1:/disk1 \
+ -v /mnt/disk2:/disk2 \
+ -v /mnt/disk3:/disk3 \
+ -v /mnt/disk4:/disk4 \
+ minio/minio:edge server /disk{1...4}
+
+The command uses the following options:
+
+- ``MINIO_ACCESS_KEY`` and ``MINIO_SECRET_KEY`` for configuring the
+ :ref:`root ` user credentials.
+
+- ``-v /mnt/disk:/disk`` for configuring each disk the ``minio``
+ server uses.
+
+Deployment Recommendations
+--------------------------
+
+Minimum Nodes per Deployment
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+For all production deployments, MinIO recommends a *minimum* of 4 nodes per
+cluster. MinIO deployments with *at least* 4 nodes can tolerate the loss of up
+to half the nodes *or* half the disks in the deployment while maintaining
+read and write availability.
+
+For example, assuming a 4-node deployment with 4 drives per node, the
+cluster can tolerate the loss of:
+
+- Any two nodes, *or*
+- Any 8 drives.
+
+The minimum recommendation reflects MinIO's experience with assisting enterprise
+customers in deploying on a variety of IT infrastructures while
+maintaining the desired SLA/SLO. While MinIO may run on less than the
+minimum recommended topology, any potential cost savings come at the risk of
+decreased reliability.
+
+Recommended Hardware
+~~~~~~~~~~~~~~~~~~~~
+
+For MinIO's recommended hardware, please see
+`MinIO Reference Hardware `__.
+
+Bare Metal Infrastructure
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+A distributed MinIO deployment can only provide as much availability as the
+bare metal infrastructure on which it is deployed. In particular, consider the
+following potential failure points which could result in cluster downtime
+when configuring your bare metal infrastructure:
+
+- Shared networking resources (switches, routers, ISP).
+- Shared power resources.
+- Shared physical location (rack, datacenter, region).
+
+MinIO deployments using virtual machines or containerized environments should
+also consider the following:
+
+- Shared physical hardware (CPU, Memory, Storage)
+- Shared orchestration management layer (Kubernetes, Docker Swarm)
+
+FreeBSD
+-------
+
+MinIO does not provide an official FreeBSD binary. FreeBSD maintains an
+`upstream release `__ you can
+install using `pkg `__:
+
+.. code-block:: shell
+ :class: copyable
+
+ pkg install minio
+ sysrc minio_enable=yes
+ sysrc minio_disks=/path/to/disks
+ service minio start
\ No newline at end of file
diff --git a/source/conf.py b/source/conf.py
index a87ec954..4f7964c6 100644
--- a/source/conf.py
+++ b/source/conf.py
@@ -85,14 +85,14 @@ html_favicon = '_static/favicon.png'
html_sidebars = {
'**' : [
- 'about.html',
- 'navigation.html',
'searchbox.html',
+ 'navigation.html',
]
}
html_theme_options = {
'fixed_sidebar' : 'true',
+ 'show_relbars': 'true',
}
# Add any paths that contain custom static files (such as style sheets) here,
diff --git a/source/includes/minio-server-installation.rst b/source/includes/minio-server-installation.rst
new file mode 100644
index 00000000..c563e3ae
--- /dev/null
+++ b/source/includes/minio-server-installation.rst
@@ -0,0 +1,96 @@
+.. tabs::
+
+ .. tab:: Linux
+
+ The following commands add a *temporary* extension to your system
+ PATH for running the ``minio`` utility. Defer to your operating system
+ instructions for making permanent modifications to your system PATH.
+
+ Alternatively, execute ``minio`` by navigating to the download folder and
+ running ``./minio --help``
+
+ **64-bit Intel**
+
+ .. code-block:: shell
+ :class: copyable
+
+ curl https://dl.min.io/server/minio/release/linux-amd64/minio \
+ --create-dirs \
+ -o $HOME/minio-binaries/minio
+
+ chmod +x $HOME/minio-binaries/minio
+ export PATH=$PATH:$HOME/minio-binaries/
+
+ minio --help
+
+ **64-bit PPC**
+
+ .. code-block:: shell
+ :class: copyable
+
+ curl https://dl.min.io/server/minio/release/linux-ppc64le/minio \
+ --create-dirs \
+ -o $HOME/minio-binaries/minio
+
+ chmod +x $HOME/minio-binaries/minio
+ export PATH=$PATH:$HOME/minio-binaries/
+
+ minio --help
+
+ .. tab:: macOS
+
+
+ **Homebrew**
+
+ .. code-block:: shell
+ :class: copyable
+
+ brew install minio/stable/minio
+ minio --help
+
+ **Binary Download**
+
+ .. code-block:: shell
+ :class: copyable
+
+ curl https://dl.min.io/server/minio/release/darwin-amd64/minio \
+ --create-dirs \
+ -o $HOME/minio-binaries/minio
+
+ chmod +x $HOME/minio-binaries/minio
+ export PATH=$PATH:$HOME/minio-binaries/
+
+
+ .. tab:: Windows
+
+ Open the following file in a browser:
+
+ https://dl.min.io/server/minio/release/windows-amd64/minio.exe
+
+ Execute the file by double clicking on it, *or* by running the
+ following in the command prompt or powershell:
+
+ .. code-block:: powershell
+
+ \path\to\mc.exe --help
+
+ .. tab:: Source
+
+ Installation from source is intended for developers and advanced users
+ and requires a working Golang environment. See
+ `How to install Golang `__.
+
+ Run the following commands in a terminal environment to install ``minio``
+ from source:
+
+ .. code-block:: shell
+ :class: copyable
+
+ go get -d github.com/minio/minio
+ cd ${GOPATH}/src/github.com/minio/minio
+ make
+
+ To update a source-based installation, use ``go get -u``.
+ :mc-cmd:`minio update` does not support source-based installations.
+
+
diff --git a/source/index.rst b/source/index.rst
index e61500cb..81f62885 100644
--- a/source/index.rst
+++ b/source/index.rst
@@ -12,15 +12,17 @@ First-time users of MinIO *or* object storage services should start with
our :doc:`Introduction `.
Users deploying onto a Kubernetes cluster should start with our
-:doc:`Kubernetes-specific documentation `.
+:doc:`Kubernetes documentation `.
.. toctree::
:titlesonly:
:hidden:
/introduction/minio-overview
- /minio-features/overview.rst
- /kubernetes/minio-kubernetes
+ /minio-features/overview
+ /bare-metal/minio-baremetal-overview
+ /kubernetes/minio-kubernetes-overview
/security/minio-security
/minio-cli/minio-mc
/minio-cli/minio-mc-admin
+ /minio-server/minio-server
diff --git a/source/introduction/buckets.rst b/source/introduction/buckets.rst
deleted file mode 100644
index c1cadb47..00000000
--- a/source/introduction/buckets.rst
+++ /dev/null
@@ -1,75 +0,0 @@
-.. _minio-bucket:
-
-=======
-Buckets
-=======
-
-.. default-domain:: minio
-
-.. contents:: On This Page
- :local:
- :depth: 2
-
-
-A :ref:`bucket ` is a folder or storage container that can hold an
-arbitrary number of :ref:`objects `. Minio buckets provide the
-same functionality as an Amazon Web Services (AWS) S3 Bucket. The MinIO API is
-fully compatible with the Amazon S3 API, where applications can seamlessly
-transition to using the MinIO deployment with minimal code changes.
-
-Bucket Notifications
---------------------
-
-MinIO Bucket Notifications allow you to automatically publish notifications
-to one or more configured endpoints when specific events occur in a bucket.
-
-See :doc:`/minio-features/bucket-notifications` for more information.
-
-Push Notifications
-~~~~~~~~~~~~~~~~~~
-
-MinIO supports pushing events to the following targets:
-
-- AMQP
-- MQTT
-- Elasticsearch
-- NSQ
-- Redis
-- NATS
-- PostgreSQL
-- MySQL
-- Apache Kafka
-- Webhooks
-
-Use the ``mc admin`` utility to configure the MinIO deployment to actively
-push notifications to each configured target. For more complete documentation,
-see
-
-Listener API
-~~~~~~~~~~~~
-
-MinIO provides two routes to listen for events for a given bucket:
-
-- The ``mc event`` command.
-- The ``BucketNotification`` API.
-
-.. todo: Add more information here as its available.
-
-Write Once Read Many (WORM)
----------------------------
-
-MinIO supports enabling Write-Once Read-Many (WORM) for specific objects
-in a bucket *or* for all objects in the bucket. Objects with WORM applied
-are immutable, and can only be deleted if the WORM configuration includes an
-expiry.
-
-Configure WORM for Bucket
-~~~~~~~~~~~~~~~~~~~~~~~~~
-
-ToDo: Enable, Disable WORM
-
-Configure WORM for Specific Objects
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-ToDo: Enable, Disable WORM per object
-
diff --git a/source/introduction/deployment-topologies.rst b/source/introduction/deployment-topologies.rst
index 2122e1dc..f4d25afd 100644
--- a/source/introduction/deployment-topologies.rst
+++ b/source/introduction/deployment-topologies.rst
@@ -2,6 +2,8 @@
Deployment Topologies
=====================
+.. default-domain:: minio
+
MinIO supports three deployment topologies:
.. list-table::
@@ -25,7 +27,7 @@ MinIO supports three deployment topologies:
* - :ref:`Active-Active `
- Multiple distributed deployments with intra-deployment
- replication to synchronize :ref:`objects ` across
+ replication to synchronize :ref:`objects ` across
deployments.
Active-Active Distributed deployments are ideal for production
@@ -43,6 +45,7 @@ TBD:
- Link to deployment tutorials (kubernetes, bare-metal)
.. _minio-deployment-distributed:
+.. _minio-zones:
Distributed Deployment
----------------------
@@ -51,6 +54,7 @@ TBD:
- Add a diagram of a distributed deployment
- List the drawbacks (if any)
- Link to deployment tutorials (kubernetes, bare-metal)
+- Discuss horizontal expansion / zones
.. _minio-deployment-active-active:
diff --git a/source/introduction/erasure-coding.rst b/source/introduction/erasure-coding.rst
index 2b71e46a..67cdfe7b 100644
--- a/source/introduction/erasure-coding.rst
+++ b/source/introduction/erasure-coding.rst
@@ -4,6 +4,8 @@
Erasure Coding
==============
+.. default-domain:: minio
+
MinIO protects data with per-object, inline erasure coding, which is written in
assembly code to deliver the highest performance possible. MinIO uses
Reed-Solomon code to stripe objects into `n/2` data and ``n/2`` parity blocks -
diff --git a/source/introduction/minio-overview.rst b/source/introduction/minio-overview.rst
index d280d41f..fe6867c6 100644
--- a/source/introduction/minio-overview.rst
+++ b/source/introduction/minio-overview.rst
@@ -2,6 +2,8 @@
Introduction
============
+.. default-domain:: minio
+
MinIO is a High Performance Object Storage released under Apache License v2.0.
It is API compatible with Amazon S3 cloud storage service. Use MinIO to build
high performance infrastructure for machine learning, analytics and application
@@ -10,50 +12,55 @@ data workloads.
What Is Object Storage?
-----------------------
-Applications create, update, retrieve, and delete data as part of normal
-operations. MinIO provides a complete solution for managing the storage
-and access of that data as :ref:`objects `. Applications group
-objects into one or more :ref:`buckets `.
+.. _objects:
-MinIO is fully compatible with the Amazon Web Services Simple Storage Service
-(AWS S3) API. Applications using the AWS S3 API can seamlessly transition to
-using a MinIO deployment for managing their application's object storage with
-minimal code changes.
+An :ref:`object ` is binary data, sometimes referred to as a Binary
+Large OBject (BLOB). Blobs can be images, audio files, spreadsheets, or even
+binary executable code. Object Storage platforms like MinIO provide dedicated
+tools and capabilities for storing, retrieving, and searching for blobs.
-Erasure Coding
---------------
+.. _buckets:
-MinIO Erasure Coding guarantees object retrieval as long as the deployment
-has at least half of its drives operational. Specifically, the deployment
-can lose `(n/2)-1` drives and still service create, retrieval, update, and
-delete operations.
+MinIO Object Storage uses :ref:`buckets ` to organize objects.
+A bucket is similar to a folder or directory in a filesystem, where each
+bucket can hold an arbitrary number of objects. MinIO buckets provide the
+same functionality as AWS S3 buckets.
-For example, consider a deployment with 12 data drives. MinIO splits the
-12 drive set into 6 data drives and 6 parity drives. As long as *at least* 7
-drives are online, the MinIO server can guarantee retrieval of any stored
-object.
+For example, consider an application that hosts a web blog. The application
+needs to store a variety of blobs, including rich multimedia like videos and
+images. The structure of objects on the MinIO server might look similar to the
+following:
-For more information on MinIO Erasure Coding, see
-:ref:`minio-erasure-coding`.
+.. code-block:: shell
-Bitrot Protection
------------------
+ / #root
+ /images/
+ 2020-01-02-blog-title.png
+ 2020-01-03-blog-title.png
+ /videos/
+ 2020-01-03-blog-cool-video.mp4
+ /blogs/
+ 2020-01-02-blog.md
+ 2020-01-03-blog.md
+ /comments/
+ 2020-01-02-blog-comments.json
+ 2020-01-02-blog-comments.json
-MinIO Bitrot Protection heals objects that have degraded due to
-disk corruption. When applications request a specific object, MinIO
-automatically checks for corruption and applies a healing algorithm to
-reconstruct the object.
+Deploying MinIO
+---------------
-For more information on MinIO Bitrot Protection, see
-:ref:`minio-bitrot-protection`.
+For Kubernetes clusters, use the MinIO Kubernetes Operator.
+See :ref:`minio-kubernetes` for more information.
+For bare-metal environments, including private cloud services
+or containerized environments, install and run the :mc:`minio server` on
+each host in the MinIO deployment. See :ref:`minio-baremetal` for more
+information.
.. toctree::
:hidden:
:titlesonly:
- /introduction/buckets.rst
- /introduction/objects.rst
/introduction/deployment-topologies.rst
/introduction/erasure-coding.rst
/introduction/bitrot-protection.rst
\ No newline at end of file
diff --git a/source/introduction/objects.rst b/source/introduction/objects.rst
deleted file mode 100644
index 24735482..00000000
--- a/source/introduction/objects.rst
+++ /dev/null
@@ -1,15 +0,0 @@
-.. _minio-object:
-
-=======
-Objects
-=======
-
-An :ref:`object ` is any kind of data with no limit to its
-size, format, or type. Examples of objects include digital images,
-text documents, or video files. Applications can store, retrieve, and
-delete objects from a MinIO deployment.
-
-MinIO objects provide the same core functionality as an Amazon Web Services (AWS)
-S3 Object. The MinIO API is fully compatible with the Amazon S3 API,
-where applications can seamlessly transition to using the MinIO deployment
-with minimal code changes.
\ No newline at end of file
diff --git a/source/kubernetes/deploy-on-kubernetes.rst b/source/kubernetes/deploy-on-kubernetes.rst
deleted file mode 100644
index f6997f19..00000000
--- a/source/kubernetes/deploy-on-kubernetes.rst
+++ /dev/null
@@ -1,87 +0,0 @@
-====================================
-Deploy MinIO on a Kubernetes Cluster
-====================================
-
-.. default-domain:: minio
-
-.. contents:: On This Page
- :local:
- :depth: 2
-
-Overview
---------
-
-This tutorial uses the MinIO Kubernetes Operator to deploy MinIO to your
-Kubernetes cluster in a distributed configuration. Distributed MinIO deployments
-are suitable for development, staging, and production environments. For
-a tutorial on creating a more simple MinIO deployment for local development
-and evaluation, see :doc:`/kubernetes/quickstart`.
-
-By default, this tutorial creates a distributed MinIO deployment with the
-following components:
-
-- 4 MinIO server instances with TLS enabled.
-- 4 x 1TB storage volumes per MinIO server instance.
-- 1 MinIO KES key management instance.
-- 1 MinIO Minio Console Service instance.
-- 1 MinIO Operator instance.
-
-This tutorial includes instructions for modifying the deployment configuration
-for your specific requirements.
-
-You should have basic familiarity with Kubernetes, its associated terminology,
-and its command line tools prior to starting this tutorial. While the MinIO
-documentation makes a best-effort to address Kubernetes-specific information,
-you should review the official Kubernetes :kube-docs:`documentation <>` for more
-complete coverage.
-
-.. _minio-kubernetes-deploy-minio-prerequisites:
-
-Prerequisites
--------------
-
-This tutorial requires the following resources:
-
-- The :minio-git:`minio-operator ` github repository.
-
-- A Kubernetes cluster with *at least* **four**
- :kube-docs:`node` per MinIO server instance. Each node must have *at least*
- **four** persistent volumes.
-
-- A host machine with ``kubectl`` installed. See
- :kube-docs:`Install and Set Up kubectl `
-
- The host machine should be configured such that ``kubectl`` can access the
- Kubernetes cluster. See :kube-docs:`Access Applications in a Cluster
- ` for more information.
-
-Considerations
---------------
-
-.. ToDo:
-
- - Document recommended resource allocation (CPU, RAM, etc.)
- - Document recommended number of MinIO pods to Nodes
- - Document recommended ratio of PV to Physical Disk
-
-Procedure
----------
-
-1) First Step Header
-~~~~~~~~~~~~~~~~~~~~
-
-a) First Substep
-````````````````
-
-b) Second Substep
-`````````````````
-
-2) Second Step Header
-~~~~~~~~~~~~~~~~~~~~~
-
-a) First Substep
-````````````````
-
-b) Second Substep
-`````````````````
-
diff --git a/source/kubernetes/enforce-security.rst b/source/kubernetes/enforce-security.rst
deleted file mode 100644
index aff64799..00000000
--- a/source/kubernetes/enforce-security.rst
+++ /dev/null
@@ -1,113 +0,0 @@
-========================================
-Enforce Security for MinIO in Kubernetes
-========================================
-
-.. default-domain:: minio
-
-.. contents:: On This Page
- :local:
- :depth: 2
-
-Overview
---------
-
-This page covers multiple procedures for configuring MinIO security features
-using the MinIO Kubernetes Operator.
-
-You should have basic familiarity with Kubernetes, its associated terminology,
-and its command line tools prior to starting any of the documented procedures.
-While the MinIO documentation makes a best-effort to address Kubernetes-specific
-information, you should review the official Kubernetes :kube-docs:`documentation
-<>` for more complete coverage.
-
-.. _minio-kubernetes-enforce-security-prerequisites:
-
-Prerequisites
--------------
-
-This tutorial requires the following resources:
-
-- The :minio-git:`minio-operator ` github repository.
-
-- A Kubernetes cluster with *at least* **four**
- :kube-docs:`node` per MinIO server instance. Each node must have *at least*
- **four** persistent volumes.
-
-- A host machine with ``kubectl`` installed. See
- :kube-docs:`Install and Set Up kubectl `
-
- The host machine should be configured such that ``kubectl`` can access the
- Kubernetes cluster. See :kube-docs:`Access Applications in a Cluster
- ` for more information.
-
-Considerations
---------------
-
-.. ToDo:
-
- - Document recommended resource allocation (CPU, RAM, etc.)
- - Document recommended number of MinIO pods to Nodes
- - Document recommended ratio of PV to Physical Disk
-
-Enable TLS
-----------
-
-1) First Step Header
-~~~~~~~~~~~~~~~~~~~~
-
-a) First Substep
-````````````````
-
-b) Second Substep
-`````````````````
-
-2) Second Step Header
-~~~~~~~~~~~~~~~~~~~~~
-
-a) First Substep
-````````````````
-
-b) Second Substep
-`````````````````
-
-Configure Root Access to MinIO Servers
---------------------------------------
-
-1) First Step Header
-~~~~~~~~~~~~~~~~~~~~
-
-a) First Substep
-````````````````
-
-b) Second Substep
-`````````````````
-
-2) Second Step Header
-~~~~~~~~~~~~~~~~~~~~~
-
-a) First Substep
-````````````````
-
-b) Second Substep
-`````````````````
-
-Another Deployment-Level Security Feature
------------------------------------------
-
-1) First Step Header
-~~~~~~~~~~~~~~~~~~~~
-
-a) First Substep
-````````````````
-
-b) Second Substep
-`````````````````
-
-2) Second Step Header
-~~~~~~~~~~~~~~~~~~~~~
-
-a) First Substep
-````````````````
-
-b) Second Substep
-`````````````````
diff --git a/source/kubernetes/manage-on-kubernetes.rst b/source/kubernetes/manage-on-kubernetes.rst
deleted file mode 100644
index 0e26b261..00000000
--- a/source/kubernetes/manage-on-kubernetes.rst
+++ /dev/null
@@ -1,77 +0,0 @@
-====================================
-Expand MinIO in a Kubernetes Cluster
-====================================
-
-.. default-domain:: minio
-
-.. contents:: On This Page
- :local:
- :depth: 2
-
-Overview
---------
-
-This tutorial uses the MinIO Kubernetes Operator to expand an existing
-distributed MinIO deployment in your Kubernetes cluster. Specifically,
-this tutorial covers:
-
-- Adding additional MinIO server instances to the deployment, *and*
-- Adding additional drives to a MinIO server instance.
-
-This tutorial includes instructions for modifying the deployment configuration
-for your specific requirements.
-
-You should have basic familiarity with Kubernetes, its associated terminology,
-and its command line tools prior to starting this tutorial. While the MinIO
-documentation makes a best-effort to address Kubernetes-specific information,
-you should review the official Kubernetes :kube-docs:`documentation <>` for more
-complete coverage.
-
-.. _minio-kubernetes-expand-minio-prerequisites:
-
-Prerequisites
--------------
-
-This tutorial requires the following resources:
-
-- The :minio-git:`minio-operator ` github repository.
-
-- An existing Kubernetes cluster with a distributed MinIO deployment.
-
-- A host machine with ``kubectl`` installed. See
- :kube-docs:`Install and Set Up kubectl `
-
- The host machine should be configured such that ``kubectl`` can access the
- Kubernetes cluster. See :kube-docs:`Access Applications in a Cluster
- ` for more information.
-
-Considerations
---------------
-
-.. ToDo:
-
- - Document recommended resource allocation (CPU, RAM, etc.)
- - Document recommended number of MinIO pods to Nodes
- - Document recommended ratio of PV to Physical Disk
-
-Procedure
----------
-
-1) First Step Header
-~~~~~~~~~~~~~~~~~~~~
-
-a) First Substep
-````````````````
-
-b) Second Substep
-`````````````````
-
-2) Second Step Header
-~~~~~~~~~~~~~~~~~~~~~
-
-a) First Substep
-````````````````
-
-b) Second Substep
-`````````````````
-
diff --git a/source/kubernetes/minio-kubernetes-overview.rst b/source/kubernetes/minio-kubernetes-overview.rst
new file mode 100644
index 00000000..cf04dc9b
--- /dev/null
+++ b/source/kubernetes/minio-kubernetes-overview.rst
@@ -0,0 +1,27 @@
+.. _minio-kubernetes:
+
+=====================
+MinIO for Kuberenetes
+=====================
+
+.. default-domain:: minio
+
+MinIO is a high performance distributed object storage server, designed for
+large-scale private cloud infrastructure. MinIO is designed in a cloud-native
+manner to scale sustainably in multi-tenant environments.
+
+Orchestration platforms like Kubernetes provide perfect cloud-native environment
+to deploy and scale MinIO. The :minio-git:`MinIO Kubernetes Operator
+` brings native MinIO support to Kubernetes.
+
+.. image:: /images/Kubernetes-Minio.svg
+ :align: center
+ :width: 90%
+ :class: no-scaled-link
+ :alt: Kubernetes Orchestration with the MinIO Operator facilitates automated deployment of MinIO clusters.
+
+
+
+More complete documentation for the MinIO Kubernetes Operator is in progress.
+See the :minio-git:`MinIO Kubernetes Operator ` Github
+Repository for the most up-to-date progress on the project.
diff --git a/source/kubernetes/minio-kubernetes.rst b/source/kubernetes/minio-kubernetes.rst
deleted file mode 100644
index 69ed9397..00000000
--- a/source/kubernetes/minio-kubernetes.rst
+++ /dev/null
@@ -1,41 +0,0 @@
-=====================
-MinIO for Kuberenetes
-=====================
-
-.. default-domain:: minio
-
-.. contents:: On This Page
- :local:
- :depth: 2
-
-MinIO is a high performance distributed object storage server, designed for
-large-scale private cloud infrastructure. MinIO is designed in a cloud-native
-manner to scale sustainably in multi-tenant environments. Orchestration
-platforms like Kubernetes provide perfect cloud-native environment to deploy and
-scale MinIO. The :minio-git:`MinIO Kubernetes Operator ` brings
-native MinIO support to Kubernetes.
-
-.. image:: /images/Kubernetes-Minio.svg
- :align: center
- :width: 90%
- :class: no-scaled-link
- :alt: Kubernetes Orchestration with the MinIO Operator facilitates automated deployment of MinIO clusters.
-
-
-
-.. versionchanged:: VERSION.VERSION
-
- This feature was added in VERSION, upgrade to VERSION
-
-
-.. toctree::
- :titlesonly:
- :hidden:
-
- /kubernetes/quickstart
- /kubernetes/deploy-on-kubernetes
- /kubernetes/manage-on-kubernetes
- /kubernetes/enforce-security
- /kubernetes/operator-kes
- /kubernetes/operator-mcs
- /kubernetes/operator-reference
diff --git a/source/kubernetes/operator-kes.rst b/source/kubernetes/operator-kes.rst
deleted file mode 100644
index 98e4ce1f..00000000
--- a/source/kubernetes/operator-kes.rst
+++ /dev/null
@@ -1,79 +0,0 @@
-========================================
-Deploy MinIO KES on a Kubernetes Cluster
-========================================
-
-.. default-domain:: minio
-
-.. contents:: On This Page
- :local:
- :depth: 2
-
-MinIO KES is a stateless and distributed key-management system for
-high-performance applications. KES provides a bridge between applications
-running in containerized deployments, like Kubernetes, and centralized Key
-Mannagement Systems (KMS) like Hashicorp Vault or Amazon Web Services (AWS) KMS. This
-tutorial covers the information necessary for using the MinIO Kubernetes
-Operator (``minio-operator``) to deploy MinIO KES instances on a Kubernetes
-Cluster.
-
-You should have basic familiarity with the Kubernetes ecosystem and your
-preferred KMS backend prior to starting this tutorial. Defer to the official
-documentation for :kube-docs:`Kubernetes` and your preferred KMS backend for
-more complete learning resource. While the MinIO docs make a best-effort
-to cover third-party concepts and configurations, you should not depend on
-this tutorial as the only source of information on third-party products.
-
-For more complete documentation on MinIO KES, see .
-
-Prerequisites
--------------
-
-This tutorial requires the following resources:
-
-Kubernetes Cluster
- You should have access to a running Kubernetes cluster.
-
- The Kubernetes cluster
-
-- The Kubernetes cluster must have at least one running
- :minio-git:`minio-operator ` instance. See
- for installation instructions.
-
- The Kubernetes cluster should have *at least* **one** node with enough
- resources to launch additional pods.
-
-- The ``minio-operator`` has TLS configured and enabled. See
- for configuration instructions.
-
-- An x.509 Certificate and corresponding private key for MinIO KES to use
- for mTLS authentication and authorization.
-
-- A supported Key Management System backend. MinIO KES supports the following KMS providers:
-
- - `Hashicorp Vault `__
- - `Amazon Web Services KMS `__
- - `Gemalto SafeNet KeySecure `__
-
-Procedure
----------
-
-Procedure
----------
-
-1) First Step Header
-~~~~~~~~~~~~~~~~~~~~
-
-a) First Substep
-````````````````
-
-b) Second Substep
-`````````````````
-
-2) Second Step Header
-~~~~~~~~~~~~~~~~~~~~~
-
-a) First Substep
-````````````````
-
-b) Second Substep
-`````````````````
diff --git a/source/kubernetes/operator-mcs.rst b/source/kubernetes/operator-mcs.rst
deleted file mode 100644
index 7ed357cc..00000000
--- a/source/kubernetes/operator-mcs.rst
+++ /dev/null
@@ -1,74 +0,0 @@
-===================================================
-Deploy MinIO Console Server on a Kubernetes Cluster
-===================================================
-
-.. default-domain:: minio
-
-.. contents:: On This Page
- :local:
- :depth: 2
-
-MinIO Console Server (MCS) is a graphical user interface for administrating
-MinIO servers. This tutorial covers the information necessary for using the
-MinIO Kubernetes Operator (``minio-operator``) to deploy MinIO MCS instances on
-a Kubernetes Cluster.
-
-You should have basic familiarity with the Kubernetes ecosystem prior to
-starting this tutorial. Defer to the official documentation for
-:kube-docs:`Kubernetes` for more complete learning resources. While the MinIO
-docs make a best-effort to cover third-party concepts and configurations, you
-should not depend on this tutorial as the only source of information on
-third-party products.
-
-For more complete documentation on MinIO MCS, see .
-
-Prerequisites
--------------
-
-This tutorial requires the following resources:
-
-Kubernetes Cluster
- You should have access to a running Kubernetes cluster.
-
- The Kubernetes cluster should have *at least* **one** node with enough
- resources to launch additional pods.
-
-MinIO Kubernetes Operator
- The Kubernetes cluster must have at least one running
- :minio-git:`minio-operator ` instance. See for installation instructions.
-
- The MinIO operator *must* have TLS configured and enabled. See for configuration instructions.
-
-MinIO Deployment
- For a tutorial on deploying MinIO on Kubernetes, see
- :doc:`/kubernetes/deploy-on-kubernetes`.
-
- For a shorter tutorial for local development only, see
- :doc:`/kubernetes/quickstart`.
-
- The MinIO deployment must have at least one MinIO user with administrative
- privileges for the MCS instance to use for authentication and authorization.
- See for more information on configuring MinIO users.
-
-Procedure
----------
-
-1) First Step Header
-~~~~~~~~~~~~~~~~~~~~
-
-a) First Substep
-````````````````
-
-b) Second Substep
-`````````````````
-
-2) Second Step Header
-~~~~~~~~~~~~~~~~~~~~~
-
-a) First Substep
-````````````````
-
-b) Second Substep
-`````````````````
diff --git a/source/kubernetes/operator-reference.rst b/source/kubernetes/operator-reference.rst
deleted file mode 100644
index f86a938c..00000000
--- a/source/kubernetes/operator-reference.rst
+++ /dev/null
@@ -1,133 +0,0 @@
-========================
-MinIO Operator Reference
-========================
-
-.. default-domain:: minio
-
-.. contents:: On This Page
- :local:
- :depth: 2
-
-This document explains the various fields supported by MinIO Operator and its
-CRD's and how to use these fields to deploy and access MinIO server clusters.
-
-MinIO Operator creates native Kubernetes resources within the cluster. The
-operator uses the name of the created MinIO Instance as a prefix for
-all resources created by the operator. For example, if deploying a
-MinIO instance named ``minioinstance``, the operator creates the following
-resources with their associated names:
-
-- Headless Service: ``minioinstance-hl-svc``
-- StatefulSet: ``minioinstance``
-- Secret: ``minioinstance-tls`` (If :kubeconf:`spec.requestAutoCert` is enabled)
-- CertificateSigningRequest: ``minioinstance-csr`` (If :kubeconf:`spec.requestAutoCert` is enabled)
-
-The MinIO Kubernetes Operator is under active development. The contents of
-this page may change at any time.
-
-Configuration File Overview
----------------------------
-
-The following example shows all possible MinIO Kubernetes Operator configuration
-options.
-
-.. code-block:: yaml
- :class: copyable
-
- apiVerison: operator.min.io/v1
- kind: "MinIOInstance"
- metadata: