A container registry that uses the AT Protocol for manifest storage and S3 for blob storage. atcr.io
docker container atproto go
72
fork

Configure Feed

Select the types of activity you want to include in your feed.

add back formula into this repo

+66 -7
+5 -5
.goreleaser.yaml
··· 50 50 ids: 51 51 - credential-helper 52 52 repository: 53 - # DID-based owner keeps this stable across Tangled handle renames. 54 - # Replace TAP_REPO_DID with the did:plc of the tap repo once created. 55 - owner: 'did:plc:TAP_REPO_DID' 56 - name: homebrew-tap 53 + # Tap lives inside the main repo under Formula/. DID-based URL keeps 54 + # this stable across any future Tangled handle/domain rename. 55 + owner: 'did:plc:pddp4xt5lgnv2qsegbzzs4xg' 56 + name: at-container-registry 57 57 branch: main 58 58 git: 59 - url: 'git@knot1.tangled.sh:did:plc:TAP_REPO_DID/homebrew-tap' 59 + url: 'git@knot1.tangled.sh:did:plc:pddp4xt5lgnv2qsegbzzs4xg/at-container-registry' 60 60 private_key: '{{ .Env.TAP_SSH_KEY }}' 61 61 directory: Formula 62 62 url_template: "https://tangled.org/evan.jarrett.net/at-container-registry/tags/v{{ .Version }}/download/{{ .ArtifactName }}"
+59
Formula/docker-credential-atcr.rb
··· 1 + # typed: false 2 + # frozen_string_literal: true 3 + 4 + class DockerCredentialAtcr < Formula 5 + desc "Docker credential helper for ATCR (ATProto Container Registry)" 6 + homepage "https://atcr.io" 7 + version "0.1.2" 8 + license "MIT" 9 + 10 + on_macos do 11 + on_arm do 12 + url "https://tangled.org/evan.jarrett.net/at-container-registry/tags/v#{version}/download/docker-credential-atcr_#{version}_Darwin_arm64.tar.gz" 13 + sha256 "938f7de369c1a93f8275b91f238ae6ffca2f304f5bd236208b3398574c853b52" 14 + end 15 + on_intel do 16 + url "https://tangled.org/evan.jarrett.net/at-container-registry/tags/v#{version}/download/docker-credential-atcr_#{version}_Darwin_x86_64.tar.gz" 17 + sha256 "3ce955317f52b049ee6c6348c0f758d36a0ed4d52f60f96b20d68798b5830c88" 18 + end 19 + end 20 + 21 + on_linux do 22 + on_arm do 23 + url "https://tangled.org/evan.jarrett.net/at-container-registry/tags/v#{version}/download/docker-credential-atcr_#{version}_Linux_arm64.tar.gz" 24 + sha256 "be951a136a79be39935ff57f561cfc8f714fa6abfa1b0f81f9ef383e37e6278f" 25 + end 26 + on_intel do 27 + url "https://tangled.org/evan.jarrett.net/at-container-registry/tags/v#{version}/download/docker-credential-atcr_#{version}_Linux_x86_64.tar.gz" 28 + sha256 "08965d9177ab993c229e20c1c3a9675caa20bae795c57b37eb9c72127360d4c7" 29 + end 30 + end 31 + 32 + def install 33 + bin.install "docker-credential-atcr" 34 + end 35 + 36 + test do 37 + assert_match version.to_s, shell_output("#{bin}/docker-credential-atcr version 2>&1") 38 + end 39 + 40 + def caveats 41 + <<~EOS 42 + To finish setup, run: 43 + docker-credential-atcr configure-docker 44 + 45 + This writes the credential helper entry to ~/.docker/config.json. Or 46 + add manually: 47 + { 48 + "credHelpers": { 49 + "atcr.io": "atcr" 50 + } 51 + } 52 + 53 + Then push an image to trigger device authorization: 54 + docker push atcr.io/<your-handle>/<image>:latest 55 + 56 + Credentials live in ~/.atcr/device.json (0600). 57 + EOS 58 + end 59 + end
+2 -2
INSTALLATION.md
··· 40 40 ### Using Homebrew (macOS and Linux) 41 41 42 42 ```bash 43 - # Add the ATCR tap (hosted on Tangled, so pass the URL explicitly). 43 + # Add the ATCR tap (the main repo itself serves as the tap). 44 44 # DID-based URL is stable across any future handle rename. 45 - brew tap atcr/tap https://tangled.org/did:plc:TAP_REPO_DID/homebrew-tap 45 + brew tap atcr/tap https://tangled.org/did:plc:pddp4xt5lgnv2qsegbzzs4xg/at-container-registry 46 46 47 47 # Install the credential helper 48 48 brew install docker-credential-atcr