A container registry that uses the AT Protocol for manifest storage and S3 for blob storage.
atcr.io
docker
container
atproto
go
1#!/usr/bin/env bash
2set -e
3goat account login -u evan.jarrett.net -p "${APP_PASSWORD}"
4TAG_HASH=$(git rev-parse "$TAG") &&
5TAG_BYTES=$(echo -n "$TAG_HASH" | xxd -r -p | base64 | tr -d '=') &&
6BLOB_OUTPUT=$(goat blob upload "$ARTIFACT_PATH") &&
7echo "$BLOB_OUTPUT" &&
8ARTIFACT_JSON=$(echo "$BLOB_OUTPUT" | jq --arg tag "$TAG_BYTES" --arg name "$ARTIFACT_NAME" --arg repo "$REPO_URL" --arg created "$(date -Iseconds)" '{
9 "tag": {"$bytes": $tag},
10 "name": $name,
11 "repo": $repo,
12 "$type": "sh.tangled.repo.artifact",
13 "artifact": .,
14 "createdAt": $created
15 }') &&
16echo "$ARTIFACT_JSON" > temp_artifact.json &&
17cat temp_artifact.json &&
18goat record create temp_artifact.json -n
19rm temp_artifact.json
20sleep 2