This repository was archived by the owner on Dec 12, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 521
This repository was archived by the owner on Dec 12, 2025. It is now read-only.
[BUG] operator crashes if tls config is invalid #1114
Copy link
Copy link
Closed
Labels
Description
If tls config is invalid,
the operator just crashes instead of giving a proper validation error.
2022-09-09T16:22:38.660Z DEBUG controllers/replica_set_controller.go:140 Validating MongoDB.Spec {"ReplicaSet": "..."}
2022-09-09T16:22:38.661Z DEBUG controllers/replica_set_controller.go:149 Ensuring the service exists {"ReplicaSet": "..."}
2022-09-09T16:22:38.864Z DEBUG agent/replica_set_port_manager.go:122 No port change required {"ReplicaSet": "..."}
2022-09-09T16:22:38.874Z INFO controllers/replica_set_controller.go:464 Create/Update operation succeeded {"ReplicaSet": "...", "operation": "updated"}
2022-09-09T16:22:38.874Z INFO controllers/mongodb_tls.go:39 Ensuring TLS is correctly configured {"ReplicaSet": "..."}
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x13d202e]
goroutine 354 [running]:
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile.func1()
/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.12.3/pkg/internal/controller/controller.go:118 +0x1f4
panic({0x15247e0, 0x24553c0})
/usr/local/go/src/runtime/panic.go:838 +0x207
github.com/mongodb/mongodb-kubernetes-operator/api/v1.MongoDBCommunity.TLSConfigMapNamespacedName(...)
/workspace/api/v1/mongodbcommunity_types.go:797
github.com/mongodb/mongodb-kubernetes-operator/controllers.getCaCrt({_, _}, {_, _}, {{{0x14080c8, 0x10}, {0xc0004b61e0, 0x1f}}, {{0xc0003f9d20, 0x10}, ...}, ...})
/workspace/controllers/mongodb_tls.go:166 +0x12e
github.com/mongodb/mongodb-kubernetes-operator/controllers.(*ReplicaSetReconciler).validateTLSConfig(_, {{{0x14080c8, 0x10}, {0xc0004b61e0, 0x1f}}, {{0xc0003f9d20, 0x10}, {0x0, 0x0}, {0xc0003f9d18, ...}, ...}, ...})
/workspace/controllers/mongodb_tls.go:42 +0x125
github.com/mongodb/mongodb-kubernetes-operator/controllers.ReplicaSetReconciler.Reconcile({{0x19c5b60, 0xc0005248a0}, 0xc000158540, 0xc0003fe158, 0xc0003fe370, 0xc0003fe378}, {0x19bd600?, 0xc000130d20?}, {{{0xc0003f9d18, 0x8}, ...}})
/workspace/controllers/replica_set_controller.go:158 +0x7d9
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile(0x19bd558?, {0x19bd600?, 0xc000130d20?}, {{{0xc0003f9d18?, 0x1627a00?}, {0xc0003f9d20?, 0x4041f4?}}})
/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.12.3/pkg/internal/controller/controller.go:121 +0xc8
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler(0xc0004a28c0, {0x19bd558, 0xc000526f00}, {0x1574ca0?, 0xc000348060?})
/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.12.3/pkg/internal/controller/controller.go:320 +0x33c
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem(0xc0004a28c0, {0x19bd558, 0xc000526f00})
/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.12.3/pkg/internal/controller/controller.go:273 +0x1d9
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2()
/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.12.3/pkg/internal/controller/controller.go:234 +0x85
created by sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2
/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.12.3/pkg/internal/controller/controller.go:230 +0x325apiVersion: mongodbcommunity.mongodb.com/v1
kind: MongoDBCommunity
metadata:
name: ...
spec:
members: 1
type: ReplicaSet
version: "5.0.6"
security:
tls:
enabled: true
certificateKeySecretRef:
name: mongodb-cert-secret
#missing caConfigMapRef