From a697f817fe5ff3772a41fce0f65144af492d4f6a Mon Sep 17 00:00:00 2001 From: Odonno Date: Tue, 17 Sep 2024 20:59:34 +0200 Subject: [PATCH] feat: add surrealdb apphost integration --- docs/database/includes/surrealdb-app-host.md | 18 +++++++ docs/database/surrealdb-integration.md | 47 +++++++++++++++++++ docs/fundamentals/integrations-overview.md | 1 + docs/fundamentals/media/icons/surrealdb.png | Bin 0 -> 29381 bytes docs/toc.yml | 9 ++-- 5 files changed, 72 insertions(+), 3 deletions(-) create mode 100644 docs/database/includes/surrealdb-app-host.md create mode 100644 docs/database/surrealdb-integration.md create mode 100644 docs/fundamentals/media/icons/surrealdb.png diff --git a/docs/database/includes/surrealdb-app-host.md b/docs/database/includes/surrealdb-app-host.md new file mode 100644 index 0000000000..851dfa60f8 --- /dev/null +++ b/docs/database/includes/surrealdb-app-host.md @@ -0,0 +1,18 @@ +To model the SurrealDB resource in the app host, install the [Aspire.Hosting.SurrealDb](https://www.nuget.org/packages/Aspire.Hosting.SurrealDb) NuGet package in the [app host](xref:aspire/app-host) project. + +### [.NET CLI](#tab/dotnet-cli) + +```dotnetcli +dotnet add package Aspire.Hosting.SurrealDb +``` + +### [PackageReference](#tab/package-reference) + +```xml + +``` + +--- + +In your app host project, register a SurrealDb database and consume the connection using the following methods: diff --git a/docs/database/surrealdb-integration.md b/docs/database/surrealdb-integration.md new file mode 100644 index 0000000000..be39f8afb1 --- /dev/null +++ b/docs/database/surrealdb-integration.md @@ -0,0 +1,47 @@ +--- +title: .NET Aspire SurrealDB integration +description: This article describes the .NET Aspire SurrealDB integration. +ms.topic: how-to +ms.date: 09/17/2024 +--- + +# .NET Aspire SurrealDB integration + + + +## App host usage + +[!INCLUDE [surrealdb-app-host](includes/surrealdb-app-host.md)] + +```csharp +var builder = DistributedApplication.CreateBuilder(args); + +var surrealServer = builder.AddSurrealServer("surreal"); +var surrealDb = mysql.AddDatabase("mydb", "ns", "db"); + +var myService = builder.AddProject() + .WithReference(surrealDb); +``` + +When you want to explicitly provide a root password, you can provide it as a parameter. Consider the following alternative example: + +```csharp +var password = builder.AddParameter("password", secret: true); + +var surrealServer = builder.AddSurrealServer("surreal", password); +var surrealDb = mysql.AddDatabase("mydb", "ns", "db"); + +var myService = builder.AddProject() + .WithReference(surrealDb); +``` + +For more information, see [External parameters](../fundamentals/external-parameters.md). + + + +## See also + +- [SurrealDB database](https://surrealdb.com/) +- [.NET SDK documentation for SurrealDB](https://surrealdb.com/docs/sdk/dotnet) +- [.NET Aspire integrations](../fundamentals/integrations-overview.md) +- [.NET Aspire GitHub repo](https://github.com/dotnet/aspire) diff --git a/docs/fundamentals/integrations-overview.md b/docs/fundamentals/integrations-overview.md index a7d3a9b0fd..0951308a4c 100644 --- a/docs/fundamentals/integrations-overview.md +++ b/docs/fundamentals/integrations-overview.md @@ -61,6 +61,7 @@ The following table lists the .NET Aspire integrations currently available for u | [Seq](../logging/seq-integration.md)
Seq logo. | [Aspire.Seq](https://www.nuget.org/packages/Aspire.Seq) | A library for logging to [Seq](https://datalust.co/seq). | | [SQL Server Entity Framework Core](../database/sql-server-entity-framework-integration.md)
SQL logo. | [Aspire.Microsoft.EntityFrameworkCore.SqlServer](https://www.nuget.org/packages/Aspire.Microsoft.EntityFrameworkCore.SqlServer) | A library for accessing [SQL Server databases using Entity Framework Core](/ef/core/providers/sql-server/). | | [SQL Server](../database/sql-server-integration.md)
SQL logo. | [Aspire.Microsoft.Data.SqlClient](https://www.nuget.org/packages/Aspire.Microsoft.Data.SqlClient) | A library for accessing [SQL Server](/sql/sql-server/) databases. | +| [SurrealDB](../database/surrealdb-integration.md)
SurrealDB logo. | [Aspire.Hosting.SurrealDb](https://www.nuget.org/packages/Aspire.Hosting.SurrealDb) | A library for accessing [SurrealDB](https://surrealdb.com/) databases. | For more information on working with .NET Aspire integrations in Visual Studio, see [Visual Studio tooling](setup-tooling.md#visual-studio-tooling). diff --git a/docs/fundamentals/media/icons/surrealdb.png b/docs/fundamentals/media/icons/surrealdb.png new file mode 100644 index 0000000000000000000000000000000000000000..c0a97d2bbe06f019df9c60d37a889de2b2c30977 GIT binary patch literal 29381 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 QrT_o{07*qoM6N<$f(x%WmjD0& literal 0 HcmV?d00001 diff --git a/docs/toc.yml b/docs/toc.yml index 0ed54cc801..c3bef67728 100644 --- a/docs/toc.yml +++ b/docs/toc.yml @@ -208,6 +208,9 @@ items: href: caching/stackexchange-redis-distributed-caching-integration.md?pivots=valkey - name: Redis output caching (Valkey) href: caching/stackexchange-redis-output-caching-integration.md?pivots=valkey + - name: Seq + displayName: seq,logging + href: logging/seq-integration.md - name: SQL Server items: - name: SQL Database - EF Core @@ -216,9 +219,9 @@ items: - name: SQL Database displayName: sql server,sql database href: database/sql-server-integration.md - - name: Seq - displayName: seq,logging - href: logging/seq-integration.md + - name: SurrealDB + displayName: surrealdb,kv,document,graph,temporal + href: database/surrealdb-integration.md - name: Deployment items: