mirror of
https://tangled.org/evan.jarrett.net/at-container-registry
synced 2026-04-24 18:30:34 +00:00
55 lines
1.5 KiB
Ruby
55 lines
1.5 KiB
Ruby
# typed: false
|
|
# frozen_string_literal: true
|
|
|
|
class DockerCredentialAtcr < Formula
|
|
desc "Docker credential helper for ATCR (ATProto Container Registry)"
|
|
homepage "https://atcr.io"
|
|
url "https://github.com/atcr-io/atcr/archive/refs/tags/v0.0.1.tar.gz"
|
|
sha256 "REPLACE_WITH_TARBALL_SHA256"
|
|
license "MIT"
|
|
head "https://github.com/atcr-io/atcr.git", branch: "main"
|
|
|
|
depends_on "go" => :build
|
|
|
|
def install
|
|
# Build the credential helper binary
|
|
# Use ldflags to inject version information
|
|
ldflags = %W[
|
|
-s -w
|
|
-X main.version=#{version}
|
|
-X main.commit=#{tap.user}
|
|
-X main.date=#{time.iso8601}
|
|
]
|
|
|
|
system "go", "build", *std_go_args(ldflags:, output: bin/"docker-credential-atcr"), "./cmd/credential-helper"
|
|
end
|
|
|
|
test do
|
|
# Test that the binary exists and is executable
|
|
assert_match version.to_s, shell_output("#{bin}/docker-credential-atcr version 2>&1")
|
|
end
|
|
|
|
def caveats
|
|
<<~EOS
|
|
To configure Docker to use ATCR credential helper, add the following
|
|
to your ~/.docker/config.json:
|
|
|
|
{
|
|
"credHelpers": {
|
|
"atcr.io": "atcr"
|
|
}
|
|
}
|
|
|
|
Note: The credential helper name is "atcr" (Docker automatically prefixes
|
|
with "docker-credential-" when looking for the binary).
|
|
|
|
To authenticate with ATCR:
|
|
docker push atcr.io/<your-handle>/<image>:latest
|
|
|
|
This will open your browser to complete the OAuth device flow.
|
|
|
|
Configuration is stored in: ~/.atcr/device.json
|
|
EOS
|
|
end
|
|
end
|