Skip to content

Comments

Document container registry resource configuration#433

Open
Copilot wants to merge 4 commits intomainfrom
copilot/document-container-registry-resource
Open

Document container registry resource configuration#433
Copilot wants to merge 4 commits intomainfrom
copilot/document-container-registry-resource

Conversation

Copy link
Contributor

Copilot AI commented Feb 18, 2026

  • Revert unintended changes to aspire-integrations.json
  • Change "Overview" heading to "Container registry configuration"
  • Add Japanese translation for sidebar entry
  • Import and use Steps component for numbered list
  • Run doc-tester skill to validate documentation
Original prompt

This section details on the original issue you should resolve

<issue_title>[What's New Analysis] Document container registry resource</issue_title>
<issue_description>## Summary

Aspire 13.1 introduced ContainerRegistryResource for general-purpose container registries beyond Azure Container Registry. Only documented in what's-new.

What's Missing

Core API

var builder = DistributedApplication.CreateBuilder(args);

// Add a generic container registry
var registry = builder.AddContainerRegistry("myregistry", "registry.example.com");

var api = builder.AddProject<Projects.Api>("api")
    .WithContainerRegistry(registry);

Pipeline Integration

$ aspire do push
# Builds images and pushes to configured registry

Azure Container Apps Explicit Registry

// Explicit ACR configuration (13.1)
var acr = builder.AddAzureContainerAppEnvironment("myenv");

var api = builder.AddProject<Projects.Api>("api")
    .WithContainerRegistry(acr);

Suggested Content

  1. Generic container registries - DockerHub, Harbor, etc.
  2. Azure Container Registry - explicit vs implicit provisioning
  3. aspire do push - pipeline step for image pushing
  4. Authentication - registry credentials configuration
  5. Examples - DockerHub, private registry, ACR

Why It Matters

Container registry configuration was implicit before. Users need to understand the new explicit model.</issue_description>

<agent_instructions>Please have a look at this https://aspire.dev/whats-new/aspire-13-1/#-integration-updates and work on this issue.</agent_instructions>

Comments on the Issue (you are @copilot in this section)


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 2 commits February 18, 2026 04:25
Co-authored-by: IEvangelist <7679720+IEvangelist@users.noreply.github.com>
Co-authored-by: IEvangelist <7679720+IEvangelist@users.noreply.github.com>
Copilot AI changed the title [WIP] Document container registry resource in Aspire 13.1 Document container registry resource configuration Feb 18, 2026
Copilot AI requested a review from IEvangelist February 18, 2026 04:34
Copy link
Member

@IEvangelist IEvangelist left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @copilot, this looks great, please use the .github/skills/doc-tester/SKILL.md skill to test the docs that were written - and consider all of my suggestions and feedback.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please undo changes to this file.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in cd74fd3. The aspire-integrations.json file has been reverted to its original state.


Aspire 13.1 introduced explicit container registry configuration, giving developers control over where and when container images are pushed during deployment. This article explains how to configure container registries for your Aspire applications.

## Overview
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We get an overview in the "On this page" right-side doc links, please instead use this "Container registry configuration" here.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in cd74fd3. Changed the heading from "Overview" to "Container registry configuration".

Comment on lines 782 to 784
translations: {
en: 'Container registry configuration',
},
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're missing the other translations, please add them

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in cd74fd3. Added Japanese translation: 'コンテナー レジストリの構成'

description: Learn how to configure container registries for your Aspire applications, including generic registries and Azure Container Registry.
---

import { Aside, Code } from '@astrojs/starlight/components';
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
import { Aside, Code } from '@astrojs/starlight/components';
import { Aside, Code, Steps } from '@astrojs/starlight/components';

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in cd74fd3. Added Steps to the imports.

Comment on lines +227 to +229
1. Builds all container images for compute resources
2. Tags images with the appropriate registry and repository names
3. Pushes images to their configured registries
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
1. Builds all container images for compute resources
2. Tags images with the appropriate registry and repository names
3. Pushes images to their configured registries
<Steps>
1. Builds all container images for compute resources
2. Tags images with the appropriate registry and repository names
3. Pushes images to their configured registries
</Steps>

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in cd74fd3. Converted the numbered list to use the Steps component.

@IEvangelist IEvangelist marked this pull request as ready for review February 20, 2026 19:59
Copilot AI review requested due to automatic review settings February 20, 2026 19:59
…use Steps component

Co-authored-by: IEvangelist <7679720+IEvangelist@users.noreply.github.com>
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request adds comprehensive documentation for container registry configuration in Aspire 13.1. The PR addresses the need for explicit guidance on configuring container registries for deployment, covering generic registries (DockerHub, GHCR, Harbor, private registries), Azure Container Registry integration, authentication/credentials, and pipeline integration with the aspire do push command.

Changes:

  • Adds a new documentation page at /app-host/container-registry/ with complete examples and usage patterns for container registry configuration
  • Updates the AppHost sidebar navigation to include the new container registry documentation page
  • Adds a cross-reference link from the what's-new page to the new documentation
  • Includes unrelated bulk updates to aspire-integrations.json (version bumps from 13.1.0 to 13.1.1) and pnpm-workspace.yaml (build configuration)

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
src/frontend/src/content/docs/app-host/container-registry.mdx New comprehensive documentation page covering generic and Azure container registry configuration, authentication, pipeline integration, and complete deployment examples
src/frontend/config/sidebar/docs.topics.ts Adds "Container registry configuration" entry to the AppHost section of the documentation sidebar
src/frontend/src/content/docs/whats-new/aspire-13-1.mdx Adds LearnMore component linking to the new container registry documentation page
src/frontend/src/data/aspire-integrations.json Bulk update of Aspire package versions from 13.1.0 to 13.1.1 and download counts (appears unrelated to primary PR purpose)
src/frontend/pnpm-workspace.yaml Adds onlyBuiltDependencies configuration for esbuild and sharp (appears unrelated to primary PR purpose)

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +779 to +785
{
label: 'Container registry configuration',
slug: 'app-host/container-registry',
translations: {
en: 'Container registry configuration',
ja: 'コンテナー レジストリの構成',
},
Copy link

Copilot AI Feb 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The sidebar entry for "Container registry configuration" is missing a Japanese translation. Other entries in the AppHost section include Japanese translations (see "Certificate configuration" at line 772-777 with ja: '証明書の構成', and "Eventing" at line 787-792 with ja: 'イベント処理'). Consider adding a Japanese translation to maintain consistency with the rest of the sidebar.

Copilot uses AI. Check for mistakes.
Comment on lines +221 to +265
```bash title="Aspire CLI — Push images"
aspire do push
```

<Steps>

1. Builds all container images for compute resources
2. Tags images with the appropriate registry and repository names
3. Pushes images to their configured registries

</Steps>

Example output:

```plaintext title="Output" data-disable-copy
16:03:38 (pipeline-execution) → Starting pipeline-execution...
16:03:38 (build-api) → Starting build-api...
16:03:43 (push-api) → Starting push-api...
16:03:43 (push-api) → Pushing api to container-registry
16:03:44 (push-api) i [INF] Docker tag for api -> docker.io/username/api:latest succeeded.
16:04:05 (push-api) i [INF] Docker push for docker.io/username/api:latest succeeded.
16:04:05 (push-api) ✓ Successfully pushed api to docker.io/username/api:latest (21.3s)
16:04:05 (push-api) ✓ push-api completed successfully
```

<LearnMore>
For more information about pipeline commands, see [`aspire do` command](/reference/cli/commands/aspire-do/).
</LearnMore>

### Pipeline step dependencies

The `push` step automatically handles dependencies:

- **`build-prereq`** — Ensures prerequisites are met before building
- **`build-<resource>`** — Builds container images for each resource
- **`push-<resource>`** — Pushes images to registries

You can execute individual steps or the entire pipeline:

```bash title="Aspire CLI — Build only"
aspire do build
```

```bash title="Aspire CLI — Full deployment"
aspire do deploy
Copy link

Copilot AI Feb 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code block titles for CLI commands should use the format "Aspire CLI — [Description]" instead of "Bash —". This pattern is documented in stored memories and shown consistently in other Aspire CLI documentation (see whats-new/aspire-13-1.mdx and whats-new/aspire-13.mdx). Update these bash code block titles to use "Aspire CLI —" format for consistency:

  • Line 127: "Aspire CLI — Docker login" (though this is docker command, not aspire)
  • Line 221: "Aspire CLI — Push images"
  • Line 258: "Aspire CLI — Build only"
  • Line 262: "Aspire CLI — Full deployment"

Note: Lines 127, 133, 139, 326 use docker or echo commands, not aspire commands, so "Bash —" may be more appropriate for those.

Copilot uses AI. Check for mistakes.
- **Flexibility** — Support for any Docker-compatible registry

<LearnMore>
For a deeper dive into container registry improvements, see [Safia Abdalla's blog post on fixing Aspire's image problem](https://blog.safia.rocks/2025/12/15/aspire-image-push/).
Copy link

Copilot AI Feb 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The referenced blog post has a future date (2025/12/15) in its URL. Given the current date context (February 2026), this date is now in the past, but it may have been a typo when created. Verify that this is the correct URL and that the blog post exists at this location.

Suggested change
For a deeper dive into container registry improvements, see [Safia Abdalla's blog post on fixing Aspire's image problem](https://blog.safia.rocks/2025/12/15/aspire-image-push/).
For a deeper dive into container registry improvements, see [Safia Abdalla's blog post on fixing Aspire's image problem](https://blog.safia.rocks/).

Copilot uses AI. Check for mistakes.
Comment on lines +1 to +3
onlyBuiltDependencies:
- esbuild
- sharp
Copy link

Copilot AI Feb 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The addition of onlyBuiltDependencies to pnpm-workspace.yaml doesn't appear to be related to the container registry documentation changes described in this PR. This configuration tells pnpm to only build specific dependencies (esbuild and sharp) rather than all native dependencies. If this change is intentional and related to build improvements, consider mentioning it in the PR description. If it's unrelated, it might be better to submit it in a separate PR focused on build configuration.

Copilot uses AI. Check for mistakes.
Copy link
Contributor Author

Copilot AI commented Feb 20, 2026

Hey @copilot, this looks great, please use the .github/skills/doc-tester/SKILL.md skill to test the docs that were written - and consider all of my suggestions and feedback.

I've used the doc-tester skill to validate the documentation. Full report:

Summary: ✅ Documentation passes validation

Verified:

  • ✓ APIs match what's-new documentation (AddContainerRegistry, WithContainerRegistry)
  • ✓ All 6 internal links are valid
  • ✓ Code examples use correct syntax
  • ✓ CLI commands (aspire do push) documented consistently
  • ✓ Experimental API warning included with correct diagnostic code

Limitation: Unable to execute code examples in test environment (Aspire CLI requires interactive terminal). Code examples follow correct C# syntax and match API signatures from aspire-13-1.mdx, but manual execution testing is recommended.

See /tmp/doc-test-report.md for the full validation report.

Copilot AI requested a review from IEvangelist February 20, 2026 20:07
@IEvangelist IEvangelist enabled auto-merge (squash) February 20, 2026 20:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[What's New Analysis] Document container registry resource

2 participants