Skip to content
GitHubXDiscordRSS

PublicRepository

Learn how to create, update, and manage AWS ECR PublicRepositorys using Alchemy Cloud Control.

The PublicRepository resource allows you to manage AWS ECR PublicRepositorys for storing and sharing container images publicly.

Create a basic public repository with a name and repository policy.

import AWS from "alchemy/aws/control";
const publicRepository = await AWS.ECR.PublicRepository("myPublicRepo", {
repositoryName: "my-awesome-public-repo",
repositoryPolicyText: {
Version: "2012-10-17",
Statement: [{
Effect: "Allow",
Principal: { AWS: "*" },
Action: "ecr:BatchGetImage"
}]
}
});

Configure the public repository with additional catalog data and tags.

const advancedPublicRepository = await AWS.ECR.PublicRepository("myAdvancedPublicRepo", {
repositoryName: "my-advanced-public-repo",
repositoryPolicyText: {
Version: "2012-10-17",
Statement: [{
Effect: "Allow",
Principal: { AWS: "*" },
Action: ["ecr:BatchGetImage", "ecr:DescribeRepositories"]
}]
},
repositoryCatalogData: {
description: "This is my advanced public repository for container images.",
displayName: "Advanced Public Repo",
logoImageBlob: "base64EncodedImageString"
},
tags: [
{ Key: "Environment", Value: "Development" },
{ Key: "Project", Value: "ECRIntegration" }
]
});

Example with Adoption of Existing Resource

Section titled “Example with Adoption of Existing Resource”

Create a public repository while adopting an existing resource if it already exists.

const adoptedPublicRepository = await AWS.ECR.PublicRepository("myAdoptedRepo", {
repositoryName: "existing-public-repo",
adopt: true
});