Skip to content

Aspire Remote Containers beta 1#1

Merged
henrikhimself merged 25 commits into
mainfrom
develop
Mar 14, 2026
Merged

Aspire Remote Containers beta 1#1
henrikhimself merged 25 commits into
mainfrom
develop

Conversation

@henrikhimself
Copy link
Copy Markdown
Owner

No description provided.

Copilot AI review requested due to automatic review settings March 3, 2026 08:18
@github-advanced-security
Copy link
Copy Markdown

This pull request sets up GitHub code scanning for this repository. Once the scans have completed and the checks have passed, the analysis results for this pull request branch will appear on this overview. Once you merge this pull request, the 'Security' tab will show more code scanning analysis results (for example, for the default branch). Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results. For more information about GitHub code scanning, check out the documentation.

Copy link
Copy Markdown
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 PR introduces a new Aspire hosting extension package that enables automatic SSH port-forwarding when running container resources against a remote Docker engine (DOCKER_HOST=tcp://...), along with repo scaffolding for packaging, examples, CI/CD, and documentation.

Changes:

  • Adds RemoteContainers.Aspire library code for discovering container port mappings via Docker REST API and creating SSH local forwards automatically.
  • Introduces packaging/config infrastructure (central package versions, StyleCop/header rules, solution layout, license/readme).
  • Adds an example AppHost plus GitHub Actions workflows and Aspire MCP/reference documentation files.

Reviewed changes

Copilot reviewed 41 out of 42 changed files in this pull request and generated 16 comments.

Show a summary per file
File Description
stylecop.json Adds StyleCop settings file.
src/RemoteContainers.Aspire/SshTunnelManager.cs Implements SSH connection + local port forward lifecycle management.
src/RemoteContainers.Aspire/SshTunnelLifecycleHook.cs Hooks Aspire events to trigger tunnel setup after endpoints are allocated.
src/RemoteContainers.Aspire/SshTunnelExtensions.cs Adds AddSshTunneling() extension to register services and HTTP client.
src/RemoteContainers.Aspire/RemoteContainers.Aspire.csproj New packable library project for the extension.
src/RemoteContainers.Aspire/Models/ContainerPorts.cs Model for container ID + port mappings.
src/RemoteContainers.Aspire/DockerApiClient.cs Queries Docker REST API and polls for stable container port bindings; configures mTLS handler.
src/.editorconfig Enforces C# file header rules under src/.
global.json Pins .NET SDK for builds.
examples/Aspire.AppHost/appsettings.json Example configuration placeholders for SSH host/user.
examples/Aspire.AppHost/apphost.cs Example AppHost usage (builder.AddSshTunneling()).
examples/Aspire.AppHost/Properties/launchSettings.json Example environment variables for remote Docker API + TLS.
examples/Aspire.AppHost/Aspire.AppHost.csproj Example AppHost project referencing the library project.
examples/.editorconfig Example-only analyzer override.
RemoteContainers.slnx Solution layout including library + example.
README.md End-user documentation for setup, configuration, and behavior.
NuGet.config Restricts package sources/mapping.
LICENSE Switches repository license to Apache 2.0 text.
Directory.Packages.props Central package version management.
Directory.Build.targets Common MSBuild settings (namespace, nullable, package metadata).
Directory.Build.props Adds analyzer/StyleCop package references and StyleCop settings inclusion.
AGENTS.md Adds AI agent guidance for the repo.
.vscode/settings.json VS Code workspace defaults (solution, debug preferences).
.vscode/mcp.json Configures Aspire MCP server for VS Code.
.vscode/launch.json Adds Aspire launch configuration.
.vscode/extensions.json Recommends VS Code extensions.
.gitignore Adds standard Visual Studio/.NET ignores.
.github/workflows/ci.yml Adds CI build/test workflow.
.github/workflows/cd.yml Adds PR build + CodeQL workflow.
.github/skills/aspire/references/troubleshooting.md Adds Aspire reference documentation (troubleshooting).
.github/skills/aspire/references/testing.md Adds Aspire reference documentation (testing).
.github/skills/aspire/references/polyglot-apis.md Adds Aspire reference documentation (polyglot APIs).
.github/skills/aspire/references/mcp-server.md Adds Aspire reference documentation (MCP server).
.github/skills/aspire/references/integrations-catalog.md Adds Aspire reference documentation (integrations catalog).
.github/skills/aspire/references/deployment.md Adds Aspire reference documentation (deployment).
.github/skills/aspire/references/dashboard.md Adds Aspire reference documentation (dashboard).
.github/skills/aspire/references/cli-reference.md Adds Aspire reference documentation (CLI).
.github/skills/aspire/references/architecture.md Adds Aspire reference documentation (architecture).
.github/skills/aspire/SKILL.md Adds Aspire skill index and usage guidance for agents.
.github/dependabot.yml Enables Dependabot for NuGet and GitHub Actions.
.aspire/settings.json Points Aspire tooling at the example AppHost.

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

Comment thread src/RemoteContainers.Aspire/SshTunnelManager.cs Outdated
Comment thread Directory.Build.props Outdated
Comment thread Directory.Packages.props Outdated
Comment thread src/RemoteContainers.Aspire/SshTunnelExtensions.cs Outdated
Comment thread src/RemoteContainers.Aspire/DockerApiClient.cs Outdated
Comment thread src/RemoteContainers.Aspire/SshTunnelExtensions.cs Outdated
Comment thread examples/Aspire.AppHost/Properties/launchSettings.json Outdated
Comment thread .editorconfig Outdated
Comment thread .github/workflows/cd.yml Outdated
Comment thread Directory.Build.targets
Copy link
Copy Markdown
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

Copilot reviewed 41 out of 42 changed files in this pull request and generated 3 comments.


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

Comment thread src/RemoteContainers.Aspire/SshTunnelManager.cs Outdated
Comment thread .vscode/mcp.json Outdated
Comment thread README.md Outdated
Copy link
Copy Markdown
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

Copilot reviewed 43 out of 44 changed files in this pull request and generated 6 comments.


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

Comment thread src/RemoteContainers.Aspire/SshTunnelClient.cs Outdated
Comment thread src/RemoteContainers.Aspire/SshTunnelClient.cs
Comment thread src/RemoteContainers.Aspire/SshTunnelLifecycleHook.cs Outdated
Comment thread src/RemoteContainers.Aspire/AppConfiguration.cs Outdated
Comment thread src/RemoteContainers.Aspire/AppConfiguration.cs Outdated
Comment thread src/RemoteContainers.Aspire/SshTunnelManager.cs Outdated
henrikhimself and others added 4 commits March 8, 2026 14:15
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
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

Copilot reviewed 42 out of 43 changed files in this pull request and generated 5 comments.


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

Comment thread src/RemoteContainers.Aspire/SshTunnelClient.cs Outdated
Comment thread src/RemoteContainers.Aspire/DockerApiClient.cs Outdated
Comment thread src/RemoteContainers.Aspire/SshTunnelManager.cs Outdated
Comment thread src/RemoteContainers.Aspire/SshTunnelLifecycleHook.cs Outdated
Comment thread src/RemoteContainers.Aspire/SshTunnelClient.cs Outdated
Copy link
Copy Markdown
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

Copilot reviewed 43 out of 44 changed files in this pull request and generated 2 comments.


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

Comment thread src/RemoteContainers.Aspire/Docker/DockerApiClient.cs
Comment thread src/RemoteContainers.Aspire/Ssh/SshConnection.cs
@henrikhimself henrikhimself requested a review from Copilot March 11, 2026 07:33
Copy link
Copy Markdown
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

Copilot reviewed 52 out of 53 changed files in this pull request and generated 7 comments.


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

Comment thread test/RemoteContainers.Aspire.UnitTest/UnitTest1.cs Outdated
Comment thread src/RemoteContainers.Aspire/Ssh/SshTunnelManager.cs
Comment thread src/RemoteContainers.Aspire/Docker/DockerCertificate.cs
Comment thread src/RemoteContainers.Aspire/SshTunnelExtensions.cs Outdated
Comment thread src/RemoteContainers.Aspire/Ssh/SshTunnelManager.cs Outdated
Comment thread src/RemoteContainers.Aspire/Ssh/SshTunnelManager.cs
Comment thread src/RemoteContainers.Aspire/Docker/DockerCertificate.cs
Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 12, 2026

@henrikhimself I've opened a new pull request, #2, to work on those changes. Once the pull request is ready, I'll request review from you.

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 12, 2026

@henrikhimself I've opened a new pull request, #3, to work on those changes. Once the pull request is ready, I'll request review from you.

Copy link
Copy Markdown
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

Copilot reviewed 60 out of 61 changed files in this pull request and generated 3 comments.


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

You can also share your feedback on Copilot code review. Take the survey.

Comment thread src/RemoteContainers.Aspire/Ssh/SshTunnelManager.cs
Comment thread src/RemoteContainers.Aspire/Docker/DockerMessageHandler.cs
Comment thread .vscode/settings.json
Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 14, 2026

@henrikhimself I've opened a new pull request, #4, to work on those changes. Once the pull request is ready, I'll request review from you.

Copy link
Copy Markdown
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

Copilot reviewed 60 out of 61 changed files in this pull request and generated 6 comments.


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

You can also share your feedback on Copilot code review. Take the survey.

Comment thread README.md Outdated
Comment thread src/RemoteContainers.Aspire/Docker/DockerApiClient.cs Outdated
Comment thread src/RemoteContainers.Aspire/Docker/DockerApiClient.cs
Comment thread src/RemoteContainers.Aspire/Ssh/SshConnection.cs
Comment thread .github/workflows/ci.yml
Comment thread .github/workflows/cd.yml
Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 14, 2026

@henrikhimself I've opened a new pull request, #5, to work on those changes. Once the pull request is ready, I'll request review from you.

@henrikhimself henrikhimself merged commit 20d54ec into main Mar 14, 2026
3 checks passed
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.

4 participants