ContainerRegistryResourceBuilderExtensions Methods
Class Methods 3 members
Provides extension methods for adding container registry resources to the distributed application.
AddContainerRegistry(IDistributedApplicationBuilder, string, IResourceBuilder<ParameterResource>, IResourceBuilder<ParameterResource>) Section titled AddContainerRegistry(IDistributedApplicationBuilder, string, IResourceBuilder<ParameterResource>, IResourceBuilder<ParameterResource>) extension IResourceBuilder<ContainerRegistryResource> Adds a container registry resource to the application model with parameterized values.
public static class ContainerRegistryResourceBuilderExtensions{ public static IResourceBuilder<ContainerRegistryResource> AddContainerRegistry( this IDistributedApplicationBuilder builder, string name, IResourceBuilder<ParameterResource> endpoint, IResourceBuilder<ParameterResource>? repository = null) { // ... }}Parameters
builder IDistributedApplicationBuilder The distributed application builder. name string The name of the container registry resource. endpoint IResourceBuilder<ParameterResource> An ApplicationModel.IResourceBuilder`1 containing the registry endpoint URL or hostname. repository IResourceBuilder<ParameterResource> optional An optional ApplicationModel.IResourceBuilder`1 containing the repository path within the registry. Returns
IResourceBuilder<ContainerRegistryResource> An ApplicationModel.IResourceBuilder`1 for the container registry resource. Remarks
Use this method when the registry endpoint and repository values need to be provided dynamically via configuration or user input. The resource is only added to the application model in publish mode; in run mode, a resource builder is created without adding the resource to the model.
Examples
Add a container registry with parameterized values:
var endpointParameter = builder.AddParameter("registry-endpoint");var repositoryParameter = builder.AddParameter("registry-repo");var registry = builder.AddContainerRegistry("my-registry", endpointParameter, repositoryParameter);AddContainerRegistry(IDistributedApplicationBuilder, string, string, string?) Section titled AddContainerRegistry(IDistributedApplicationBuilder, string, string, string?) extension IResourceBuilder<ContainerRegistryResource> Adds a container registry resource to the application model with literal string values.
public static class ContainerRegistryResourceBuilderExtensions{ public static IResourceBuilder<ContainerRegistryResource> AddContainerRegistry( this IDistributedApplicationBuilder builder, string name, string endpoint, string? repository = null) { // ... }}Parameters
builder IDistributedApplicationBuilder The distributed application builder. name string The name of the container registry resource. endpoint string The registry endpoint URL or hostname (e.g., "docker.io", "ghcr.io"). repository string? optional The optional repository path within the registry (e.g., "myusername" for Docker Hub, "owner/repo" for GHCR). Returns
IResourceBuilder<ContainerRegistryResource> An ApplicationModel.IResourceBuilder`1 for the container registry resource. Remarks
Use this method when the registry endpoint and repository values are known at design time and do not need to be parameterized. The resource is only added to the application model in publish mode; in run mode, a resource builder is created without adding the resource to the model.
Examples
Add a Docker Hub container registry:
var registry = builder.AddContainerRegistry("docker-hub", "docker.io", "myusername");Add a GitHub Container Registry:
var registry = builder.AddContainerRegistry("ghcr", "ghcr.io", "owner/repo");WithContainerRegistry(IResourceBuilder<TDestination>, IResourceBuilder<TContainerRegistry>) Section titled WithContainerRegistry(IResourceBuilder<TDestination>, IResourceBuilder<TContainerRegistry>) extension IResourceBuilder<TDestination> Configures the resource to use the specified container registry for container image operations.
public static class ContainerRegistryResourceBuilderExtensions{ public static IResourceBuilder<TDestination> WithContainerRegistry<TDestination, TContainerRegistry>( this IResourceBuilder<TDestination> builder, IResourceBuilder<TContainerRegistry> registry) { // ... }}Parameters
builder IResourceBuilder<TDestination> The resource builder. registry IResourceBuilder<TContainerRegistry> The container registry resource builder. Returns
IResourceBuilder<TDestination> The resource builder for chaining. Remarks
This method adds a
ContainerRegistryReferenceAnnotation to the resource, indicating that the resource should use the specified container registry for container image operations. Examples
Configure a project to use a container registry:
var registry = builder.AddContainerRegistry("docker-hub", "docker.io", "myusername");var project = builder.AddProject<MyProject>("myproject") .WithContainerRegistry(registry);