Binaries should be provided via Docker images
To implement this in a Kubernetes native way for offline deployments, the binaries should be provided as Docker images and distributed through the Docker repositories that are already present in the k8s environment.
Option 1 (intermediate): Allow Mount of Docker images in the MongoDBOpsManager resource for the path defined in automation.versions.directory. This would allow us to pre-package the binaries needed and bring up the OpsManager in a kubernetes native way. Everything else (e.g. agent downloading the tgz) would stay the same and still be the "OpsManger-way".
Option 2 (long term): The MongoDB TGZ package is provided as Docker image by MongoDB (e.g. quay.io). Versioning would be done using tags. These Docker images are then mounted as volume to the MongoDB pod
-
AdminAndrey (Admin, MongoDB) commented
You are absolutely right in your suggestions. this is already on our roadmap.
1. This is already implemented. You could mount a PV where installers could copy into for Ops Manager Local Mode. Here is an example https://github.com/mongodb/mongodb-enterprise-kubernetes/blob/master/samples/ops-manager/ops-manager-local-mode.yaml
Another example of more complete Ops Manager local mode configuration https://github.com/theburi/mongoDB-kubernetes-demo/blob/master/opsmanager/ops-manager.yaml
Note: OpsManager 4.4 could download tgz files from local S3/HTTP servers as well. (THis is going to be new Local Mode configuration option)
2. We are very close to providing and opening up Dockerfiles so you could build and use your own Database Docker images. We find every organization has different requirements for the base image and included libraries and providing universal image is impossible. However, we are working towards this goal.