Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@
"dev:host": "pnpm git-env && pnpm check-data && astro dev --host",
"start": "pnpm git-env && pnpm check-data && astro dev",
"start:host": "pnpm git-env && pnpm check-data && astro dev --host",
"build": "pnpm git-env && astro build",
"build:production": "pnpm git-env && astro build --mode production",
"build": "pnpm linkcheck && astro build",
"build:production": "pnpm linkcheck && astro build --mode production",
"preview": "astro preview",
"preview:host": "astro preview --host",
"astro": "pnpm git-env && astro",
Expand Down
2 changes: 1 addition & 1 deletion src/frontend/src/content/docs/architecture/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ DCP performs the following tasks:
- Creates and starts containers.
- Runs executables with the required arguments and environment variables.
- Monitors resources:
- Provides change notifications about objects managed within DCP, including process IDs, running status, and exit codes (the AppHost subscribes to these changes to manage the [application's lifecycle](../app-host/eventing.md) effectively).
- Provides change notifications about objects managed within DCP, including process IDs, running status, and exit codes (the AppHost subscribes to these changes to manage the [application's lifecycle](/app-host/eventing/) effectively).
- Starts the developer dashboard.

Continuing from the diagram in the previous section, consider the following diagram that helps to visualize the responsibilities of DCP:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ Alternatively, these same values could be configured using a JSON configuration
| `ASPNETCORE_URLS`<br/>Default: `http://localhost:18888` | One or more HTTP endpoints through which the dashboard frontend is served. The frontend endpoint is used to view the dashboard in a browser. When the dashboard is launched by the Aspire AppHost this address is secured with HTTPS. Securing the dashboard with HTTPS is recommended. |
| `ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL`<br/>Default: `http://localhost:18889` | The [OTLP/gRPC](https://opentelemetry.io/docs/specs/otlp/#otlpgrpc) endpoint. This endpoint hosts an OTLP service and receives telemetry using gRPC. When the dashboard is launched by the Aspire AppHost this address is secured with HTTPS. Securing the dashboard with HTTPS is recommended. |
| `ASPIRE_DASHBOARD_OTLP_HTTP_ENDPOINT_URL`<br/>Default: `http://localhost:18890` | The [OTLP/HTTP](https://opentelemetry.io/docs/specs/otlp/#otlphttp) endpoint. This endpoint hosts an OTLP service and receives telemetry using Protobuf over HTTP. When the dashboard is launched by the Aspire AppHost the OTLP/HTTP endpoint isn't configured by default. To configure an OTLP/HTTP endpoint with the AppHost, set an `ASPIRE_DASHBOARD_OTLP_HTTP_ENDPOINT_URL` env var value in _launchSettings.json_. Securing the dashboard with HTTPS is recommended. |
| `ASPIRE_DASHBOARD_MCP_ENDPOINT_URL`<br/>Default: `http://localhost:18891` | The [Aspire MCP](mcp-server.md) endpoint. When this value isn't specified then the MCP server is hosted with an `ASPNETCORE_URLS` endpoint. The MCP server can be disabled by configuring `Dashboard:Mcp:Disabled` to `true`. When the dashboard is launched by the Aspire AppHost this address is secured with HTTPS. Securing the dashboard with HTTPS is recommended. |
| `ASPIRE_DASHBOARD_MCP_ENDPOINT_URL`<br/>Default: `http://localhost:18891` | The [Aspire MCP](/dashboard/mcp-server/) endpoint. When this value isn't specified then the MCP server is hosted with an `ASPNETCORE_URLS` endpoint. The MCP server can be disabled by configuring `Dashboard:Mcp:Disabled` to `true`. When the dashboard is launched by the Aspire AppHost this address is secured with HTTPS. Securing the dashboard with HTTPS is recommended. |
| `ASPIRE_DASHBOARD_UNSECURED_ALLOW_ANONYMOUS`<br/>Default: `false` | Configures the dashboard to not use authentication and accepts anonymous access. This setting is a shortcut to configuring `Dashboard:Frontend:AuthMode`, `Dashboard:Otlp:AuthMode` and `Dashboard:Mcp:AuthMode` to `Unsecured`. |
| `ASPIRE_DASHBOARD_CONFIG_FILE_PATH`<br/>Default: `null` | The path for a JSON configuration file. If the dashboard is being run in a Docker container, then this is the path to the configuration file in a mounted volume. This value is optional. |
| `ASPIRE_DASHBOARD_FILE_CONFIG_DIRECTORY`<br/>Default: `null` | The directory where the dashboard looks for key-per-file configuration. This value is optional. |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ This adds a new DbGate resource to the app host which is available from the Aspi
## See also

- [DbGate documentation](https://dbgate.org/)
- [Redis integration](redis.md)
- [Redis integration](/integrations/caching/redis/)
- [Aspire Community Toolkit](https://github.com/CommunityToolkit/Aspire)
- [Aspire integrations overview](overview.md)
- [Aspire integrations overview](/integrations/overview/)
- [Aspire GitHub repo](https://github.com/dotnet/aspire)
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ This module configures:
- An Azure Container Registry (ACR) for the ACA environment.
- A Log Analytics workspace for the ACA environment.
- An Azure Container Apps environment.
- The [ dashboard](../fundamentals/dashboard/overview.md) for the ACA environment.
- The [Aspire dashboard](/dashboard/overview/) for the ACA environment.
- A role assignment for the user principal ID to the ACA environment.
- Various outputs for the ACA environment.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -382,7 +382,7 @@ The migration service is created, but it needs to be added to the Aspire AppHost
> In the preceding code, the call to `AddDatabase` adds a representation of a SQL Server database to the Aspire application model with a connection string. It *doesn't* create a database in the SQL Server container. To ensure that the database is created, the sample project calls the EF Core `IDatabaseCreator.EnsureCreated` method from the support ticket API's `Program.cs` file.

> [!TIP]
> The code creates the SQL Server container each time it runs and applies migrations to it. Data doesn't persist across debugging sessions and any new database rows you create during testing will not survive an app restart. If you would prefer to persist this data, add a data volume to your container. For more information, see [Add SQL Server resource with data volume](sql-server-entity-framework-integration.md#add-sql-server-resource-with-data-volume).
> The code creates the SQL Server container each time it runs and applies migrations to it. Data doesn't persist across debugging sessions and any new database rows you create during testing will not survive an app restart. If you would prefer to persist this data, add a data volume to your container. For more information, see [Add SQL Server resource with data volume](/integrations/databases/sql-server/sql-server-host/#add-sql-server-resource-with-data-volume).

1. If the code cannot resolve the migration service project, add a reference to the migration service project in the AppHost project:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ builder.AddMySqlDbContext<MyDbContext>(connectionName: "mysqldb");
```

<Aside type="tip">
The `connectionName` parameter must match the name used when adding the MySQL database resource in the AppHost project. For more information, see [Add MySQL server and database resources](/integrations/databases/efcore/mysql/mysql-host/#add-mysql-server-and-database-resources).
The `connectionName` parameter must match the name used when adding the MySQL database resource in the AppHost project. For more information, see [Add MySQL server and database resources](/integrations/databases/mysql/mysql-host/#add-mysql-server-resource-and-database-resource).
</Aside>

You can then retrieve the `MyDbContext` instance using dependency injection. For example, to retrieve the data source from an example service:
Expand All @@ -63,7 +63,7 @@ builder.Services.AddDbContext<ExampleDbContext>(options =>
```

<Aside type="note">
The connection string name that you pass to the `GetConnectionString` method must match the name used when adding the MySQL resource in the AppHost project. For more information, see [Add MySQL server and database resources](/integrations/databases/efcore/mysql/mysql-host/#add-mysql-server-and-database-resources).
The connection string name that you pass to the `GetConnectionString` method must match the name used when adding the MySQL resource in the AppHost project. For more information, see [Add MySQL server and database resources](/integrations/databases/mysql/mysql-host/#add-mysql-server-resource-and-database-resource).
</Aside>

You have more flexibility when you create the database context in this way, for example:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ Now that you have an Aspire app with MySQL Pomelo EF Core integrations up and ru
<LinkCard
title="Understand the MySQL hosting integration"
description="Discover how to configure data volumes, phpMyAdmin, and more."
href="/integrations/databases/efcore/mysql/mysql-host/"
href="/integrations/databases/mysql/mysql-host/"
/>
<LinkCard
title="Understand the MySQL client integration"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ builder.AddSqlServerDbContext<ExampleDbContext>(
```

> [!TIP]
> For more information about SQL Server hosting and client integrations, see [Aspire SQL Server Entity Framework Core integration](sql-server-entity-framework-integration.md).
> For more information about SQL Server hosting and client integrations, see [Aspire SQL Server Entity Framework Core integration](/integrations/databases/efcore/sql-server/sql-server-get-started/).

</Pivot>
<Pivot id="postgresql-ef">
Expand All @@ -195,7 +195,7 @@ builder.AddNpgsqlDbContext<ExampleDbContext>(
```

> [!TIP]
> For more information about PostgreSQL hosting and client integrations, see [Aspire PostgreSQL Entity Framework Core integration](postgresql-entity-framework-integration.md).
> For more information about PostgreSQL hosting and client integrations, see [Aspire PostgreSQL Entity Framework Core integration](/integrations/databases/efcore/postgres/postgresql-get-started/).

</Pivot>
<Pivot id="oracle-ef">
Expand All @@ -206,7 +206,7 @@ builder.AddOracleDatabaseDbContext<ExampleDbContext>(
```

> [!TIP]
> For more information about Oracle Database hosting and client integrations, see [Aspire Oracle Entity Framework Core integration](oracle-entity-framework-integration.md).
> For more information about Oracle Database hosting and client integrations, see [Aspire Oracle Entity Framework Core integration](/integrations/databases/efcore/oracle/oracle-get-started/).

</Pivot>
<Pivot id="mysql-ef">
Expand All @@ -217,7 +217,7 @@ builder.AddMySqlDbContext<ExampleDbContext>(
```

> [!TIP]
> For more information about MySQL hosting and client integrations, see [Aspire Pomelo MySQL Entity Framework Core integration](mysql-entity-framework-integration.md).
> For more information about MySQL hosting and client integrations, see [Aspire Pomelo MySQL Entity Framework Core integration](/integrations/databases/efcore/mysql/mysql-get-started/).

</Pivot>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import mysqlIcon from '@assets/icons/mysqlconnector-icon.png';
data-zoom-off
/>

To get started with the Aspire MySQL integrations, follow the [Get started with MySQL integrations](/integrations/databases/mysql/mysql-get-started/) guide. If you prefer to use Entity Framework Core (EF Core) to interact with your MySQL database, see the [Get started with MySQL and EF Core](/integrations/databases/efcore/mysql/mysql-efcore-get-started/) guide.
To get started with the Aspire MySQL integrations, follow the [Get started with MySQL integrations](/integrations/databases/mysql/mysql-get-started/) guide. If you prefer to use Entity Framework Core (EF Core) to interact with your MySQL database, see the [Get started with MySQL and EF Core](/integrations/databases/efcore/mysql/mysql-get-started/) guide.

This article includes full details about the Aspire MySQL Hosting integration, which models the server as the `MySqlServerResource` type and the database as the `MySqlDatabaseResource` type. To access these types and APIs, you need to install the MySQL Hosting integration in your AppHost project.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -348,7 +348,7 @@ The hosting integration relies on the [📦 AspNetCore.HealthChecks.Npgsql](http

The PostgreSQL hosting integration can be used with any application technology, not just .NET applications. When you use `WithReference` to reference a PostgreSQL resource, connection information is automatically injected as environment variables into the referencing application.

For applications that don't use the [client integration](#client-integration), you can access the connection information through environment variables. Here's an example of how to configure environment variables for a non-.NET application:
For applications that don't use the [client integration](/integrations/databases/postgres/postgres-client/), you can access the connection information through environment variables. Here's an example of how to configure environment variables for a non-.NET application:

```csharp title="C# — AppHost.cs"
var builder = DistributedApplication.CreateBuilder(args);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ builder.AddProject<Projects.ExampleProject>()

- [Adminer documentation](https://www.adminer.org/)
- [DbGate documentation](https://dbgate.org/)
- [PostgreSQL integration](postgresql.md)
- [PostgreSQL integration](/integrations/databases/postgres/postgres-host/)
- [Aspire Community Toolkit](https://github.com/CommunityToolkit/Aspire)
- [Aspire integrations overview](overview.md)
- [Aspire integrations overview](/integrations/overview/)
- [Aspire GitHub repo](https://github.com/dotnet/aspire)
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ builder.AddProject<Projects.ExampleProject>()

- [Adminer documentation](https://www.adminer.org/)
- [DbGate documentation](https://dbgate.org/)
- [SQL Server hosting integration](sql-server-host.md)
- [SQL Server hosting integration](/integrations/databases/sql-server/sql-server-host/)
- [Aspire Community Toolkit](https://github.com/CommunityToolkit/Aspire)
- [Aspire integrations overview](../overview.md)
- [Aspire integrations overview](/integrations/overview/)
- [Aspire GitHub repo](https://github.com/dotnet/aspire)
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ The SQL Server container is slow to start, so it's best to use a _persistent_ li

When Aspire adds a container image to the AppHost, as shown in the preceding example with the `mcr.microsoft.com/mssql/server` image, it creates a new SQL Server instance on your local machine. A reference to your SQL Server resource builder (the `sql` variable) is used to add a database. The database is named `database` and then added to the `ExampleProject`.

When adding a database resource to the app model, the database is created if it doesn't already exist. The creation of the database relies on the [AppHost eventing APIs](../../app-host/eventing.md), specifically `ResourceReadyEvent`. In other words, when the `sql` resource is _ready_, the event is raised and the database resource is created.
When adding a database resource to the app model, the database is created if it doesn't already exist. The creation of the database relies on the [AppHost eventing APIs](/app-host/eventing/), specifically `ResourceReadyEvent`. In other words, when the `sql` resource is _ready_, the event is raised and the database resource is created.

The SQL Server resource includes default credentials with a `username` of `sa` and a random `password` generated using the `CreateDefaultPasswordParameter` method.

Expand All @@ -72,7 +72,7 @@ The name of the parameter is `sql-password`, but really it's just formatting the
The `WithReference` method configures a connection in the `ExampleProject` named `database`.

<Aside type="tip">
If you'd rather connect to an existing SQL Server, call `AddConnectionString` instead. For more information, see [Reference existing resources](../../fundamentals/app-host-overview.md#reference-existing-resources).
If you'd rather connect to an existing SQL Server, call `AddConnectionString` instead. For more information, see [Reference existing resources](/get-started/resources/).
</Aside>

## Add SQL Server resource with database scripts
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -156,5 +156,5 @@ Both endpoints are configured in the `dab-config.json` file.
- [Data API Builder documentation](https://learn.microsoft.com/azure/data-api-builder/)
- [Data API Builder GitHub repository](https://github.com/Azure/data-api-builder)
- [Aspire Community Toolkit](https://github.com/CommunityToolkit/Aspire)
- [Aspire integrations overview](overview.md)
- [Aspire integrations overview](/integrations/overview/)
- [Aspire GitHub repo](https://github.com/dotnet/aspire)
Original file line number Diff line number Diff line change
Expand Up @@ -209,5 +209,5 @@ Where `<port>` is the port assigned to the flagd HTTP endpoint.
- [flagd documentation](https://flagd.dev)
- [OpenFeature documentation](https://openfeature.dev)
- [Aspire Community Toolkit](https://github.com/CommunityToolkit/Aspire)
- [Aspire integrations overview](overview.md)
- [Aspire integrations overview](/integrations/overview/)
- [Aspire GitHub repo](https://github.com/dotnet/aspire)
Original file line number Diff line number Diff line change
Expand Up @@ -163,5 +163,5 @@ public class EmailService
- [MailPit documentation](https://mailpit.axllent.org/)
- [MailPit GitHub repository](https://github.com/axllent/mailpit)
- [Aspire Community Toolkit](https://github.com/CommunityToolkit/Aspire)
- [Aspire integrations overview](overview.md)
- [Aspire integrations overview](/integrations/overview/)
- [Aspire GitHub repo](https://github.com/dotnet/aspire)
Original file line number Diff line number Diff line change
Expand Up @@ -185,5 +185,5 @@ db1.AddSqlProject<Projects.Database1Project>("db1-project")
- [Microsoft.Build.Sql](https://www.nuget.org/packages/Microsoft.Build.Sql)
- [SQL Server Data Tools (SSDT)](https://learn.microsoft.com/sql/ssdt/sql-server-data-tools)
- [Aspire Community Toolkit](https://github.com/CommunityToolkit/Aspire)
- [Aspire integrations overview](overview.md)
- [Aspire integrations overview](/integrations/overview/)
- [Aspire GitHub repo](https://github.com/dotnet/aspire)
Original file line number Diff line number Diff line change
Expand Up @@ -117,5 +117,5 @@ The `workingDirectory` parameter specifies where the Bun application is located.

- [Bun documentation](https://bun.sh/docs)
- [Aspire Community Toolkit](https://github.com/CommunityToolkit/Aspire)
- [Aspire integrations overview](overview.md)
- [Aspire integrations overview](/integrations/overview/)
- [Aspire GitHub repo](https://github.com/dotnet/aspire)
Original file line number Diff line number Diff line change
Expand Up @@ -137,5 +137,5 @@ For more information on Dapr service invocation, see [Dapr service invocation](h
- [Dapr documentation](https://docs.dapr.io/)
- [Dapr .NET SDK](https://docs.dapr.io/developing-applications/sdks/dotnet/)
- [Aspire Community Toolkit](https://github.com/CommunityToolkit/Aspire)
- [Aspire integrations overview](overview.md)
- [Aspire integrations overview](/integrations/overview/)
- [Aspire GitHub repo](https://github.com/dotnet/aspire)
Original file line number Diff line number Diff line change
Expand Up @@ -136,5 +136,5 @@ The `workingDirectory` parameter specifies where the Deno application is located

- [Deno documentation](https://docs.deno.com/)
- [Aspire Community Toolkit](https://github.com/CommunityToolkit/Aspire)
- [Aspire integrations overview](overview.md)
- [Aspire integrations overview](/integrations/overview/)
- [Aspire GitHub repo](https://github.com/dotnet/aspire)
Original file line number Diff line number Diff line change
Expand Up @@ -99,5 +99,5 @@ The `workingDirectory` parameter specifies where the Go application is located.

- [Go documentation](https://go.dev/doc/)
- [Aspire Community Toolkit](https://github.com/CommunityToolkit/Aspire)
- [Aspire integrations overview](overview.md)
- [Aspire integrations overview](/integrations/overview/)
- [Aspire GitHub repo](https://github.com/dotnet/aspire)
Original file line number Diff line number Diff line change
Expand Up @@ -134,5 +134,5 @@ Make sure to download the OpenTelemetry Java agent and specify its path when cal
- [Spring Boot documentation](https://spring.io/projects/spring-boot)
- [OpenTelemetry Java](https://opentelemetry.io/docs/languages/java/)
- [Aspire Community Toolkit](https://github.com/CommunityToolkit/Aspire)
- [Aspire integrations overview](overview.md)
- [Aspire integrations overview](/integrations/overview/)
- [Aspire GitHub repo](https://github.com/dotnet/aspire)
Loading
Loading