Logical MongoDB Backup on OpenShift clusters

To demonstrate data protection for MongoDB provided and deployed with OpenShift, the install should be performed according to the documentation provided here.

$ oc create namespace mongodb-logical
$ oc new-app https://raw.githubusercontent.com/openshift/origin/master/examples/db-templates/mongodb-ephemeral-template.json \
      --namespace mongodb-logical

A Blueprint resource should be created via the following command:

 $ curl https://raw.githubusercontent.com/kanisterio/kanister/0.69.0/examples/stable/mongodb-deploymentconfig/blueprint-v2/mongo-dep-config-blueprint.yaml > mongo-dep-config-blueprint.yaml
 $ oc apply -f mongo-dep-config-blueprint.yaml --namespace kasten-io

Note

If MongoDB chart is installed specifying existing secret by setting parameter --set auth.existingSecret=<mongo-secret-name>, secret name in the blueprint mongo-dep-config-blueprint.yaml needs to be modified at following places:

actions.backup.phases[0].objects.mongosecret.name: <mongo-secret-name> actions.restore.phases[0].objects.mongosecret.name: <mongo-secret-name>

Once the Blueprint is created, annotate the DeploymentConfig with the below annotations to instruct K10 to use this Blueprint while performing data management operations on the MongoDB instance.

$ oc annotate deploymentconfig mongodb kanister.kasten.io/blueprint='mongodb-blueprint' \
      --namespace=mongodb-logical

Finally, use K10 to backup and restore the application.