Aspire Remote Containers beta 1#1
Conversation
|
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. |
There was a problem hiding this comment.
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.Aspirelibrary 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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
|
@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. |
|
@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. |
There was a problem hiding this comment.
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.
|
@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. |
Co-authored-by: henrikhimself <1175002+henrikhimself@users.noreply.github.com>
There was a problem hiding this comment.
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.
|
@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. |
…on in DockerApiClient Co-authored-by: henrikhimself <1175002+henrikhimself@users.noreply.github.com>
No description provided.