@@ -37,97 +37,39 @@ func atLeastVersionTLS12(v string) string {
3737 return v
3838}
3939
40- func TestTLSSecurityProfileConfiguration (t * testing.T ) {
41- t .Skip ("Changing apiserverConfig.Spec.TLSSecurityProfile now makes MCO rollout nodes which is disruptive for other tests. See https://issues.redhat.com/browse/MON-3959" )
42- testCases := []struct {
43- name string
44- profile * configv1.TLSSecurityProfile
45- expectedCipherSuite []string
46- expectedMinTLSVersion string
47- }{
48- {
49- name : "no profile" ,
50- profile : nil ,
51- expectedCipherSuite : manifests .APIServerDefaultTLSCiphers ,
52- expectedMinTLSVersion : "VersionTLS12" ,
53- },
54- {
55- name : "old profile" ,
56- profile : & configv1.TLSSecurityProfile {
57- Type : configv1 .TLSProfileOldType ,
58- Old : & configv1.OldTLSProfile {},
59- },
60- expectedCipherSuite : configv1 .TLSProfiles [configv1 .TLSProfileOldType ].Ciphers ,
61- expectedMinTLSVersion : "VersionTLS10" ,
62- },
63- {
64- name : "intermediate profile" ,
65- profile : & configv1.TLSSecurityProfile {
66- Type : configv1 .TLSProfileIntermediateType ,
67- Intermediate : & configv1.IntermediateTLSProfile {},
68- },
69- expectedCipherSuite : configv1 .TLSProfiles [configv1 .TLSProfileIntermediateType ].Ciphers ,
70- expectedMinTLSVersion : "VersionTLS12" ,
71- },
72- {
73- name : "custom profile" ,
74- profile : & configv1.TLSSecurityProfile {
75- Type : configv1 .TLSProfileCustomType ,
76- Custom : & configv1.CustomTLSProfile {
77- TLSProfileSpec : configv1.TLSProfileSpec {
78- Ciphers : []string {
79- "ECDHE-RSA-AES128-GCM-SHA256" ,
80- "ECDHE-ECDSA-AES256-GCM-SHA384" ,
81- },
82- MinTLSVersion : "VersionTLS10" ,
83- },
84- },
85- },
86- expectedCipherSuite : []string {
87- "ECDHE-RSA-AES128-GCM-SHA256" ,
88- "ECDHE-ECDSA-AES256-GCM-SHA384" ,
89- },
90- expectedMinTLSVersion : "VersionTLS10" ,
91- },
92- }
93-
94- for _ , tt := range testCases {
95- t .Run (tt .name , func (t * testing.T ) {
96- setTLSSecurityProfile (t , tt .profile )
97- // The admission webhook supports only TLS versions >= 1.2.
98- assertCorrectTLSConfiguration (t , "prometheus-operator-admission-webhook" , "deployment" ,
99- manifests .PrometheusOperatorWebTLSCipherSuitesFlag ,
100- manifests .PrometheusOperatorWebTLSMinTLSVersionFlag , tt .expectedCipherSuite ,
101- atLeastVersionTLS12 (tt .expectedMinTLSVersion ))
102- assertCorrectTLSConfiguration (t , "prometheus-operator" , "deployment" ,
103- manifests .KubeRbacProxyTLSCipherSuitesFlag ,
104- manifests .KubeRbacProxyMinTLSVersionFlag , tt .expectedCipherSuite , tt .expectedMinTLSVersion )
105- assertCorrectTLSConfiguration (t , "kube-state-metrics" , "deployment" ,
106- manifests .KubeRbacProxyTLSCipherSuitesFlag ,
107- manifests .KubeRbacProxyMinTLSVersionFlag , tt .expectedCipherSuite , tt .expectedMinTLSVersion )
108- assertCorrectTLSConfiguration (t , "openshift-state-metrics" , "deployment" ,
109- manifests .KubeRbacProxyTLSCipherSuitesFlag ,
110- manifests .KubeRbacProxyMinTLSVersionFlag , tt .expectedCipherSuite , tt .expectedMinTLSVersion )
111- assertCorrectTLSConfiguration (t , "node-exporter" , "daemonset" ,
112- manifests .KubeRbacProxyTLSCipherSuitesFlag ,
113- manifests .KubeRbacProxyMinTLSVersionFlag , tt .expectedCipherSuite , tt .expectedMinTLSVersion )
114- assertCorrectTLSConfiguration (t , "telemeter-client" , "deployment" ,
115- manifests .KubeRbacProxyTLSCipherSuitesFlag ,
116- manifests .KubeRbacProxyMinTLSVersionFlag , tt .expectedCipherSuite , tt .expectedMinTLSVersion )
117- assertCorrectTLSConfiguration (t , "thanos-querier" , "deployment" ,
118- manifests .KubeRbacProxyTLSCipherSuitesFlag ,
119- manifests .KubeRbacProxyMinTLSVersionFlag , tt .expectedCipherSuite , tt .expectedMinTLSVersion )
120- assertCorrectTLSConfiguration (t , "alertmanager-main" , "statefulset" ,
121- manifests .KubeRbacProxyTLSCipherSuitesFlag ,
122- manifests .KubeRbacProxyMinTLSVersionFlag , tt .expectedCipherSuite , tt .expectedMinTLSVersion )
123- assertCorrectTLSConfiguration (t , "prometheus-k8s" , "statefulset" ,
124- manifests .KubeRbacProxyTLSCipherSuitesFlag ,
125- manifests .KubeRbacProxyMinTLSVersionFlag , tt .expectedCipherSuite , tt .expectedMinTLSVersion )
126- assertCorrectTLSConfiguration (t , "metrics-server" , "deployment" ,
127- manifests .MetricsServerTLSCipherSuitesFlag ,
128- manifests .MetricsServerTLSMinTLSVersionFlag , tt .expectedCipherSuite , tt .expectedMinTLSVersion )
129- })
130- }
40+ func TestDefaultTLSSecurityProfileConfiguration (t * testing.T ) {
41+ // The admission webhook supports only TLS versions >= 1.2.
42+ assertCorrectTLSConfiguration (t , "prometheus-operator-admission-webhook" , "deployment" ,
43+ manifests .PrometheusOperatorWebTLSCipherSuitesFlag ,
44+ manifests .PrometheusOperatorWebTLSMinTLSVersionFlag , configv1 .TLSProfiles [configv1 .TLSProfileIntermediateType ].Ciphers ,
45+ atLeastVersionTLS12 ("VersionTLS12" ))
46+ assertCorrectTLSConfiguration (t , "prometheus-operator" , "deployment" ,
47+ manifests .KubeRbacProxyTLSCipherSuitesFlag ,
48+ manifests .KubeRbacProxyMinTLSVersionFlag , configv1 .TLSProfiles [configv1 .TLSProfileIntermediateType ].Ciphers , "VersionTLS12" )
49+ assertCorrectTLSConfiguration (t , "kube-state-metrics" , "deployment" ,
50+ manifests .KubeRbacProxyTLSCipherSuitesFlag ,
51+ manifests .KubeRbacProxyMinTLSVersionFlag , configv1 .TLSProfiles [configv1 .TLSProfileIntermediateType ].Ciphers , "VersionTLS12" )
52+ assertCorrectTLSConfiguration (t , "openshift-state-metrics" , "deployment" ,
53+ manifests .KubeRbacProxyTLSCipherSuitesFlag ,
54+ manifests .KubeRbacProxyMinTLSVersionFlag , configv1 .TLSProfiles [configv1 .TLSProfileIntermediateType ].Ciphers , "VersionTLS12" )
55+ assertCorrectTLSConfiguration (t , "node-exporter" , "daemonset" ,
56+ manifests .KubeRbacProxyTLSCipherSuitesFlag ,
57+ manifests .KubeRbacProxyMinTLSVersionFlag , configv1 .TLSProfiles [configv1 .TLSProfileIntermediateType ].Ciphers , "VersionTLS12" )
58+ assertCorrectTLSConfiguration (t , "telemeter-client" , "deployment" ,
59+ manifests .KubeRbacProxyTLSCipherSuitesFlag ,
60+ manifests .KubeRbacProxyMinTLSVersionFlag , configv1 .TLSProfiles [configv1 .TLSProfileIntermediateType ].Ciphers , "VersionTLS12" )
61+ assertCorrectTLSConfiguration (t , "thanos-querier" , "deployment" ,
62+ manifests .KubeRbacProxyTLSCipherSuitesFlag ,
63+ manifests .KubeRbacProxyMinTLSVersionFlag , configv1 .TLSProfiles [configv1 .TLSProfileIntermediateType ].Ciphers , "VersionTLS12" )
64+ assertCorrectTLSConfiguration (t , "alertmanager-main" , "statefulset" ,
65+ manifests .KubeRbacProxyTLSCipherSuitesFlag ,
66+ manifests .KubeRbacProxyMinTLSVersionFlag , configv1 .TLSProfiles [configv1 .TLSProfileIntermediateType ].Ciphers , "VersionTLS12" )
67+ assertCorrectTLSConfiguration (t , "prometheus-k8s" , "statefulset" ,
68+ manifests .KubeRbacProxyTLSCipherSuitesFlag ,
69+ manifests .KubeRbacProxyMinTLSVersionFlag , configv1 .TLSProfiles [configv1 .TLSProfileIntermediateType ].Ciphers , "VersionTLS12" )
70+ assertCorrectTLSConfiguration (t , "metrics-server" , "deployment" ,
71+ manifests .MetricsServerTLSCipherSuitesFlag ,
72+ manifests .MetricsServerTLSMinTLSVersionFlag , configv1 .TLSProfiles [configv1 .TLSProfileIntermediateType ].Ciphers , "VersionTLS12" )
13173}
13274
13375func assertCorrectTLSConfiguration (t * testing.T , componentName , objectType , tlsCipherSuiteFlag , tlsMinTLSVersionFlag string , expectedCipherSuite []string , expectedTLSVersion string ) {
@@ -199,15 +141,3 @@ func correctMinTLSVersion(minTLSVersionArg, tlsVersion string, containers []v1.C
199141 }
200142 return false
201143}
202-
203- func setTLSSecurityProfile (t * testing.T , tlsSecurityProfile * configv1.TLSSecurityProfile ) {
204- ctx := context .Background ()
205- apiserverConfig , err := f .OpenShiftConfigClient .ConfigV1 ().APIServers ().Get (ctx , "cluster" , metav1.GetOptions {})
206- if err != nil {
207- t .Fatal (err )
208- }
209- apiserverConfig .Spec .TLSSecurityProfile = tlsSecurityProfile
210- if _ , err := f .OpenShiftConfigClient .ConfigV1 ().APIServers ().Update (ctx , apiserverConfig , metav1.UpdateOptions {}); err != nil {
211- t .Fatal (err )
212- }
213- }
0 commit comments