Skip to content

Commit c61d299

Browse files
committed
8d7ef92b95ff6ad82a312fa07f3c14dc2e7c2ffc: update public repo contents
1 parent 702cca0 commit c61d299

25 files changed

+410
-67
lines changed

README.md

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ You can discuss this integration in our [Slack](https://community-slack.mongodb.
2626

2727
## Requirements ##
2828

29-
The MongoDB Enterprise Operator is compatible with Kubernetes v1.11 and above. It has been tested against Openshift 3.11.
29+
The MongoDB Enterprise Operator is compatible with Kubernetes v1.13 and above. It has been tested against Openshift 3.11.
3030

3131
This Operator requires [Ops Manager](https://docs.opsmanager.mongodb.com/current/) or [Cloud Manager](https://cloud.mongodb.com/user#/cloud/login). In this document, when we refer to "Ops Manager", you may substitute "Cloud Manager". The functionality is the same.
3232
> If this is your first time trying the Operator, Cloud Manager is easier to get started
@@ -139,19 +139,22 @@ If you have a correctly created Project with the name `my-project` and Credentia
139139

140140
## Ops Manager object (alpha) ##
141141

142-
This section describes how to create the Ops Manager object in Kubernetes.
142+
This section describes how to create the Ops Manager object in Kubernetes. Note, that this requires all
143+
the CRDs and the Operator application to be installed as described above.
143144

144-
*Disclaimer: this is an early release of Ops Manager - so it's not recommended to use it in production *
145+
*Disclaimer: this is an early release of Ops Manager - so it's not recommended to use it in production*
145146

146147
### Create Admin Credentials Secret ###
147148

148-
Before creating the Ops Manager object you need to prepare the information about the admin user which will be created automatically. You can use the following command to do it:
149+
Before creating the Ops Manager object you need to prepare the information about the admin user which will be
150+
created automatically in Ops Manager. You can use the following command to do it:
149151

150152
```bash
151153
$ kubectl create secret generic ops-manager-admin-secret --from-literal=Username="[email protected]" --from-literal=Password="Passw0rd." --from-literal=FirstName="Jane" --from-literal=LastName="Doe" -n <namespace>
152154
```
153155

154-
Note, that the secret is needed only during the initialization of the Ops Manager object - you can remove it or clean the password field after the Ops Manager object was created
156+
Note, that the secret is needed only during the initialization of the Ops Manager object - you can remove it or
157+
clean the password field after the Ops Manager object was created
155158

156159
### Create Ops Manager object ###
157160

@@ -161,7 +164,22 @@ Use the file `samples/ops-manager/ops-manager.yaml`. Edit the fields and create
161164
$ kubectl apply -f samples/ops-manager/ops-manager.yaml
162165
```
163166

164-
Note, that it takes up to 10 minutes to initialize the Application Database and start Ops Manager.
167+
Note, that it takes up to 8 minutes to initialize the Application Database and start Ops Manager.
168+
169+
## (Optionally) Create a MongoDB object referencing the new Ops Manager
170+
171+
Now you can use the Ops Manager application to create MongoDB objects. You need to follow the
172+
[instructions](https://docs.mongodb.com/kubernetes-operator/stable/tutorial/install-k8s-operator/#onprem-prerequisites)
173+
to prepare keys and enable network access to Ops Manager.
174+
175+
The Operator creates the NodePort service which can be used to access Ops Manager from external
176+
(and therefore access the UI from browser):
177+
178+
```bash
179+
$ kubectl get svc | grep <om-name>-svc-external
180+
om-svc-external NodePort 100.61.72.82 <none> 8080:30456/TCP 2m49s
181+
```
182+
Make sure that the firewall rules allow inbound traffic to the port on the host (`30456` in the example above)
165183

166184

167185
## Deleting the Operator ##

crds.yaml

Lines changed: 108 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,19 @@ spec:
4343
type: string
4444
project:
4545
type: string
46+
description: "DEPRECATED The name of a configMap in the same namespace"
47+
opsManager:
48+
properties:
49+
configMapRef:
50+
properties:
51+
name:
52+
type: string
53+
cloudManager:
54+
properties:
55+
configMapRef:
56+
properties:
57+
name:
58+
type: string
4659
version:
4760
type: string
4861
pattern: "^[0-9]+.[0-9]+.[0-9]+(-.+)?$"
@@ -55,6 +68,15 @@ spec:
5568
security:
5669
type: object
5770
properties:
71+
authentication:
72+
properties:
73+
enabled:
74+
type: boolean
75+
modes:
76+
type: array
77+
items:
78+
type: string
79+
enum: ["X509"]
5880
tls:
5981
type: object
6082
properties:
@@ -73,9 +95,12 @@ spec:
7395
enum: ["disabled", "allowSSL", "preferSSL", "requireSSL", "allowTLS", "preferTLS", "requireTLS"]
7496
exposedExternally:
7597
type: boolean
98+
anyOf:
99+
- required: [project]
100+
- required: [opsManager]
101+
- required: [cloudManager]
76102
required:
77103
- credentials
78-
- project
79104
- version
80105
- type
81106
- properties: # ReplicaSet schema
@@ -89,6 +114,19 @@ spec:
89114
type: string
90115
project:
91116
type: string
117+
description: "DEPRECATED The name of a configMap in the same namespace"
118+
opsManager:
119+
properties:
120+
configMapRef:
121+
properties:
122+
name:
123+
type: string
124+
cloudManager:
125+
properties:
126+
configMapRef:
127+
properties:
128+
name:
129+
type: string
92130
version:
93131
type: string
94132
pattern: "^[0-9]+.[0-9]+.[0-9]+(-.+)?$"
@@ -101,6 +139,18 @@ spec:
101139
security:
102140
type: object
103141
properties:
142+
authentication:
143+
properties:
144+
enabled:
145+
type: boolean
146+
modes:
147+
type: array
148+
items:
149+
type: string
150+
enum: ["X509"]
151+
internalCluster:
152+
type: string
153+
enum: ["X509"]
104154
tls:
105155
type: object
106156
properties:
@@ -109,7 +159,7 @@ spec:
109159
ca:
110160
type: string
111161
clusterAuthenticationMode:
112-
# Warning: please refer to the documentation before enabling x509 in your MongoDB resource.
162+
# Warning: please refer to the documentation before enabling X509 in your MongoDB resource.
113163
# https://docs.mongodb.com/kubernetes-operator/
114164
type: string
115165
enum: ["x509"]
@@ -124,12 +174,16 @@ spec:
124174
enum: ["disabled", "allowSSL", "preferSSL", "requireSSL", "allowTLS", "preferTLS", "requireTLS"]
125175
exposedExternally:
126176
type: boolean
177+
anyOf:
178+
- required: [project]
179+
- required: [opsManager]
180+
- required: [cloudManager]
127181
required:
128182
- credentials
129-
- project
130183
- version
131184
- type
132185
- members
186+
# TODO: add validation for OpsManager or Cloud Manager being required
133187
- properties:
134188
spec:
135189
properties: # ShardedCluster schema
@@ -151,6 +205,19 @@ spec:
151205
type: string
152206
project:
153207
type: string
208+
description: "DEPRECATED The name of a configMap in the same namespace"
209+
opsManager:
210+
properties:
211+
configMapRef:
212+
properties:
213+
name:
214+
type: string
215+
cloudManager:
216+
properties:
217+
configMapRef:
218+
properties:
219+
name:
220+
type: string
154221
version:
155222
type: string
156223
pattern: "^[0-9]+.[0-9]+.[0-9]+(-.+)?$"
@@ -163,6 +230,18 @@ spec:
163230
security:
164231
type: object
165232
properties:
233+
authentication:
234+
properties:
235+
enabled:
236+
type: boolean
237+
modes:
238+
type: array
239+
items:
240+
type: string
241+
enum: ["X509"]
242+
internalCluster:
243+
type: string
244+
enum: ["X509"]
166245
tls:
167246
type: object
168247
properties:
@@ -171,7 +250,7 @@ spec:
171250
ca:
172251
type: string
173252
clusterAuthenticationMode:
174-
# Warning: please refer to the documentation before enabling x509 in your MongoDB resource.
253+
# Warning: please refer to the documentation before enabling X509 in your MongoDB resource.
175254
# https://docs.mongodb.com/kubernetes-operator/
176255
type: string
177256
enum: ["x509"]
@@ -186,9 +265,12 @@ spec:
186265
enum: ["disabled", "allowSSL", "preferSSL", "requireSSL", "allowTLS", "preferTLS", "requireTLS"]
187266
exposedExternally:
188267
type: boolean
268+
anyOf:
269+
- required: [project]
270+
- required: [opsManager]
271+
- required: [cloudManager]
189272
required:
190273
- credentials
191-
- project
192274
- version
193275
- type
194276
- shardCount
@@ -220,11 +302,16 @@ spec:
220302
description: "The username of the user"
221303
db:
222304
type: string
223-
enum: ["$external"]
224305
description: "The database the user is stored in"
306+
enum: ["$external"]
225307
project:
226308
type: string
227-
description: "The project the user belongs to"
309+
description: "DEPRECATED The project the user belongs to"
310+
mongodbResourceRef:
311+
properties:
312+
name:
313+
type: string
314+
description: "The name of a MongoDB resource in the same namespace"
228315
roles:
229316
type: array
230317
items:
@@ -242,7 +329,6 @@ spec:
242329
required:
243330
- username
244331
- db
245-
- project
246332
---
247333
apiVersion: apiextensions.k8s.io/v1beta1
248334
kind: CustomResourceDefinition
@@ -286,6 +372,20 @@ spec:
286372
properties:
287373
version:
288374
type: string
375+
backup:
376+
type: object
377+
properties:
378+
enabled:
379+
type: boolean
380+
381+
headDB:
382+
type: object
383+
properties:
384+
storage:
385+
type: string
386+
storageClass:
387+
type: string
388+
289389
applicationDatabase:
290390
type: object
291391
properties:
@@ -299,9 +399,6 @@ spec:
299399
logLevel:
300400
type: string
301401
enum: ["DEBUG", "INFO", "WARN", "ERROR", "FATAL"]
302-
type:
303-
type: string
304-
enum: ["ReplicaSet"]
305402
exposedExternally:
306403
type: boolean
307404
required:

helm_chart/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: mongodb-enterprise-operator
22
description: MongoDB Kubernetes Enterprise Operator
3-
version: 1.2.4
4-
kubeVersion: '>=1.11'
3+
version: 1.3.0
4+
kubeVersion: '>=1.13'
55
keywords:
66
- mongodb
77
- database

0 commit comments

Comments
 (0)