| File: ApplicationModel\IContainerRegistry.cs | Web Access |
| Project: src\src\Aspire.Hosting\Aspire.Hosting.csproj (Aspire.Hosting) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Aspire.Hosting.ApplicationModel; /// <summary> /// Represents container registry information for deployment targets. /// </summary> public interface IContainerRegistry { /// <summary> /// Gets the name of the container registry. /// </summary> ReferenceExpression Name { get; } /// <summary> /// Gets the endpoint URL of the container registry. /// </summary> /// <remarks> /// An empty endpoint value indicates a local container registry where images are built and used locally /// without being pushed to a remote registry (e.g., Docker Compose scenarios). /// </remarks> ReferenceExpression Endpoint { get; } /// <summary> /// Gets the repository path within the container registry. /// </summary> /// <remarks> /// The repository represents the namespace or path segment that appears after the registry endpoint /// in a container image reference. For example: /// <list type="bullet"> /// <item><description>For Docker Hub (<c>docker.io</c>): typically a username like <c>captainsafia</c></description></item> /// <item><description>For GitHub Container Registry (<c>ghcr.io</c>): typically <c>username/reponame</c></description></item> /// <item><description>For Azure Container Registry: typically left empty as images are pushed directly to the registry</description></item> /// </list> /// When not <see langword="null"/>, the repository is combined with the image name to form the full /// image path: <c>{endpoint}/{repository}/{imageName}:{tag}</c>. /// When <see langword="null"/>, the image path is: <c>{endpoint}/{imageName}:{tag}</c>. /// </remarks> ReferenceExpression? Repository => null; }