@@ -20,6 +20,7 @@ import (
20
20
"encoding/json"
21
21
"fmt"
22
22
"os"
23
+ "os/exec"
23
24
"path/filepath"
24
25
"strconv"
25
26
"strings"
@@ -127,7 +128,7 @@ var _ = Describe("kubebuilder", func() {
127
128
srvVer .GitVersion ))
128
129
}
129
130
130
- GenerateV3 (kbc , "v1" , false )
131
+ GenerateV3 (kbc , "v1" )
131
132
Run (kbc )
132
133
})
133
134
It ("should generate a runnable project with the golang base plugin v3 and kustomize v4-alpha" , func () {
@@ -136,7 +137,7 @@ var _ = Describe("kubebuilder", func() {
136
137
Skip (fmt .Sprintf ("cluster version %s does not support v1 CRDs or webhooks" ,
137
138
srvVer .GitVersion ))
138
139
}
139
- GenerateV3WithKustomizeV2 (kbc , "v1" , false )
140
+ GenerateV3WithKustomizeV2 (kbc , "v1" )
140
141
Run (kbc )
141
142
})
142
143
It ("should generate a runnable project with v1beta1 CRDs and Webhooks" , func () {
@@ -148,7 +149,7 @@ var _ = Describe("kubebuilder", func() {
148
149
srvVer .GitVersion ))
149
150
}
150
151
151
- GenerateV3 (kbc , "v1beta1" , false )
152
+ GenerateV3 (kbc , "v1beta1" )
152
153
Run (kbc )
153
154
})
154
155
@@ -161,7 +162,8 @@ var _ = Describe("kubebuilder", func() {
161
162
"and securityContext.seccompProfile" , srvVer .GitVersion ))
162
163
}
163
164
164
- GenerateV3 (kbc , "v1" , true )
165
+ kbc .IsRestricted = true
166
+ GenerateV3 (kbc , "v1" )
165
167
Run (kbc )
166
168
})
167
169
It ("should generate a runnable project with the golang base plugin v3 and kustomize v4-alpha" +
@@ -174,7 +176,8 @@ var _ = Describe("kubebuilder", func() {
174
176
"and securityContext.seccompProfile" , srvVer .GitVersion ))
175
177
}
176
178
177
- GenerateV3WithKustomizeV2 (kbc , "v1" , true )
179
+ kbc .IsRestricted = true
180
+ GenerateV3WithKustomizeV2 (kbc , "v1" )
178
181
Run (kbc )
179
182
})
180
183
It ("should generate a runnable project with v1beta1 CRDs and Webhooks with restricted pods" , func () {
@@ -188,7 +191,8 @@ var _ = Describe("kubebuilder", func() {
188
191
"and securityContext.seccompProfile" , srvVer .GitVersion ))
189
192
}
190
193
191
- GenerateV3 (kbc , "v1beta1" , true )
194
+ kbc .IsRestricted = true
195
+ GenerateV3 (kbc , "v1beta1" )
192
196
Run (kbc )
193
197
})
194
198
})
@@ -200,6 +204,14 @@ func Run(kbc *utils.TestContext) {
200
204
var controllerPodName string
201
205
var err error
202
206
207
+ By ("creating manager namespace" )
208
+ err = kbc .CreateManagerNamespace ()
209
+ ExpectWithOffset (1 , err ).NotTo (HaveOccurred ())
210
+
211
+ By ("labeling all namespaces to warn about restricted" )
212
+ err = kbc .LabelAllNamespacesToWarnAboutRestricted ()
213
+ ExpectWithOffset (1 , err ).NotTo (HaveOccurred ())
214
+
203
215
By ("updating the go.mod" )
204
216
err = kbc .Tidy ()
205
217
ExpectWithOffset (1 , err ).NotTo (HaveOccurred ())
@@ -218,9 +230,16 @@ func Run(kbc *utils.TestContext) {
218
230
// --clusterrole=cluster-admin [email protected]
219
231
// https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control
220
232
By ("deploying the controller-manager" )
221
- err = kbc .Make ("deploy" , "IMG=" + kbc .ImageName )
233
+
234
+ cmd := exec .Command ("make" , "deploy" , "IMG=" + kbc .ImageName )
235
+ output , err := kbc .Run (cmd )
222
236
ExpectWithOffset (1 , err ).NotTo (HaveOccurred ())
223
237
238
+ if kbc .IsRestricted {
239
+ By ("validating that manager Pod/container(s) are restricted" )
240
+ ExpectWithOffset (1 , output ).NotTo (ContainSubstring ("Warning: would violate PodSecurity" ))
241
+ }
242
+
224
243
By ("validating that the controller-manager pod is running as expected" )
225
244
verifyControllerUp := func () error {
226
245
// Get pod name
0 commit comments