Skip to content

Commit f27f4b5

Browse files
committed
More safe CipherSuites Supported for kube-apiserver-check-endpoints
Signed-off-by: lan.tian <[email protected]>
1 parent 0bec046 commit f27f4b5

File tree

4 files changed

+32
-0
lines changed

4 files changed

+32
-0
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
apiVersion: v1
2+
kind: ConfigMap
3+
metadata:
4+
namespace: openshift-kube-apiserver
5+
name: kube-apiserver-check-endpoints-config
6+
data:
7+
config.yaml: |
8+
apiVersion: operator.openshift.io/v1
9+
kind: GenericOperatorConfig
10+
servingInfo:
11+
cipherSuites:
12+
- TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
13+
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
14+
- TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
15+
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
16+
- TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
17+
- TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
18+
minTLSVersion: VersionTLS12

bindata/assets/kube-apiserver/pod.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,8 @@ spec:
239239
args:
240240
- --kubeconfig
241241
- /etc/kubernetes/static-pod-certs/configmaps/check-endpoints-kubeconfig/kubeconfig
242+
- --config
243+
- /etc/kubernetes/static-pod-resources/configmaps/kube-apiserver-check-endpoints-config/config.yaml
242244
- --listen
243245
- 0.0.0.0:17697
244246
- --namespace

pkg/operator/starter.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -632,6 +632,8 @@ var RevisionConfigMaps = []revision.RevisionResource{
632632

633633
// optional configmap containing the OIDC structured auth config
634634
{Name: auth.AuthConfigCMName, Optional: true},
635+
// kube-apiserver-check-endpoints-config: TLS cipherSuites/minTLSVersion for check-endpoints.
636+
{Name: "kube-apiserver-check-endpoints-config"},
635637
}
636638

637639
// RevisionSecrets is a list of secrets that are directly copied for the current values. A different actor/controller modifies these.

pkg/operator/targetconfigcontroller/targetconfigcontroller.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,10 @@ func createTargetConfig(ctx context.Context, c TargetConfigController, recorder
219219
if err != nil {
220220
errors = append(errors, fmt.Errorf("%q: %v", "configmap/config", err))
221221
}
222+
_, _, err = manageKubeAPICheckEndpointsConfig(ctx, c.kubeClient.CoreV1(), recorder)
223+
if err != nil {
224+
errors = append(errors, fmt.Errorf("%q: %v", "configmap/kube-apiserver-check-endpoints-config", err))
225+
}
222226
_, _, err = managePods(ctx, c.kubeClient.CoreV1(), c.isStartupMonitorEnabledFn, recorder, operatorSpec, c.targetImagePullSpec, c.operatorImagePullSpec, c.operatorImageVersion)
223227
if err != nil {
224228
errors = append(errors, fmt.Errorf("%q: %v", "configmap/kube-apiserver-pod", err))
@@ -303,6 +307,12 @@ func manageKubeAPIServerConfig(ctx context.Context, client coreclientv1.ConfigMa
303307
return resourceapply.ApplyConfigMap(ctx, client, recorder, requiredConfigMap)
304308
}
305309

310+
func manageKubeAPICheckEndpointsConfig(ctx context.Context, client coreclientv1.ConfigMapsGetter, recorder events.Recorder) (*corev1.ConfigMap, bool, error) {
311+
configMap := resourceread.ReadConfigMapV1OrDie(bindata.MustAsset("assets/kube-apiserver/check-endpoints-config-cm.yaml"))
312+
configMap.Namespace = operatorclient.TargetNamespace
313+
return resourceapply.ApplyConfigMap(ctx, client, recorder, configMap)
314+
}
315+
306316
func managePods(ctx context.Context, client coreclientv1.ConfigMapsGetter, isStartupMonitorEnabledFn func() (bool, error), recorder events.Recorder, operatorSpec *operatorv1.StaticPodOperatorSpec, imagePullSpec, operatorImagePullSpec, operatorImageVersion string) (*corev1.ConfigMap, bool, error) {
307317
appliedPodTemplate, err := manageTemplate(string(bindata.MustAsset("assets/kube-apiserver/pod.yaml")), imagePullSpec, operatorImagePullSpec, operatorImageVersion, operatorSpec)
308318
if err != nil {

0 commit comments

Comments
 (0)