Answer architecture round 2: 0 🔴, 0 🟡; tie the token choice to the account type, and keep GHCR's reason in the registry decision
This commit is contained in:
@@ -1284,8 +1284,9 @@ binaries and packages, pushes the image to GHCR and copies it to Docker Hub, upd
|
|||||||
Homebrew tap and the Scoop bucket, and deploys the apt, dnf and apk repositories to GitHub
|
Homebrew tap and the Scoop bucket, and deploys the apt, dnf and apk repositories to GitHub
|
||||||
Pages. The workflow reads these repository secrets:
|
Pages. The workflow reads these repository secrets:
|
||||||
|
|
||||||
- `DOCKERHUB_TOKEN`: a Docker Hub access token with Read & Write and no Delete, or an
|
- `DOCKERHUB_TOKEN`: where `larvit` is a Docker Hub organization, an organization token
|
||||||
organization token that can push only to `larvit/fejkdata`. The repository variable
|
that can push only to `larvit/fejkdata`; otherwise a personal token with Read & Write and
|
||||||
|
no Delete, which reaches every repository the account can write. The repository variable
|
||||||
`DOCKERHUB_USERNAME` names its account.
|
`DOCKERHUB_USERNAME` names its account.
|
||||||
- `PACKAGES_GPG_KEY`, `PACKAGES_RSA_KEY`: the private keys that sign the repositories.
|
- `PACKAGES_GPG_KEY`, `PACKAGES_RSA_KEY`: the private keys that sign the repositories.
|
||||||
- `TAP_GITHUB_TOKEN`: a token that can push to `larvit/homebrew-tap` and
|
- `TAP_GITHUB_TOKEN`: a token that can push to `larvit/homebrew-tap` and
|
||||||
|
|||||||
+7
-5
@@ -982,8 +982,10 @@ Valid while GitHub hosts the code.
|
|||||||
2026-10-14, decided by the maintainer. Serves goal 1.1; technical principle: prefer the
|
2026-10-14, decided by the maintainer. Serves goal 1.1; technical principle: prefer the
|
||||||
vendor-neutral option (`~/.claude/principles/technical-principles.md`). Docker Hub is
|
vendor-neutral option (`~/.claude/principles/technical-principles.md`). Docker Hub is
|
||||||
Docker's default registry, so `docker run larvit/fejkdata` works with no host in the name;
|
Docker's default registry, so `docker run larvit/fejkdata` works with no host in the name;
|
||||||
that is a capability only Docker Hub has. GHCR stays the image's source: GoReleaser pushes
|
that is a capability only Docker Hub has. GHCR stays the image's source, and adds no
|
||||||
there, and a job of its own copies the image to Docker Hub, so a Docker Hub failure holds up
|
vendor while GitHub hosts the code; being OCI, the image moves to another registry by a
|
||||||
no other channel. GHCR also serves CI on shared runners, which Docker Hub's per-IP limit on
|
change of path. GoReleaser pushes there, and a job of its own copies the image to Docker
|
||||||
anonymous pulls blocks. Leaving Docker Hub costs each user an edit of every `docker run` line
|
Hub, so a Docker Hub failure holds up no other channel. GHCR also serves CI on shared
|
||||||
and pinned script that names the bare `larvit/fejkdata`.
|
runners, which Docker Hub's per-IP limit on anonymous pulls blocks. Leaving Docker Hub
|
||||||
|
costs each user an edit of every `docker run` line and pinned script that names the bare
|
||||||
|
`larvit/fejkdata`.
|
||||||
Reference in New Issue
Block a user