|
24 | 24 | multi-arch-encrypted \ |
25 | 25 | multi-arch-encrypted-cosign-sig \ |
26 | 26 | busybox \ |
| 27 | + imgrs-multi-arch-unsigned \ |
| 28 | + imgrs-multi-arch-cosign-signed \ |
| 29 | + imgrs-multi-arch-cosign-signed-key2 \ |
27 | 30 | setup-buildx \ |
28 | 31 | coco-keyprovider \ |
29 | 32 | all |
@@ -56,7 +59,10 @@ all: \ |
56 | 59 | multi-arch-cosign-sig \ |
57 | 60 | multi-arch-encrypted \ |
58 | 61 | multi-arch-encrypted-cosign-sig \ |
59 | | - busybox |
| 62 | + busybox \ |
| 63 | + imgrs-multi-arch-unsigned \ |
| 64 | + imgrs-multi-arch-cosign-signed \ |
| 65 | + imgrs-multi-arch-cosign-signed-key2 |
60 | 66 |
|
61 | 67 |
|
62 | 68 | # --------------------------------------------------------------------------- |
@@ -295,3 +301,114 @@ multi-arch-encrypted-cosign-sig: multi-arch-encrypted |
295 | 301 | @echo "==> Cosign-signing multi-arch-encrypted-cosign-sig" |
296 | 302 | ${CURDIR}/scripts/make-cosign-sig.sh $(COCO_PKG) multi-arch-encrypted-cosign-sig $(REGISTRY) |
297 | 303 | @echo "==> Done! Image: $(REGISTRY)/$(COCO_PKG):multi-arch-encrypted-cosign-sig" |
| 304 | + |
| 305 | + |
| 306 | +# --------------------------------------------------------------------------- |
| 307 | +# Multi-arch test-container-image-rs targets |
| 308 | +# |
| 309 | +# These produce multi-arch manifests under COCO_PKG_IMGRS for use by |
| 310 | +# kata-containers image-signature verification tests. |
| 311 | +# --------------------------------------------------------------------------- |
| 312 | + |
| 313 | +imgrs-multi-arch-unsigned: setup-buildx |
| 314 | + @echo "==> Building imgrs-multi-arch-unsigned for: $(PLATFORMS)" |
| 315 | + @for platform in $(PLATFORMS); do \ |
| 316 | + arch=$$(echo $$platform | cut -d/ -f2); \ |
| 317 | + per_arch_tag="$(REGISTRY)/$(COCO_PKG_IMGRS):unsigned-$$arch"; \ |
| 318 | + \ |
| 319 | + echo "==> [$$arch] Building image"; \ |
| 320 | + docker buildx build \ |
| 321 | + --platform "$$platform" \ |
| 322 | + --provenance=false \ |
| 323 | + -t "imgrs-unsigned:$$arch" \ |
| 324 | + --load \ |
| 325 | + -f dockerfiles/busybox/Dockerfile \ |
| 326 | + dockerfiles/busybox ; \ |
| 327 | + \ |
| 328 | + echo "==> [$$arch] Pushing image"; \ |
| 329 | + skopeo copy --insecure-policy --override-arch "$$arch" \ |
| 330 | + "docker-daemon:imgrs-unsigned:$$arch" \ |
| 331 | + "docker://$$per_arch_tag"; \ |
| 332 | + done |
| 333 | + @echo "==> Creating multi-arch manifest" |
| 334 | + @docker manifest rm $(REGISTRY)/$(COCO_PKG_IMGRS):unsigned 2>/dev/null || true |
| 335 | + @docker manifest create $(REGISTRY)/$(COCO_PKG_IMGRS):unsigned \ |
| 336 | + $(foreach p,$(PLATFORMS),$(REGISTRY)/$(COCO_PKG_IMGRS):unsigned-$(lastword $(subst /, ,$(p)))) |
| 337 | + @$(foreach p,$(PLATFORMS), \ |
| 338 | + docker manifest annotate $(REGISTRY)/$(COCO_PKG_IMGRS):unsigned \ |
| 339 | + $(REGISTRY)/$(COCO_PKG_IMGRS):unsigned-$(lastword $(subst /, ,$(p))) \ |
| 340 | + --os linux --arch $(lastword $(subst /, ,$(p))) ; \ |
| 341 | + ) |
| 342 | + @echo "==> Pushing multi-arch manifest" |
| 343 | + @docker manifest push $(REGISTRY)/$(COCO_PKG_IMGRS):unsigned |
| 344 | + @echo "==> Done! Image: $(REGISTRY)/$(COCO_PKG_IMGRS):unsigned" |
| 345 | + |
| 346 | +imgrs-multi-arch-cosign-signed: setup-buildx |
| 347 | + @echo "==> Building imgrs-multi-arch-cosign-signed for: $(PLATFORMS)" |
| 348 | + @for platform in $(PLATFORMS); do \ |
| 349 | + arch=$$(echo $$platform | cut -d/ -f2); \ |
| 350 | + per_arch_tag="$(REGISTRY)/$(COCO_PKG_IMGRS):cosign-signed-$$arch"; \ |
| 351 | + \ |
| 352 | + echo "==> [$$arch] Building image"; \ |
| 353 | + docker buildx build \ |
| 354 | + --platform "$$platform" \ |
| 355 | + --provenance=false \ |
| 356 | + -t "imgrs-cosign-signed:$$arch" \ |
| 357 | + --load \ |
| 358 | + -f dockerfiles/busybox/Dockerfile \ |
| 359 | + dockerfiles/busybox ; \ |
| 360 | + \ |
| 361 | + echo "==> [$$arch] Pushing image"; \ |
| 362 | + skopeo copy --insecure-policy --override-arch "$$arch" \ |
| 363 | + "docker-daemon:imgrs-cosign-signed:$$arch" \ |
| 364 | + "docker://$$per_arch_tag"; \ |
| 365 | + done |
| 366 | + @echo "==> Creating multi-arch manifest" |
| 367 | + @docker manifest rm $(REGISTRY)/$(COCO_PKG_IMGRS):cosign-signed 2>/dev/null || true |
| 368 | + @docker manifest create $(REGISTRY)/$(COCO_PKG_IMGRS):cosign-signed \ |
| 369 | + $(foreach p,$(PLATFORMS),$(REGISTRY)/$(COCO_PKG_IMGRS):cosign-signed-$(lastword $(subst /, ,$(p)))) |
| 370 | + @$(foreach p,$(PLATFORMS), \ |
| 371 | + docker manifest annotate $(REGISTRY)/$(COCO_PKG_IMGRS):cosign-signed \ |
| 372 | + $(REGISTRY)/$(COCO_PKG_IMGRS):cosign-signed-$(lastword $(subst /, ,$(p))) \ |
| 373 | + --os linux --arch $(lastword $(subst /, ,$(p))) ; \ |
| 374 | + ) |
| 375 | + @echo "==> Pushing multi-arch manifest" |
| 376 | + @docker manifest push $(REGISTRY)/$(COCO_PKG_IMGRS):cosign-signed |
| 377 | + @echo "==> Cosign-signing cosign-signed" |
| 378 | + ${CURDIR}/scripts/make-cosign-sig.sh $(COCO_PKG_IMGRS) cosign-signed $(REGISTRY) |
| 379 | + @echo "==> Done! Image: $(REGISTRY)/$(COCO_PKG_IMGRS):cosign-signed" |
| 380 | + |
| 381 | +imgrs-multi-arch-cosign-signed-key2: setup-buildx |
| 382 | + @echo "==> Building imgrs-multi-arch-cosign-signed-key2 for: $(PLATFORMS)" |
| 383 | + @for platform in $(PLATFORMS); do \ |
| 384 | + arch=$$(echo $$platform | cut -d/ -f2); \ |
| 385 | + per_arch_tag="$(REGISTRY)/$(COCO_PKG_IMGRS):cosign-signed-key2-$$arch"; \ |
| 386 | + \ |
| 387 | + echo "==> [$$arch] Building image"; \ |
| 388 | + docker buildx build \ |
| 389 | + --platform "$$platform" \ |
| 390 | + --provenance=false \ |
| 391 | + -t "imgrs-cosign-signed-key2:$$arch" \ |
| 392 | + --load \ |
| 393 | + -f dockerfiles/busybox/Dockerfile \ |
| 394 | + dockerfiles/busybox ; \ |
| 395 | + \ |
| 396 | + echo "==> [$$arch] Pushing image"; \ |
| 397 | + skopeo copy --insecure-policy --override-arch "$$arch" \ |
| 398 | + "docker-daemon:imgrs-cosign-signed-key2:$$arch" \ |
| 399 | + "docker://$$per_arch_tag"; \ |
| 400 | + done |
| 401 | + @echo "==> Creating multi-arch manifest" |
| 402 | + @docker manifest rm $(REGISTRY)/$(COCO_PKG_IMGRS):cosign-signed-key2 2>/dev/null || true |
| 403 | + @docker manifest create $(REGISTRY)/$(COCO_PKG_IMGRS):cosign-signed-key2 \ |
| 404 | + $(foreach p,$(PLATFORMS),$(REGISTRY)/$(COCO_PKG_IMGRS):cosign-signed-key2-$(lastword $(subst /, ,$(p)))) |
| 405 | + @$(foreach p,$(PLATFORMS), \ |
| 406 | + docker manifest annotate $(REGISTRY)/$(COCO_PKG_IMGRS):cosign-signed-key2 \ |
| 407 | + $(REGISTRY)/$(COCO_PKG_IMGRS):cosign-signed-key2-$(lastword $(subst /, ,$(p))) \ |
| 408 | + --os linux --arch $(lastword $(subst /, ,$(p))) ; \ |
| 409 | + ) |
| 410 | + @echo "==> Pushing multi-arch manifest" |
| 411 | + @docker manifest push $(REGISTRY)/$(COCO_PKG_IMGRS):cosign-signed-key2 |
| 412 | + @echo "==> Cosign-signing cosign-signed-key2 with key2" |
| 413 | + COSIGN_PASSWORD="$${COSIGN_PASSWORD_KEY2}" cosign sign --yes --key keys/sign/cosign2.key "$(REGISTRY)/$(COCO_PKG_IMGRS):cosign-signed-key2" |
| 414 | + @echo "==> Done! Image: $(REGISTRY)/$(COCO_PKG_IMGRS):cosign-signed-key2" |
0 commit comments