Skip to content

Commit f439451

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

File tree

4 files changed

+36
-0
lines changed

4 files changed

+36
-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: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,10 @@ func createTargetConfig(ctx context.Context, c TargetConfigController, recorder
241241
if err != nil {
242242
errors = append(errors, fmt.Errorf("%q: %v", "serviceaccount/localhost-recovery-client", err))
243243
}
244+
_, _, err = manageKubeAPICheckEndpointsConfig(ctx, c.kubeClient.CoreV1(), recorder)
245+
if err != nil {
246+
errors = append(errors, fmt.Errorf("%q: %v", "configmap/kube-apiserver-check-endpoints-config", err))
247+
}
244248

245249
if len(errors) > 0 {
246250
condition := operatorv1.OperatorCondition{
@@ -303,6 +307,16 @@ 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+
cmCLient := client.ConfigMaps(operatorclient.TargetNamespace)
313+
_, err := cmCLient.Get(ctx, "kube-apiserver-check-endpoints-config", metav1.GetOptions{})
314+
if err != nil && apierrors.IsNotFound(err){
315+
return _, _, err
316+
}
317+
return resourceapply.ApplyConfigMap(ctx, client, recorder, configMap)
318+
}
319+
306320
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) {
307321
appliedPodTemplate, err := manageTemplate(string(bindata.MustAsset("assets/kube-apiserver/pod.yaml")), imagePullSpec, operatorImagePullSpec, operatorImageVersion, operatorSpec)
308322
if err != nil {

0 commit comments

Comments
 (0)