Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion docs/examples/default-security-context/rabbitmq.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@ spec:
template:
spec:
securityContext: {}
containers: []
containers:
- name: rabbitmq
securityContext: {}
initContainers:
- name: setup-container
securityContext: {}
7 changes: 6 additions & 1 deletion internal/resource/statefulset.go
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,7 @@ func patchPodSpec(podSpec, podSpecOverride *corev1.PodSpec) (corev1.PodSpec, err
patchedPodSpec.Containers[0].ReadinessProbe = rmqContainer.ReadinessProbe
}

// A user may wish to override the controller-set securityContext for the RabbitMQ & init containers so that the
// A user may wish to override the controller-set securityContext for the RabbitMQ, init containers, and containers so that the
// container runtime can override them. If the securityContext has been set to an empty struct, `strategicpatch.StrategicMergePatch`
// won't pick this up, so manually override it here.
if podSpecOverride.SecurityContext != nil && reflect.DeepEqual(*podSpecOverride.SecurityContext, corev1.PodSecurityContext{}) {
Expand All @@ -307,6 +307,11 @@ func patchPodSpec(podSpec, podSpecOverride *corev1.PodSpec) (corev1.PodSpec, err
patchedPodSpec.InitContainers[i].SecurityContext = nil
}
}
for i := range podSpecOverride.Containers {
if podSpecOverride.Containers[i].SecurityContext != nil && reflect.DeepEqual(*podSpecOverride.Containers[i].SecurityContext, corev1.SecurityContext{}) {
patchedPodSpec.Containers[i].SecurityContext = nil
}
}

return patchedPodSpec, nil
}
Expand Down
7 changes: 7 additions & 0 deletions internal/resource/statefulset_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2154,6 +2154,12 @@ default_pass = {{ .Data.data.password }}
SecurityContext: &corev1.SecurityContext{},
},
},
Containers: []corev1.Container{
{
Name: "rabbitmq",
SecurityContext: &corev1.SecurityContext{},
},
},
},
},
},
Expand All @@ -2168,6 +2174,7 @@ default_pass = {{ .Data.data.password }}

Expect(statefulSet.Spec.Template.Spec.SecurityContext).To(BeNil())
Expect(statefulSet.Spec.Template.Spec.InitContainers[0].SecurityContext).To(BeNil())
Expect(statefulSet.Spec.Template.Spec.Containers[0].SecurityContext).To(BeNil())

})

Expand Down
Loading