At this level
io.atcr · 3- io.atcr.hold.abortUpload procedure Cancel a multipart upload and cleanup any temporary data.
- io.atcr.hold.captain record Represents the hold's ownership and metadata. Stored as a singleton record at rkey 'self' in the hold's embedded PDS.
- io.atcr.hold.completeUpload procedure Finalize a multipart upload and move the assembled blob to its final location.
- io.atcr.hold.crew record Crew member in a hold's embedded PDS. Grants access permissions to push blobs to the hold. Stored in the hold's embedded PDS (one record per member).
- io.atcr.hold.deleteUserData procedure Delete all user data from this hold (GDPR compliance). Deletes crew record (if not captain), layer records, and stats records. Does NOT delete actual blob data from S3 - only PDS records.
- io.atcr.hold.exportUserData query Export all user data from this hold (GDPR compliance). Returns all records stored on this hold's PDS that reference the authenticated user's DID.
- io.atcr.hold.getLayersForManifest query Returns layer records for a specific manifest AT-URI.
- io.atcr.hold.getPartUploadUrl procedure Get a presigned URL or endpoint info for uploading a specific part of a multipart upload.
- io.atcr.hold.getQuota query Get storage quota information for a user. Calculates total unique blob storage by iterating layer records and deduplicating by digest.
- io.atcr.hold.initiateUpload procedure Start a new multipart upload session for an OCI blob. Returns an uploadId to be used with subsequent part upload and completion endpoints.
- io.atcr.hold.layer record Represents metadata about a container layer stored in the hold. Stored in the hold's embedded PDS for tracking and analytics.
- io.atcr.hold.listTiers query List the hold's available tiers with storage quotas (no pricing info).
- io.atcr.hold.notifyManifest procedure Notify hold about a manifest push or pull operation. For pushes: creates layer records and optionally posts to Bluesky. For pulls: just increments stats. Always increments pull/push counts.
- io.atcr.hold.requestCrew procedure Request crew membership for the hold. Authorization depends on the captain record: if allowAllCrew is true, any authenticated user can join; otherwise, only the owner can join.
- io.atcr.hold.scan record Vulnerability scan results for a container manifest. Stored in the hold's embedded PDS. Record key is deterministic: the manifest digest hex without the 'sha256:' prefix, so re-scans upsert the existing record.
- io.atcr.hold.stats record Repository statistics stored in the hold's embedded PDS. Tracks pull/push counts per owner+repository combination. Record key is deterministic: base32(sha256(ownerDID + "/" + repository)[:16]).
- io.atcr.hold.subscribeScanJobs subscription Subscribe to vulnerability scan jobs via WebSocket. Scanners connect to receive pending scan jobs and send back results. Authenticated via shared secret (query parameter or X-Scanner-Secret header).
- io.atcr.hold.updateCrewTier procedure Update a crew member's tier. Only accepts requests from the trusted appview.
- io.atcr.sailor.profile record User profile for ATCR registry. Stores preferences like default hold for blob storage.
- io.atcr.sailor.star record A star (like) on a container image repository. Stored in the starrer's PDS, similar to Bluesky likes. Subject is an AT URI pointing to the repo page record being starred.
- io.atcr.sailor.webhook record Public webhook metadata stored in the user's PDS. Links to a private io.atcr.hold.webhook record on the hold where URL and secret are stored. Part of a two-record split: this record is visible via ATProto (Jetstream), the hold record is not.