Skip to content

Commit 7ac9be8

Browse files
HELP-28512: mongocli cannot handle net.tls.FIPSMode properly (#893)
1 parent 2460f1c commit 7ac9be8

File tree

7 files changed

+22
-10
lines changed

7 files changed

+22
-10
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ require (
2222
github.com/stretchr/testify v1.7.0
2323
github.com/tangzero/inflector v1.0.0
2424
go.mongodb.org/atlas v0.13.0
25-
go.mongodb.org/ops-manager v0.30.0
25+
go.mongodb.org/ops-manager v0.30.1
2626
gopkg.in/yaml.v2 v2.4.0
2727
)
2828

go.sum

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -339,6 +339,8 @@ go.mongodb.org/atlas v0.13.0 h1:JkJOWsKm9k2mcFaivaaMNDpKDsxJJj1O0eUsDtnNvuE=
339339
go.mongodb.org/atlas v0.13.0/go.mod h1:wVCnHcm/7/IfTjEB6K8K35PLG70yGz8BdkRwX0oK9/M=
340340
go.mongodb.org/ops-manager v0.30.0 h1:8nKyxdUo83cRny4kVOcDeZzf09WseVF5RtHUtGxHpZ0=
341341
go.mongodb.org/ops-manager v0.30.0/go.mod h1:x3CljG6FzfD/DwPCkt/7fKpGccKpHk91VlLOgK0eMTE=
342+
go.mongodb.org/ops-manager v0.30.1 h1:AI15ZQxQaSfbCY96A60ZLDlT3gA0WsPWncxdHDrc5xE=
343+
go.mongodb.org/ops-manager v0.30.1/go.mod h1:5S1wIr61QVUDhPyRiB35iEPocLd4WpJALejUMe9fHuI=
342344
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
343345
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
344346
go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=

internal/convert/automation_config_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import (
2727

2828
func TestFromAutomationConfig(t *testing.T) {
2929
name := "cluster_1"
30+
fipsMode := true
3031
t.Run("replica set", func(t *testing.T) {
3132
t.Parallel()
3233
config := fixture.AutomationConfigWithOneReplicaSet(name, false)
@@ -66,7 +67,7 @@ func TestFromAutomationConfig(t *testing.T) {
6667
ClusterPassword: "ClusterPassword",
6768
CRLFile: "CRLFile",
6869
DisabledProtocols: "DisabledProtocols",
69-
FIPSMode: "FIPSMode",
70+
FIPSMode: &fipsMode,
7071
Mode: "Mode",
7172
PEMKeyFile: "PEMKeyFile",
7273
},

internal/convert/cluster_config_test.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import (
2727
)
2828

2929
func TestClusterConfig_PatchAutomationConfig(t *testing.T) {
30+
fipsMode := true
3031
testCases := map[string]struct {
3132
current *opsmngr.AutomationConfig
3233
expected *opsmngr.AutomationConfig
@@ -133,7 +134,7 @@ func TestClusterConfig_PatchAutomationConfig(t *testing.T) {
133134
ClusterPassword: "ClusterPassword",
134135
CRLFile: "CRLFile",
135136
DisabledProtocols: "DisabledProtocols",
136-
FIPSMode: "FIPSMode",
137+
FIPSMode: &fipsMode,
137138
Mode: "Mode",
138139
PEMKeyFile: "PEMKeyFile",
139140
},
@@ -163,7 +164,7 @@ func TestClusterConfig_PatchAutomationConfig(t *testing.T) {
163164
ClusterPassword: "ClusterPassword",
164165
CRLFile: "CRLFile",
165166
DisabledProtocols: "DisabledProtocols",
166-
FIPSMode: "FIPSMode",
167+
FIPSMode: &fipsMode,
167168
Mode: "Mode",
168169
PEMKeyFile: "PEMKeyFile",
169170
},
@@ -215,7 +216,7 @@ func TestClusterConfig_PatchAutomationConfig(t *testing.T) {
215216
ClusterPassword: "ClusterPassword",
216217
CRLFile: "CRLFile",
217218
DisabledProtocols: "DisabledProtocols",
218-
FIPSMode: "FIPSMode",
219+
FIPSMode: &fipsMode,
219220
Mode: "Mode",
220221
PEMKeyFile: "PEMKeyFile",
221222
},
@@ -450,7 +451,7 @@ func TestClusterConfig_PatchAutomationConfig(t *testing.T) {
450451
ClusterPassword: "ClusterPassword",
451452
CRLFile: "CRLFile",
452453
DisabledProtocols: "DisabledProtocols",
453-
FIPSMode: "FIPSMode",
454+
FIPSMode: &fipsMode,
454455
Mode: "Mode",
455456
PEMKeyFile: "PEMKeyFile",
456457
},

internal/convert/process_config.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ type TLS struct {
8888
ClusterPassword string `yaml:"clusterPassword,omitempty" json:"clusterPassword,omitempty"`
8989
CRLFile string `yaml:"CRLFile,omitempty" json:"CRLFile,omitempty"`
9090
DisabledProtocols string `yaml:"disabledProtocols,omitempty" json:"disabledProtocols,omitempty"`
91-
FIPSMode string `yaml:"FIPSMode,omitempty" json:"FIPSMode,omitempty"`
91+
FIPSMode *bool `yaml:"FIPSMode,omitempty" json:"FIPSMode,omitempty"`
9292
Mode string `yaml:"mode,omitempty" json:"mode,omitempty"`
9393
PEMKeyFile string `yaml:"PEMKeyFile,omitempty" json:"PEMKeyFile,omitempty"`
9494
}

internal/convert/process_config_test.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import (
2727

2828
func Test_newReplicaSetProcessConfig(t *testing.T) {
2929
var slaveDelay float64
30+
fipsMode := true
3031
omp := &opsmngr.Process{
3132
Args26: opsmngr.Args26{
3233
AuditLog: &opsmngr.AuditLog{
@@ -37,7 +38,10 @@ func Test_newReplicaSetProcessConfig(t *testing.T) {
3738
},
3839
NET: opsmngr.Net{
3940
Port: 27017,
40-
TLS: &opsmngr.TLS{Mode: "disabled"},
41+
TLS: &opsmngr.TLS{
42+
Mode: "disabled",
43+
FIPSMode: &fipsMode,
44+
},
4145
},
4246
Replication: &opsmngr.Replication{
4347
ReplSetName: "myReplicaSet",
@@ -111,7 +115,10 @@ func Test_newReplicaSetProcessConfig(t *testing.T) {
111115
ArbiterOnly: pointy.Bool(false),
112116
Disabled: false,
113117
Hidden: pointy.Bool(false),
114-
TLS: &TLS{Mode: "disabled"},
118+
TLS: &TLS{
119+
Mode: "disabled",
120+
FIPSMode: &fipsMode,
121+
},
115122
SetParameter: &map[string]interface{}{
116123
"param": "param",
117124
},

internal/test/fixture/automation_configs.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,7 @@ func AutomationConfigWithMonitoring() *opsmngr.AutomationConfig {
190190
}
191191

192192
func AutomationConfigWithOneReplicaSet(name string, disabled bool) *opsmngr.AutomationConfig {
193+
fipsMode := true
193194
return &opsmngr.AutomationConfig{
194195
Processes: []*opsmngr.Process{
195196
{
@@ -206,7 +207,7 @@ func AutomationConfigWithOneReplicaSet(name string, disabled bool) *opsmngr.Auto
206207
ClusterPassword: "ClusterPassword",
207208
CRLFile: "CRLFile",
208209
DisabledProtocols: "DisabledProtocols",
209-
FIPSMode: "FIPSMode",
210+
FIPSMode: &fipsMode,
210211
Mode: "Mode",
211212
PEMKeyFile: "PEMKeyFile",
212213
},

0 commit comments

Comments
 (0)