-
-
Notifications
You must be signed in to change notification settings - Fork 254
Improve bit Boilerplate aspire configuration (#11072) #11073
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the WalkthroughThe changes introduce an Aspire dashboard integration and management UIs for PostgreSQL and MySQL containers in the Boilerplate.Server.AppHost project. The Aspire SDK version is updated, a new extension method configures the dashboard and OpenTelemetry settings, and the main program is updated to add PgAdmin, PhpMyAdmin, and the dashboard. Changes
Sequence Diagram(s)sequenceDiagram
participant Program
participant Builder
participant Extensions
participant DashboardContainer
participant DatabaseContainers
Program->>Builder: Configure PostgreSQL, MySQL containers
Program->>Builder: Call AddAspireDashboard()
Builder->>Extensions: AddAspireDashboard extension method
Extensions->>DashboardContainer: Configure dashboard with HTTP endpoints
Extensions->>DatabaseContainers: Set OTEL env vars for telemetry to dashboard
Program->>Builder: Build and run application
Assessment against linked issues
Poem
✨ Finishing Touches🧪 Generate unit tests
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this 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 enhances the Boilerplate AppHost template by adding database admin UIs, integrating the Aspire dashboard, and updating the Aspire SDK version.
- Adds pgAdmin and phpMyAdmin containers for PostgreSQL and MySQL respectively
- Introduces
AddAspireDashboardextension to wire up OTLP endpoints - Bumps
Aspire.AppHost.Sdkfrom 9.0.0 to 9.3.0
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| src/Server/Boilerplate.Server.AppHost/Program.cs | Chains .WithPgAdmin() and .WithPhpMyAdmin(), adds builder.AddAspireDashboard() |
| src/Server/Boilerplate.Server.AppHost/Extensions/IDistributedApplicationBuilderExtensions.cs | Implements AddAspireDashboard extension method |
| src/Server/Boilerplate.Server.AppHost/Boilerplate.Server.AppHost.csproj | Updates Aspire.AppHost.Sdk version to 9.3.0 |
Comments suppressed due to low confidence (2)
src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.AppHost/Extensions/IDistributedApplicationBuilderExtensions.cs:7
- [nitpick] Per .NET conventions, rename the static extension class to DistributedApplicationBuilderExtensions (drop the leading 'I') to avoid confusing it with an interface.
public static class IDistributedApplicationBuilderExtensions
src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.AppHost/Program.cs:86
- Add unit or integration tests for
AddAspireDashboardto verify that the OTLP environment variables and dashboard wiring work as expected.
builder.AddAspireDashboard();
...src/Server/Boilerplate.Server.AppHost/Extensions/IDistributedApplicationBuilderExtensions.cs
Show resolved
Hide resolved
...src/Server/Boilerplate.Server.AppHost/Extensions/IDistributedApplicationBuilderExtensions.cs
Show resolved
Hide resolved
src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.AppHost/Program.cs
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
Knowledge Base: Disabled due to Reviews > Disable Knowledge Base setting
📒 Files selected for processing (3)
src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.AppHost/Boilerplate.Server.AppHost.csproj(1 hunks)src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.AppHost/Extensions/IDistributedApplicationBuilderExtensions.cs(1 hunks)src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.AppHost/Program.cs(3 hunks)
🧰 Additional context used
🧬 Code Graph Analysis (1)
src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.AppHost/Program.cs (1)
src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.AppHost/Extensions/IDistributedApplicationBuilderExtensions.cs (1)
AddAspireDashboard(12-44)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: build and test
🔇 Additional comments (5)
src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.AppHost/Boilerplate.Server.AppHost.csproj (1)
3-3: Confirmed stable release of Aspire.AppHost.Sdk v9.3.0Version 9.3.0 was officially released on May 19, 2025 and is a stable, non-preview package on NuGet. You can safely use it in your template.
• NuGet listing: https://www.nuget.org/packages/Aspire.AppHost.Sdk (v9.3.0)
• Note: v9.3.1 is the latest stable release (June 10, 2025) if you’d like to upgrade in the future.src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.AppHost/Program.cs (3)
17-17: LGTM: Good addition of PgAdmin management UI.The PgAdmin configuration with persistent lifetime and volume provides a useful database management interface for PostgreSQL development.
26-26: LGTM: Good addition of PhpMyAdmin management UI.The PhpMyAdmin configuration with persistent lifetime and volume provides a useful database management interface for MySQL development.
86-86: LGTM: Proper integration of Aspire dashboard.The dashboard integration is correctly placed before building the application and will enhance observability capabilities.
src/Templates/Boilerplate/Bit.Boilerplate/src/Server/Boilerplate.Server.AppHost/Extensions/IDistributedApplicationBuilderExtensions.cs (1)
21-42: LGTM: Excellent OpenTelemetry configuration logic.The event subscription logic correctly:
- Iterates through all resources with environment support
- Excludes the dashboard itself from OTLP configuration
- Sets appropriate OpenTelemetry environment variables
- Uses the dashboard's OTLP endpoint for telemetry export
The implementation follows Aspire patterns well.
closes #11072
Summary by CodeRabbit
New Features
Chores