@@ -29,8 +29,10 @@ To deploy an |onprem| resource you must:
2929
30301. :doc:`Install </tutorial/install-k8s-operator>` the |k8s-op| 1.3.0
3131 or newer.
32+
3233#. Ensure that the host on which you want to deploy |onprem| has a
3334 minimum of five gigabytes of memory.
35+
3436#. Create a |k8s| |k8s-secret| for an admin user in the same |k8s-ns| as
3537 the |onprem| resource.
3638
@@ -49,6 +51,38 @@ To deploy an |onprem| resource you must:
4951 --from-literal=LastName="<lastname>"
5052 -n <namespace>
5153
54+ .. _om-db-user-secret:
55+
56+ 4. (*Optional*) To set the password for the |onprem| database user,
57+ create a |k8s-secret| in the same |k8s-ns| as the |onprem| resource.
58+
59+ The |k8s-op-short| creates the database user that |onprem| uses to
60+ connect to the :ref:`mms-application-database`. You can set the
61+ password for this database user by invoking the following command to
62+ create a secret:
63+
64+ .. code-block:: sh
65+
66+ kubectl create secret generic <om-db-user-secret-name>
67+ --from-literal=password="<om-db-user-password>"
68+ -n <namespace>
69+
70+ .. note::
71+
72+ If you choose to create a secret for the |onprem| database user,
73+ you must specify the secret's
74+ :opsmgrkube:`~spec.applicationDatabase.passwordSecretKeyRef.name`
75+ in the |onprem| resource definition. By default, the
76+ |k8s-op-short| looks for the password value in the ``password``
77+ key. If you stored the password value in a different key, you
78+ must also specify that
79+ :opsmgrkube:`~spec.applicationDatabase.passwordSecretKeyRef.key`
80+ name in the |onprem| resource definition.
81+
82+ If you don't create a secret, then the |k8s-op-short| automatically
83+ generates a password and stores it internally. For more information,
84+ see :ref:`app-db-auth`.
85+
5286Considerations
5387--------------
5488
@@ -68,8 +102,8 @@ the |k8s-op-short| reuses the secret. If you create an |onprem| resource
68102with a different name, then |k8s-op-short| creates a new secret and
69103Application Database, and the old secret isn't reused.
70104
71- Application Database Replica Set
72- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
105+ Application Database Topology
106+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
73107
74108When you create an instance of |onprem| through the |k8s-op-short|, the
75109:ref:`mms-application-database` is deployed as a :term:`replica set`.
@@ -79,6 +113,44 @@ have concerns about performance or size requirements for the Application
79113Database, contact `MongoDB Support
80114<https://support.mongodb.com/welcome>`__.
81115
116+ .. _app-db-auth:
117+
118+ Application Database Authentication
119+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
120+
121+ The |k8s-op-short| enforces ``SCRAM-SHA-1``
122+ :manual:`authentication </core/security-scram/#scram-mechanisms>` on the
123+ Application Database.
124+
125+ The |k8s-op-short| creates the database user which |onprem| uses to
126+ connect to the Application Database. This database user has the
127+ following attributes:
128+
129+ .. list-table::
130+ :widths: 30 70
131+ :stub-columns: 1
132+
133+ * - Username
134+ - ``mongodb-ops-manager``
135+
136+ * - Authentication Database
137+ - ``admin``
138+
139+ * - Roles
140+ - | :authrole:`readWriteAnyDatabase`
141+ | :authrole:`dbAdminAnyDatabase`
142+ | :authrole:`clusterMonitor`
143+
144+ The |onprem| database user's name and roles cannot be modified. However,
145+ you can set the database user's password by :ref:`creating a
146+ secret <om-db-user-secret>` and can later update the password by editing
147+ that secret. If you don't create a secret, or if you delete a previously
148+ created secret, then the |k8s-op-short| automatically generates a password and stores it internally.
149+
150+ If you need to authenticate to the Application Database as a
151+ different user, you must first deploy the |onprem| resource and then
152+ manually :manual:`add a new user </reference/method/db.createUser/>` to the database.
153+
82154Procedure
83155---------
84156
0 commit comments