| 550 | } |
| 551 | |
| 552 | func mergeContainerSecurityContext(base, patch *corev1.SecurityContext) *corev1.SecurityContext { |
| 553 | baseBytes, err := json.Marshal(base) |
| 554 | if err != nil { |
| 555 | log.Info("Failed to serialize base container security context: %s", err) |
| 556 | return base |
| 557 | } |
| 558 | patchBytes, err := json.Marshal(patch) |
| 559 | if err != nil { |
| 560 | log.Info("Failed to serialize configured container security context: %s", err) |
| 561 | return base |
| 562 | } |
| 563 | patchedBytes, err := strategicpatch.StrategicMergePatch(baseBytes, patchBytes, &corev1.SecurityContext{}) |
| 564 | if err != nil { |
| 565 | log.Info("Failed to merge configured container security context: %s", err) |
| 566 | return base |
| 567 | } |
| 568 | patched := &corev1.SecurityContext{} |
| 569 | if err := json.Unmarshal(patchedBytes, patched); err != nil { |
| 570 | log.Info("Failed to deserialize patched container security context: %s", patched) |
| 571 | return base |
| 572 | } |
| 573 | return patched |
| 574 | } |
| 575 | |
| 576 | func mergeTLSCertificateConfigmapRef(operatorConfig, clusterConfig *controller.ConfigmapReference) *controller.ConfigmapReference { |
| 577 | if clusterConfig == nil { |