Docs

API Reference

Complete API reference for Alien Artifact Registry bindings.

createRepository

Creates a new container image repository.

const repo = await registry.createRepository(name: string): Promise<RepositoryResponse>
async fn create_repository(&self, repo_name: &str) -> Result<RepositoryResponse>
ParameterTypeRequiredDescription
namestringYesRepository name. Must be valid for all platforms.

Returns: RepositoryResponse — the uri may be undefined if the repository is still being created asynchronously.


getRepository

Gets information about an existing repository.

const repo = await registry.getRepository(repoId: string): Promise<RepositoryResponse>
async fn get_repository(&self, repo_id: &str) -> Result<RepositoryResponse>

deleteRepository

Deletes a repository and all its images.

await registry.deleteRepository(repoId: string): Promise<void>
async fn delete_repository(&self, repo_id: &str) -> Result<()>

generateCredentials

Generates temporary, scoped credentials for Docker push/pull operations.

const creds = await registry.generateCredentials(
  repoId: string,
  permissions: "pull" | "push-pull",
  ttlSeconds: number
): Promise<ArtifactRegistryCredentials>
async fn generate_credentials(
    &self,
    repo_id: &str,
    permissions: ArtifactRegistryPermissions,
    ttl_seconds: u64,
) -> Result<ArtifactRegistryCredentials>
ParameterTypeRequiredDescription
repoIdstringYesRepository identifier.
permissions"pull" | "push-pull"YesAccess level.
ttlSecondsnumberYesCredential lifetime in seconds.

Returns: ArtifactRegistryCredentials{ username, password, expiresAt? }


cleanupCredentials

Cleans up temporary credentials. Required on Azure (scope maps); no-op on other platforms.

await registry.cleanupCredentials(repoId: string): Promise<void>

addCrossAccountAccess

Grants another cloud account permission to access images. AWS and GCP only.

await registry.addCrossAccountAccess(
  repoId: string,
  access: CrossAccountAccess
): Promise<void>
async fn add_cross_account_access(
    &self,
    repo_id: &str,
    access: CrossAccountAccess,
) -> Result<()>

removeCrossAccountAccess

Revokes previously granted cross-account access.

await registry.removeCrossAccountAccess(
  repoId: string,
  access: CrossAccountAccess
): Promise<void>

getCrossAccountAccess

Returns current cross-account access configuration.

const perms = await registry.getCrossAccountAccess(repoId: string): Promise<CrossAccountPermissions>

Types

RepositoryResponse

interface RepositoryResponse {
  name: string
  uri?: string          // Image URI, undefined if still creating
  createdAt?: string    // ISO8601 timestamp
}

ArtifactRegistryCredentials

interface ArtifactRegistryCredentials {
  username: string
  password: string
  expiresAt?: string    // ISO8601 timestamp
}

CrossAccountAccess

type CrossAccountAccess =
  | {
      type: "aws"
      accountIds: string[]
      regions: string[]
      roleArns: string[]
      allowedServiceTypes: ("function")[]
    }
  | {
      type: "gcp"
      projectNumbers: string[]
      serviceAccountEmails: string[]
      allowedServiceTypes: ("function")[]
    }

CrossAccountPermissions

interface CrossAccountPermissions {
  access: CrossAccountAccess
  lastUpdated?: string
}

On this page