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>| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Repository 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>| Parameter | Type | Required | Description |
|---|---|---|---|
repoId | string | Yes | Repository identifier. |
permissions | "pull" | "push-pull" | Yes | Access level. |
ttlSeconds | number | Yes | Credential 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
}