MongoDB Kubernetes Enterprise Operator 1.21.0
·
36 commits
to master
since this release
MongoDB Enterprise Kubernetes Operator 1.21.0
Breaking changes
- The environment variable to track the operator namespace has been renamed from CURRENT_NAMESPACE to
NAMESPACE. If you set this variable manually via YAML files, you should update this environment variable name while upgrading the operator deployment.
Bug fixes
- Fixes a bug where passing the labels via statefulset override mechanism would not lead to an override on the actual statefulset.
New Feature
- Support for Label and Annotations Wrapper for the following CRDs: mongodb, mongodbmulti and opsmanager
- Additionally, to the
specWrapperforstatefulsetswe now support overridingmetadata.Labelsandmetadata.Annotationsvia theMetadataWrapper.
- Additionally, to the
MongoDBOpsManager Resource
New Features
- Support configuring
OpsManagerwith a highly availableapplicationDatabaseacross multiple Kubernetes clusters by introducing the following fields:om.spec.applicationDatabase.topologywhich can be one ofMultiClusterandSingleCluster.om.spec.applicationDatabase.clusterSpecListfor configuring the list of Kubernetes clusters which will have For extended considerations for the multi-cluster AppDB configuration, check the official guide and theOpsManagerresource specification.
The implementation is backwards compatible with single cluster deployments of AppDB, by defaultingom.spec.applicationDatabase.topologytoSingleCluster. ExistingOpsManagerresources do not need to be modified to upgrade to this version of the operator.
- Support for providing a list of custom certificates for S3 based backups via secret references
spec.backup.[]s3Stores.customCertificateSecretRefsandspec.backup.[]s3OpLogStores.customCertificateSecretRefs- The list consists of single certificate strings, each references a secret containing a certificate authority.
- We do not support adding multiple certificates in a chain. In that case, only the first certificate in the chain is imported.
- Note:
- If providing a list of
customCertificateSecretRefs, then those certificates will be used instead of the default certificates setup in the JVM Trust Store (in Ops Manager or Cloud Manager). - If none are provided, the default JVM Truststore certificates will be used instead.
- If providing a list of
Breaking changes
- The
appdb-cais no longer automatically added to the JVM Trust Store (in Ops Manager or Cloud Manager). Since a bug introduced in version1.17.0, automatically adding these certificates to the JVM Trust Store has no longer worked.- This will only impact you if:
- You are using the same custom certificate for both appdb-ca and for your S3 compatible backup store
- AND: You are using an operator prior to
1.17.0(where automated inclusion in the JVM Trust Store worked) OR had a workaround (such as mounting your own trust store to OM)
- If you do need to use the same custom certificate for both appdb-ca and for your S3 compatible backup store then you now need to utilise
spec.backup.[]s3Config.customCertificateSecretRefs(introduced in this release and covered below in the release notes) to specify the certificate authority for use for backups. - The
appdb-cais the certificate authority saved in the configmap specified underom.spec.applicationDatabase.security.tls.ca.
- This will only impact you if:
Bug fixes
- Allowed setting an arbitrary port number in
spec.externalConnectivity.portwhenLoadBalancerservice type is used for exposing Ops Manager instance externally. - The operator is now able to import the
appdb-cawhich consists of a bundle of certificate authorities into the ops-manager JVM trust store. Previously, the keystore had 2 problems:- It was immutable.
- Only the first certificate authority out of the bundle was imported into the trust store.
- Both could lead to certificates being rejected by Ops Manager during requests to it.
Deprecation
- The setting
spec.backup.[]s3Stores.customCertificateandspec.backup.[]s3OpLogStores.customCertificateare being deprecated in favor ofspec.backup.[]s3OpLogStores.[]customCertificateSecretRefsandspec.backup.[]s3Stores.[]customCertificateSecretRefs- Previously, when enabling
customCertificate, the operator would use theappdb-caas the custom certificate. Currently, this should be explicitly set viacustomCertificateSecretRefs.
- Previously, when enabling