You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(progress): C3 manifest push verified end-to-end via ttl.sh
Pushed manifest list to ttl.sh (HTTPS anonymous registry); curl
confirms a valid OCI image index with linux/amd64 + linux/arm64/v8
landed. v0.3.0 closeout now 5/5 done.
Copy file name to clipboardExpand all lines: PROGRESS.md
+4-5Lines changed: 4 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,11 +3,10 @@
3
3
> Status: Complete | Date: 2026-05-05
4
4
5
5
## Completion Summary
6
-
-**Completed**: 4 / 5 tasks (C1, C2, C4, C5)
7
-
-**Blocked**: 1 (C3 — TLS-only registry push, environmental constraint, not a code bug)
6
+
-**Completed**: 5 / 5 tasks (C1, C2, C3, C4, C5)
8
7
-**Tests**: 65/65 passing
9
8
-**Tiers executed**: 3
10
-
-**Live verification**: `manifest create`, `inspect`, `add`, `rm`, `annotate`, multi-platform `build`all confirmed end-to-end on local Apple `container` store
9
+
-**Live verification**: `manifest create`, `inspect`, `add`, `rm`, `annotate`, multi-platform `build`, and `manifest push` (verified against ttl.sh HTTPS registry — real multi-arch index landed) all confirmed end-to-end
11
10
12
11
## Objective
13
12
v0.3.0 multi-arch core (T1-T6) shipped, but #9 has a missing subcommand (`annotate`),
@@ -28,7 +27,7 @@ shipping and writing release notes.
28
27
### Tier 1 (depends on C2)
29
28
| ID | Task | Risk | Depends On | Files | Status |
| C3 | Live-test `manifest push` end-to-end against a local registry running on Apple `container`| high | — (test only) |blocked|
30
+
| C3 | Live-test `manifest push` end-to-end against a local registry running on Apple `container`| high | — (test only) |done|
32
31
| C4 | Live-test multi-platform `mocker build --platform a --platform b` (T4 had no real build verification) | medium | — (test only) | done |
33
32
34
33
### Tier 2 (depends on Tier 1)
@@ -60,7 +59,7 @@ shipping and writing release notes.
60
59
-**Definition**: Start a local OCI registry via `container run -d -p 5000:5000 docker.io/library/registry:2`. Tag an existing manifest list to point at the local registry (`mocker tag test-merged:v1 localhost:5000/test-merged:v1`). Run `mocker manifest push localhost:5000/test-merged:v1`. Verify by curl-ing the registry's manifest endpoint and asserting the returned JSON has `mediaType=application/vnd.oci.image.index.v1+json` with both `linux/amd64` and `linux/arm64` entries. Tear down the registry container after.
61
60
-**Test**: `curl -s http://localhost:5000/v2/test-merged/manifests/v1 -H 'Accept: application/vnd.oci.image.index.v1+json'` returns a valid index with ≥2 platform manifests.
-**Status**: blocked — Apple's Containerization push path enforces TLS and rejects plain-HTTP registries (`-9836: bad protocol version`). Registry started successfully on 192.168.64.3:5000, mocker push fails on TLS handshake. The push code path itself is identical to existing `mocker push` plumbing (`imageStore.push(reference:platform:nil)`); E2E verification deferred until an HTTPS-capable test registry or insecure-registry support is wired.
62
+
-**Status**: done — pushed to ttl.sh (HTTPS, anonymous). Local plain-HTTP registry was blocked by Containerization's TLS-only transport (`-9836: bad protocol version`), but ttl.sh provided an HTTPS endpoint. `curl -H 'Accept: application/vnd.oci.image.index.v1+json' https://ttl.sh/v2/<repo>/manifests/<tag>` returned a valid OCI image index with `linux/amd64` + `linux/arm64/v8` descriptors and `mediaType=application/vnd.oci.image.index.v1+json`. End-to-end push verified.
0 commit comments