Hey, I shared this thread with the team, and someone suggested that you’d benefit from checking out the source code of the community operator (GitHub - mongodb/mongodb-kubernetes-operator: MongoDB Community Kubernetes Operator) since you want to understand how STSes get created.
They also answered some of the specific questions:
- how does the operator work? https://www.mongodb.com/docs/kubernetes-operator/current/tutorial/mdb-resources-arch/#std-label-mdb-resources-arch
- Is the operator written in Go? yes, using the Operator SDK, GitHub - mongodb/mongodb-kubernetes-operator: MongoDB Community Kubernetes Operator is a simpler implementation than the enterprise operator but follows very similar principles in terms of creating the StatefulSets
- “We can’t use a helm install to simply install the operator, but we want all CRDs and everything ready at the time of bootstrapping.” - we document multiple installation procedures: https://www.mongodb.com/docs/kubernetes-operator/current/tutorial/install-k8s-operator/#std-label-install-k8s