Skip to content

Commit 0401cc0

Browse files
(DOCSP-11014): MongoDB resource: support for 'additionalMongodConfig' (#324)
* (DOCSP-11014): MongoDB resource: support for 'additionalMongodConfig' * (DOCSP-11014): fix build warnings * (DOCSP-11014): addressing follow-up questions to engineering * (DOCSP-11014): update link formatting * (DOCSP-11014): tech review feedback * (DOCSP-11014): tech review feedback pt 2
1 parent e1eb6df commit 0401cc0

11 files changed

+127
-8
lines changed

source/includes/options-k8s-shared.yaml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -812,4 +812,40 @@ description: |
812812
813813
2. Approve the |csr|\s after |k8s| generates them.
814814
815+
---
816+
817+
program: _shared
818+
name: spec.additionalMongodConfig
819+
type: collection
820+
directive: setting
821+
optional: true
822+
description: |
823+
Additional :manual:`configuration options
824+
</reference/configuration-options/#configuration-file-options>` with
825+
which you want to start {{component}}.
826+
827+
The |k8s-op-short| supports all configuration options that the MongoDB
828+
version you deploy supports, except that the |k8s-op-short| overrides
829+
values that you provide for any of the following options:
830+
831+
- :setting:`net.port`
832+
- :setting:`net.tls.certificateKeyFile`
833+
- :setting:`net.tls.clusterFile`
834+
- :setting:`net.tls.PEMKeyFile`
835+
- :setting:`replication.replSetName`
836+
- :setting:`security.clusterAuthMode`
837+
- :setting:`sharding.clusterRole`
838+
- :setting:`storage.dbPath`
839+
- :setting:`systemLog.destination`
840+
- :setting:`systemLog.path`
841+
842+
To learn more about the configuration options that the |k8s-op-short|
843+
owns, see :ref:`k8s-exclusive-settings`.
844+
845+
To see which configuration options you can use, see
846+
:manual:`Configuration File Options
847+
</reference/configuration-options/#configuration-file-options>` in the
848+
MongoDB Manual for the MongoDB versions you deploy with the
849+
|k8s-op-short|.
850+
815851
...

source/includes/options-k8s-shared_cluster.yaml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -385,6 +385,18 @@ replacement:
385385
podTemplate_spec_containers: '``spec.configSrvPodSpec.podTemplate.spec.containers``'
386386
---
387387
program: k8sScConf
388+
name: spec.configSrv.additionalMongodConfig
389+
type: collection
390+
directive: setting
391+
optional: true
392+
inherit:
393+
name: spec.additionalMongodConfig
394+
program: _shared
395+
file: options-k8s-shared.yaml
396+
replacement:
397+
component: config servers
398+
---
399+
program: k8sScConf
388400
name: spec.mongosPodSpec.cpu
389401
type: number
390402
directive: setting
@@ -523,6 +535,18 @@ replacement:
523535
component: '``mongos`` instances'
524536
podTemplate_spec: '``spec.mongosPodSpec.podTemplate.spec``'
525537
podTemplate_spec_containers: '``spec.mongosPodSpec.podTemplate.spec.containers``'
538+
---
539+
program: k8sScConf
540+
name: spec.mongos.additionalMongodConfig
541+
type: collection
542+
directive: setting
543+
optional: true
544+
inherit:
545+
name: spec.additionalMongodConfig
546+
program: _shared
547+
file: options-k8s-shared.yaml
548+
replacement:
549+
component: '``mongos`` instances'
526550

527551
---
528552
program: k8sScConf
@@ -763,4 +787,16 @@ replacement:
763787
component: MongoDB database resources
764788
podTemplate_spec: '``spec.shardPodSpec.podTemplate.spec``'
765789
podTemplate_spec_containers: '``spec.shardPodSpec.podTemplate.spec.containers``'
790+
---
791+
program: k8sScConf
792+
name: spec.shard.additionalMongodConfig
793+
type: collection
794+
directive: setting
795+
optional: true
796+
inherit:
797+
name: spec.additionalMongodConfig
798+
program: _shared
799+
file: options-k8s-shared.yaml
800+
replacement:
801+
component: MongoDB processes
766802
...

source/includes/options-k8s-standalone.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -406,5 +406,17 @@ replacement:
406406
component: MongoDB database resources
407407
podTemplate_spec: '``spec.podSpec.podTemplate.spec``'
408408
podTemplate_spec_containers: '``spec.podSpec.podTemplate.spec.containers``'
409+
---
410+
program: k8sSaConf
411+
name: spec.additionalMongodConfig
412+
type: collection
413+
directive: setting
414+
optional: true
415+
inherit:
416+
name: spec.additionalMongodConfig
417+
program: _shared
418+
file: options-k8s-shared.yaml
419+
replacement:
420+
component: MongoDB processes
409421

410422
...

source/includes/steps-deploy-k8s-standalone.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ content: |
139139
You can also add any of the following optional settings to the
140140
|k8s-obj| specification file for a Standalone deployment:
141141
142+
- :setting:`spec.additionalMongodConfig`
142143
- :setting:`spec.exposedExternally`
143144
- :setting:`spec.logLevel`
144145
- :setting:`spec.featureCompatibilityVersion`

source/includes/steps-source-deploy-k8s-resource.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,7 @@ content: |
150150
You can also add any of the following optional settings to the
151151
|k8s-obj| specification file for a {{k8sResource}} deployment:
152152
153+
- :setting:`spec.additionalMongodConfig`
153154
- :setting:`spec.clusterDomain`
154155
- :setting:`spec.featureCompatibilityVersion`
155156
- :setting:`spec.logLevel`
@@ -190,6 +191,7 @@ content: |
190191
191192
**For config server**
192193
194+
- :setting:`spec.configSrv.additionalMongodConfig`
193195
- :setting:`spec.configSrvPodSpec.cpu`
194196
- :setting:`spec.configSrvPodSpec.cpuRequests`
195197
- :setting:`spec.configSrvPodSpec.memory`
@@ -206,6 +208,7 @@ content: |
206208
207209
**For shard routers**
208210
211+
- :setting:`spec.mongos.additionalMongodConfig`
209212
- :setting:`spec.mongosPodSpec.cpu`
210213
- :setting:`spec.mongosPodSpec.cpuRequests`
211214
- :setting:`spec.mongosPodSpec.memory`
@@ -218,6 +221,7 @@ content: |
218221
219222
**For shard members**
220223
224+
- :setting:`spec.shard.additionalMongodConfig`
221225
- :setting:`spec.shardPodSpec.cpu`
222226
- :setting:`spec.shardPodSpec.cpuRequests`
223227
- :setting:`spec.shardPodSpec.memory`

source/reference/k8s-op-exclusive-settings.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,14 @@ page:
4545
- ``auth.usersWanted[n].user``
4646
- ``auth.usersWanted[n].authenticationRestrictions``
4747
- :setting:`processes.args2_6.net.port <net.port>`
48-
- ``processes.args2_6.net.ssl.clusterAuthFile``
48+
- :setting:`processes.args2_6.net.tls.certificateKeyFile <net.tls.certificateKeyFile>`
49+
- :setting:`processes.args2_6.net.tls.clusterFile <net.tls.clusterFile>`
50+
- :setting:`processes.args2_6.net.tls.PEMKeyFile <net.tls.PEMKeyFile>`
4951
- :setting:`processes.args2_6.replication.replSetName <replication.replSetName>`
52+
- :setting:`processes.args2_6.sharding.clusterRole <sharding.clusterRole>`
5053
- :setting:`processes.args2_6.security.clusterAuthMode <security.clusterAuthMode>`
5154
- :setting:`processes.args2_6.storage.dbPath <storage.dbPath>`
55+
- :setting:`processes.args2_6.systemLog.destination <systemLog.destination>`
5256
- :setting:`processes.args2_6.systemLog.path <systemLog.path>`
5357
- ``processes.authSchemaVersion``
5458
- ``processes.cluster`` (mongos processes)

source/reference/k8s-operator-om-specification.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,9 +139,10 @@ Optional |onprem| Resource Settings
139139
:ref:`replica set <replica-set-settings>` resource specification are
140140
optional:
141141

142-
- ``spec.applicationDatabase.``:setting:`~spec.persistent`
143-
- ``spec.applicationDatabase.``:setting:`~spec.logLevel`
142+
- ``spec.applicationDatabase.``:setting:`~spec.additionalMongodConfig`
144143
- ``spec.applicationDatabase.``:setting:`~spec.featureCompatibilityVersion`
144+
- ``spec.applicationDatabase.``:setting:`~spec.logLevel`
145+
- ``spec.applicationDatabase.``:setting:`~spec.persistent`
145146
- ``spec.applicationDatabase.podSpec.``:setting:`~spec.podSpec.cpu`
146147
- ``spec.applicationDatabase.podSpec.``:setting:`~spec.podSpec.cpuRequests`
147148
- ``spec.applicationDatabase.podSpec.``:setting:`~spec.podSpec.memory`

source/reference/k8s-operator-specification.txt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,12 @@ depend upon which MongoDB deployment item you want to create:
108108
Standalone Settings
109109
~~~~~~~~~~~~~~~~~~~
110110

111+
.. note::
112+
113+
All of the :ref:`standalone-settings` also apply to replica set
114+
resources.
115+
116+
.. include:: /includes/option/setting-k8sSaConf-spec.additionalMongodConfig.rst
111117
.. include:: /includes/option/setting-k8sSaConf-spec.exposedExternally.rst
112118
.. include:: /includes/option/setting-k8sSaConf-spec.podSpec.cpu.rst
113119
.. include:: /includes/option/setting-k8sSaConf-spec.podSpec.cpuRequests.rst
@@ -148,6 +154,7 @@ The following settings only apply to sharded cluster resource types:
148154

149155
.. include:: /includes/option/setting-k8sSaConf-spec.exposedExternally.rst
150156
.. include:: /includes/option/setting-k8sScConf-spec.configServerCount.rst
157+
.. include:: /includes/option/setting-k8sScConf-spec.configSrv.additionalMongodConfig.rst
151158
.. include:: /includes/option/setting-k8sScConf-spec.configSrvPodSpec.cpu.rst
152159
.. include:: /includes/option/setting-k8sScConf-spec.configSrvPodSpec.cpuRequests.rst
153160
.. include:: /includes/option/setting-k8sScConf-spec.configSrvPodSpec.memory.rst
@@ -164,6 +171,7 @@ The following settings only apply to sharded cluster resource types:
164171
.. include:: /includes/option/setting-k8sScConf-spec.configSrvPodSpec.podTemplate.spec.rst
165172
.. include:: /includes/option/setting-k8sScConf-spec.mongodsPerShardCount.rst
166173
.. include:: /includes/option/setting-k8sScConf-spec.mongosCount.rst
174+
.. include:: /includes/option/setting-k8sScConf-spec.mongos.additionalMongodConfig.rst
167175
.. include:: /includes/option/setting-k8sScConf-spec.mongosPodSpec.cpu.rst
168176
.. include:: /includes/option/setting-k8sScConf-spec.mongosPodSpec.cpuRequests.rst
169177
.. include:: /includes/option/setting-k8sScConf-spec.mongosPodSpec.memory.rst
@@ -175,6 +183,7 @@ The following settings only apply to sharded cluster resource types:
175183
.. include:: /includes/option/setting-k8sScConf-spec.mongosPodSpec.podTemplate.metadata.rst
176184
.. include:: /includes/option/setting-k8sScConf-spec.mongosPodSpec.podTemplate.spec.rst
177185
.. include:: /includes/option/setting-k8sScConf-spec.shardCount.rst
186+
.. include:: /includes/option/setting-k8sScConf-spec.shard.additionalMongodConfig.rst
178187
.. include:: /includes/option/setting-k8sScConf-spec.shardPodSpec.cpu.rst
179188
.. include:: /includes/option/setting-k8sScConf-spec.shardPodSpec.cpuRequests.rst
180189
.. include:: /includes/option/setting-k8sScConf-spec.shardPodSpec.memory.rst

source/reference/k8s/replicasetpodspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,5 +68,5 @@ spec:
6868
additionalMongodConfig:
6969
net:
7070
ssl:
71-
mode: requireSSL
71+
mode: preferSSL
7272
...

source/reference/k8s/shardedclusterpodspec.yaml

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,15 +88,25 @@ spec:
8888
storage: 4Gi
8989
storageClass: standard
9090
podAntiAffinityTopologyKey: kubernetes.io/hostname
91+
mongos:
92+
additionalMongodConfig:
93+
systemLog:
94+
logAppend: true
95+
verbosity: 4
96+
configSrv:
97+
additionalMongodConfig:
98+
operationProfiling:
99+
mode: slowOp
100+
shard:
101+
additionalMongodConfig:
102+
storage:
103+
journal:
104+
commitIntervalMs: 50
91105
security:
92106
tls:
93107
enabled: true
94108
authentication:
95109
enabled: true
96110
modes: ["X509"]
97111
internalCluster: "X509"
98-
additionalMongodConfig:
99-
net:
100-
ssl:
101-
mode: requireSSL
102112
...

source/reference/k8s/standalonepodspec.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,12 @@ spec:
1111
credentials: my-credentials
1212
persistent: true
1313
type: Standalone
14+
additionalMongodConfig:
15+
systemLog:
16+
logAppend: true
17+
verbosity: 4
18+
operationProfiling:
19+
mode: slowOp
1420
podSpec:
1521
cpu: '0.25'
1622
memory: 512M

0 commit comments

Comments
 (0)