Skip to content

Commit f60eb32

Browse files
[release-1.11] fix securityContext for Knative Service Pod (user-container and queue-proxy) (#14378)
* add seccompProfile to queue container security context * run as non root by default * update tests to expect new default run as nonroot --------- Co-authored-by: Clay Kauzlaric <[email protected]>
1 parent f1617ef commit f60eb32

File tree

3 files changed

+13
-0
lines changed

3 files changed

+13
-0
lines changed

pkg/apis/serving/v1/revision_defaults.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,10 @@ func (rs *RevisionSpec) defaultSecurityContext(psc *corev1.PodSecurityContext, c
208208
}
209209
}
210210

211+
if psc.RunAsNonRoot == nil {
212+
updatedSC.RunAsNonRoot = ptr.Bool(true)
213+
}
214+
211215
if *updatedSC != (corev1.SecurityContext{}) {
212216
container.SecurityContext = updatedSC
213217
}

pkg/apis/serving/v1/revision_defaults_test.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -900,6 +900,7 @@ func TestRevisionDefaulting(t *testing.T) {
900900
ReadinessProbe: defaultProbe,
901901
Resources: defaultResources,
902902
SecurityContext: &corev1.SecurityContext{
903+
RunAsNonRoot: ptr.Bool(true),
903904
AllowPrivilegeEscalation: ptr.Bool(false),
904905
SeccompProfile: &corev1.SeccompProfile{
905906
Type: corev1.SeccompProfileTypeRuntimeDefault,
@@ -913,6 +914,7 @@ func TestRevisionDefaulting(t *testing.T) {
913914
Name: "sidecar",
914915
Resources: defaultResources,
915916
SecurityContext: &corev1.SecurityContext{
917+
RunAsNonRoot: ptr.Bool(true),
916918
AllowPrivilegeEscalation: ptr.Bool(false),
917919
SeccompProfile: &corev1.SeccompProfile{
918920
Type: corev1.SeccompProfileTypeRuntimeDefault,
@@ -925,6 +927,7 @@ func TestRevisionDefaulting(t *testing.T) {
925927
Name: "special-sidecar",
926928
Resources: defaultResources,
927929
SecurityContext: &corev1.SecurityContext{
930+
RunAsNonRoot: ptr.Bool(true),
928931
AllowPrivilegeEscalation: ptr.Bool(true),
929932
SeccompProfile: &corev1.SeccompProfile{
930933
Type: corev1.SeccompProfileTypeRuntimeDefault,
@@ -938,6 +941,7 @@ func TestRevisionDefaulting(t *testing.T) {
938941
InitContainers: []corev1.Container{{
939942
Name: "special-init",
940943
SecurityContext: &corev1.SecurityContext{
944+
RunAsNonRoot: ptr.Bool(true),
941945
AllowPrivilegeEscalation: ptr.Bool(true),
942946
SeccompProfile: &corev1.SeccompProfile{
943947
Type: corev1.SeccompProfileTypeLocalhost,
@@ -1000,6 +1004,7 @@ func TestRevisionDefaulting(t *testing.T) {
10001004
ReadinessProbe: defaultProbe,
10011005
Resources: defaultResources,
10021006
SecurityContext: &corev1.SecurityContext{
1007+
RunAsNonRoot: ptr.Bool(true),
10031008
AllowPrivilegeEscalation: ptr.Bool(false),
10041009
Capabilities: &corev1.Capabilities{
10051010
Drop: []corev1.Capability{"ALL"},
@@ -1009,6 +1014,7 @@ func TestRevisionDefaulting(t *testing.T) {
10091014
InitContainers: []corev1.Container{{
10101015
Name: "init",
10111016
SecurityContext: &corev1.SecurityContext{
1017+
RunAsNonRoot: ptr.Bool(true),
10121018
AllowPrivilegeEscalation: ptr.Bool(false),
10131019
Capabilities: &corev1.Capabilities{
10141020
Drop: []corev1.Capability{"ALL"},

pkg/reconciler/revision/resources/queue.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,9 @@ var (
8686
Capabilities: &corev1.Capabilities{
8787
Drop: []corev1.Capability{"ALL"},
8888
},
89+
SeccompProfile: &corev1.SeccompProfile{
90+
Type: corev1.SeccompProfileTypeRuntimeDefault,
91+
},
8992
}
9093
)
9194

0 commit comments

Comments
 (0)