Skip to content

Commit b195df7

Browse files
stubbiclaude
andcommitted
test: pin explicit image tags in fixtures for the new image CEL rule
The new spec.image XValidation requires a non-floating tag or a digest and the previous +kubebuilder:default="latest" on ImageSpec.Tag was removed. Fixtures that relied on the default (no tag) or used tag: latest are now rejected by the API server. Pin explicit non-latest tags so envtest/e2e/ conformance fixtures comply with the rule without weakening it. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 02187e3 commit b195df7

11 files changed

Lines changed: 39 additions & 33 deletions

internal/controller/hermesinstance_controller_test.go

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,12 @@ var _ = Describe("HermesInstance controller", func() {
123123

124124
inst := &hermesv1.HermesInstance{
125125
ObjectMeta: metav1.ObjectMeta{Name: name, Namespace: namespace},
126+
Spec: hermesv1.HermesInstanceSpec{
127+
Image: hermesv1.ImageSpec{
128+
Repository: "ghcr.io/paperclipinc/hermes-agent",
129+
Tag: "v1.0.0",
130+
},
131+
},
126132
}
127133
Expect(k8sClient.Create(ctx, inst)).To(Succeed())
128134

@@ -285,7 +291,7 @@ var _ = Describe("HermesInstance reconciler: gateways", func() {
285291
inst := &hermesv1.HermesInstance{
286292
ObjectMeta: metav1.ObjectMeta{Name: instName, Namespace: ns},
287293
Spec: hermesv1.HermesInstanceSpec{
288-
Image: hermesv1.ImageSpec{Repository: "ghcr.io/paperclipinc/hermes-agent"},
294+
Image: hermesv1.ImageSpec{Repository: "ghcr.io/paperclipinc/hermes-agent", Tag: "v1.0.0"},
289295
Storage: hermesv1.StorageSpec{Persistence: hermesv1.PersistenceSpec{Size: "1Gi"}},
290296
Gateways: hermesv1.GatewaysSpec{
291297
Telegram: hermesv1.TelegramGatewaySpec{
@@ -334,7 +340,7 @@ var _ = Describe("HermesInstance reconciler: gateways", func() {
334340
inst := &hermesv1.HermesInstance{
335341
ObjectMeta: metav1.ObjectMeta{Name: instName, Namespace: ns},
336342
Spec: hermesv1.HermesInstanceSpec{
337-
Image: hermesv1.ImageSpec{Repository: "ghcr.io/paperclipinc/hermes-agent"},
343+
Image: hermesv1.ImageSpec{Repository: "ghcr.io/paperclipinc/hermes-agent", Tag: "v1.0.0"},
338344
Storage: hermesv1.StorageSpec{Persistence: hermesv1.PersistenceSpec{Size: "1Gi"}},
339345
Gateways: hermesv1.GatewaysSpec{
340346
Telegram: hermesv1.TelegramGatewaySpec{
@@ -400,7 +406,7 @@ var _ = Describe("HermesInstance reconciler: Honcho profile store", func() {
400406
inst := &hermesv1.HermesInstance{
401407
ObjectMeta: metav1.ObjectMeta{Name: instName, Namespace: ns},
402408
Spec: hermesv1.HermesInstanceSpec{
403-
Image: hermesv1.ImageSpec{Repository: "ghcr.io/paperclipinc/hermes-agent"},
409+
Image: hermesv1.ImageSpec{Repository: "ghcr.io/paperclipinc/hermes-agent", Tag: "v1.0.0"},
404410
Storage: hermesv1.StorageSpec{Persistence: hermesv1.PersistenceSpec{Size: "1Gi"}},
405411
ProfileStore: hermesv1.ProfileStoreSpec{
406412
Honcho: hermesv1.HonchoSpec{
@@ -443,7 +449,7 @@ var _ = Describe("HermesInstance reconciler: Honcho profile store", func() {
443449
inst := &hermesv1.HermesInstance{
444450
ObjectMeta: metav1.ObjectMeta{Name: instName, Namespace: ns},
445451
Spec: hermesv1.HermesInstanceSpec{
446-
Image: hermesv1.ImageSpec{Repository: "ghcr.io/paperclipinc/hermes-agent"},
452+
Image: hermesv1.ImageSpec{Repository: "ghcr.io/paperclipinc/hermes-agent", Tag: "v1.0.0"},
447453
Storage: hermesv1.StorageSpec{Persistence: hermesv1.PersistenceSpec{Size: "1Gi"}},
448454
ProfileStore: hermesv1.ProfileStoreSpec{
449455
Honcho: hermesv1.HonchoSpec{
@@ -505,7 +511,7 @@ var _ = Describe("HermesInstance reconciler: idempotency canary (Plan 3 surface)
505511
inst := &hermesv1.HermesInstance{
506512
ObjectMeta: metav1.ObjectMeta{Name: instName, Namespace: ns},
507513
Spec: hermesv1.HermesInstanceSpec{
508-
Image: hermesv1.ImageSpec{Repository: "ghcr.io/paperclipinc/hermes-agent"},
514+
Image: hermesv1.ImageSpec{Repository: "ghcr.io/paperclipinc/hermes-agent", Tag: "v1.0.0"},
509515
Storage: hermesv1.StorageSpec{Persistence: hermesv1.PersistenceSpec{Size: "1Gi"}},
510516
Runtime: hermesv1.RuntimeSpec{
511517
UV: hermesv1.UVSpec{Enabled: Ptr(true)},

test/conformance/negative_test.go

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ metadata:
3434
spec:
3535
image:
3636
repository: ghcr.io/paperclipinc/hermes-agent
37-
tag: latest
37+
tag: "v1.0.0"
3838
storage:
3939
persistence:
4040
enabled: true
@@ -65,7 +65,7 @@ metadata:
6565
spec:
6666
image:
6767
repository: ""
68-
tag: latest
68+
tag: "v1.0.0"
6969
storage:
7070
persistence:
7171
enabled: true
@@ -84,7 +84,7 @@ metadata:
8484
spec:
8585
image:
8686
repository: ghcr.io/paperclipinc/hermes-agent
87-
tag: latest
87+
tag: "v1.0.0"
8888
storage:
8989
persistence:
9090
enabled: true
@@ -103,7 +103,7 @@ metadata:
103103
spec:
104104
image:
105105
repository: ghcr.io/paperclipinc/hermes-agent
106-
tag: latest
106+
tag: "v1.0.0"
107107
storage:
108108
persistence:
109109
enabled: true
@@ -126,7 +126,7 @@ metadata:
126126
spec:
127127
image:
128128
repository: ghcr.io/paperclipinc/hermes-agent
129-
tag: latest
129+
tag: "v1.0.0"
130130
storage:
131131
persistence:
132132
enabled: true
@@ -149,7 +149,7 @@ metadata:
149149
spec:
150150
image:
151151
repository: ghcr.io/paperclipinc/hermes-agent
152-
tag: latest
152+
tag: "v1.0.0"
153153
storage:
154154
persistence:
155155
enabled: true
@@ -174,7 +174,7 @@ metadata:
174174
spec:
175175
image:
176176
repository: ghcr.io/paperclipinc/hermes-agent
177-
tag: latest
177+
tag: "v1.0.0"
178178
storage:
179179
persistence:
180180
enabled: true
@@ -198,7 +198,7 @@ metadata:
198198
spec:
199199
image:
200200
repository: ghcr.io/paperclipinc/hermes-agent
201-
tag: latest
201+
tag: "v1.0.0"
202202
storage:
203203
persistence:
204204
enabled: true
@@ -222,7 +222,7 @@ metadata:
222222
spec:
223223
image:
224224
repository: ghcr.io/paperclipinc/hermes-agent
225-
tag: latest
225+
tag: "v1.0.0"
226226
storage:
227227
persistence:
228228
enabled: true
@@ -249,7 +249,7 @@ metadata:
249249
spec:
250250
image:
251251
repository: ghcr.io/paperclipinc/hermes-agent
252-
tag: latest
252+
tag: "v1.0.0"
253253
storage:
254254
persistence:
255255
enabled: true
@@ -282,7 +282,7 @@ metadata:
282282
spec:
283283
image:
284284
repository: ghcr.io/paperclipinc/hermes-agent
285-
tag: latest
285+
tag: "v1.0.0"
286286
storage:
287287
persistence:
288288
enabled: true
@@ -306,7 +306,7 @@ metadata:
306306
spec:
307307
image:
308308
repository: ghcr.io/paperclipinc/hermes-agent
309-
tag: latest
309+
tag: "v1.0.0"
310310
storage:
311311
persistence:
312312
enabled: true
@@ -320,7 +320,7 @@ metadata:
320320
spec:
321321
image:
322322
repository: ghcr.io/paperclipinc/hermes-agent
323-
tag: latest
323+
tag: "v1.0.0"
324324
storage:
325325
persistence:
326326
enabled: true
@@ -340,7 +340,7 @@ metadata:
340340
spec:
341341
image:
342342
repository: ghcr.io/paperclipinc/hermes-agent
343-
tag: latest
343+
tag: "v1.0.0"
344344
storage:
345345
persistence:
346346
enabled: true
@@ -362,7 +362,7 @@ metadata:
362362
spec:
363363
image:
364364
repository: ghcr.io/paperclipinc/hermes-agent
365-
tag: latest
365+
tag: "v1.0.0"
366366
storage:
367367
persistence:
368368
enabled: true
@@ -384,7 +384,7 @@ metadata:
384384
spec:
385385
image:
386386
repository: ghcr.io/paperclipinc/hermes-agent
387-
tag: latest
387+
tag: "v1.0.0"
388388
storage:
389389
persistence:
390390
enabled: true
@@ -406,7 +406,7 @@ metadata:
406406
spec:
407407
image:
408408
repository: ghcr.io/paperclipinc/hermes-agent
409-
tag: latest
409+
tag: "v1.0.0"
410410
storage:
411411
persistence:
412412
enabled: true
@@ -428,7 +428,7 @@ metadata:
428428
spec:
429429
image:
430430
repository: ghcr.io/paperclipinc/hermes-agent
431-
tag: latest
431+
tag: "v1.0.0"
432432
storage:
433433
persistence:
434434
enabled: true
@@ -452,7 +452,7 @@ metadata:
452452
spec:
453453
image:
454454
repository: ghcr.io/paperclipinc/hermes-agent
455-
tag: latest
455+
tag: "v1.0.0"
456456
storage:
457457
persistence:
458458
enabled: true

test/conformance/testdata/backup-enabled.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ metadata:
55
spec:
66
image:
77
repository: ghcr.io/paperclipinc/hermes-agent
8-
tag: latest
8+
tag: "v1.0.0"
99
storage:
1010
persistence:
1111
enabled: true

test/conformance/testdata/gateways-all.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ metadata:
55
spec:
66
image:
77
repository: ghcr.io/paperclipinc/hermes-agent
8-
tag: latest
8+
tag: "v1.0.0"
99
storage:
1010
persistence:
1111
enabled: true

test/conformance/testdata/minimal.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ metadata:
55
spec:
66
image:
77
repository: ghcr.io/paperclipinc/hermes-agent
8-
tag: latest
8+
tag: "v1.0.0"
99
storage:
1010
persistence:
1111
enabled: true

test/conformance/testdata/networking-ingress.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ metadata:
55
spec:
66
image:
77
repository: ghcr.io/paperclipinc/hermes-agent
8-
tag: latest
8+
tag: "v1.0.0"
99
storage:
1010
persistence:
1111
enabled: true

test/conformance/testdata/observability-full.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ metadata:
55
spec:
66
image:
77
repository: ghcr.io/paperclipinc/hermes-agent
8-
tag: latest
8+
tag: "v1.0.0"
99
storage:
1010
persistence:
1111
enabled: true

test/conformance/testdata/ollama-webterminal-tailscale.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ metadata:
55
spec:
66
image:
77
repository: ghcr.io/paperclipinc/hermes-agent
8-
tag: latest
8+
tag: "v1.0.0"
99
storage:
1010
persistence:
1111
enabled: true

test/conformance/testdata/profilestore-enabled.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ metadata:
55
spec:
66
image:
77
repository: ghcr.io/paperclipinc/hermes-agent
8-
tag: latest
8+
tag: "v1.0.0"
99
storage:
1010
persistence:
1111
enabled: true

test/conformance/testdata/selfconfig-enabled.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ metadata:
55
spec:
66
image:
77
repository: ghcr.io/paperclipinc/hermes-agent
8-
tag: latest
8+
tag: "v1.0.0"
99
storage:
1010
persistence:
1111
enabled: true

0 commit comments

Comments
 (0)