diff --git a/Directory.Packages.props b/Directory.Packages.props
index 2a1ac7817..0f90a00c2 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -69,7 +69,7 @@
-
+
diff --git a/README.md b/README.md
index 8a308bf5d..fab71dfc6 100644
--- a/README.md
+++ b/README.md
@@ -39,7 +39,7 @@ This repository contains the source code for the Aspire Community Toolkit, a col
| - **Learn More**: [`Hosting.RavenDB`][ravendb-integration-docs]
- Stable 📦: [![CommunityToolkit.Aspire.Hosting.RavenDB][ravendb-shields]][ravendb-nuget]
- Preview 📦: [![CommunityToolkit.Aspire.Hosting.RavenDB][ravendb-shields-preview]][ravendb-nuget-preview] | An Aspire integration leveraging the [RavenDB](https://ravendb.net/) container. |
| - **Learn More**: [`RavenDB.Client`][ravendb-integration-docs]
- Stable 📦: [![CommunityToolkit.Aspire.RavenDB.Client][ravendb-client-shields]][ravendb-client-nuget]
- Preview 📦: [![CommunityToolkit.Aspire.RavenDB.Client][ravendb-client-shields-preview]][ravendb-client-nuget-preview] | An Aspire client integration for the [RavenDB.Client](https://www.nuget.org/packages/RavenDB.client) package. |
| - **Learn More**: [`Hosting.GoFeatureFlag`][go-feature-flag-integration-docs]
- Stable 📦: [![CommunityToolkit.Aspire.Hosting.GoFeatureFlag][go-feature-flag-shields]][go-feature-flag-nuget]
- Preview 📦: [![CommunityToolkit.Aspire.Hosting.GoFeatureFlag][go-feature-flag-shields-preview]][go-feature-flag-nuget-preview] | An Aspire hosting integration leveraging the [GoFeatureFlag](https://gofeatureflag.org/) container. |
-| - **Learn More**: [`GoFeatureFlag`][go-feature-flag-integration-docs]
- Stable 📦: [![CommunityToolkit.Aspire.GoFeatureFlag][go-feature-flag-client-shields]][go-feature-flag-client-nuget]
- Preview 📦: [![CommunityToolkit.Aspire.GoFeatureFlag][go-feature-flag-client-shields-preview]][go-feature-flag-client-nuget-preview] | An Aspire client integration for the [GoFeatureFlag](https://github.com/open-feature/dotnet-sdk-contrib/tree/main/src/OpenFeature.Contrib.Providers.GOFeatureFlag) package. |
+| - **Learn More**: [`GoFeatureFlag`][go-feature-flag-integration-docs]
- Stable 📦: [![CommunityToolkit.Aspire.GoFeatureFlag][go-feature-flag-client-shields]][go-feature-flag-client-nuget]
- Preview 📦: [![CommunityToolkit.Aspire.GoFeatureFlag][go-feature-flag-client-shields-preview]][go-feature-flag-client-nuget-preview] | An Aspire client integration for the [GoFeatureFlag](https://github.com/open-feature/dotnet-sdk-contrib/tree/main/src/OpenFeature.Providers.GOFeatureFlag) package. |
| - **Learn More**: [`Hosting.MongoDB.Extensions`][mongodb-ext-integration-docs]
- Stable 📦: [![CommunityToolkit.Aspire.MongoDB.Extensions][mongodb-ext-shields]][mongodb-ext-nuget]
- Preview 📦: [![CommunityToolkit.Aspire.Hosting.MongoDB.Extensions][mongodb-ext-shields-preview]][mongodb-ext-nuget-preview] | An integration that contains some additional extensions for hosting MongoDB container. |
| - **Learn More**: [`Hosting.PostgreSQL.Extensions`][postgres-ext-integration-docs]
- Stable 📦: [![CommunityToolkit.Aspire.PostgreSQL.Extensions][postgres-ext-shields]][postgres-ext-nuget]
- Preview 📦: [![CommunityToolkit.Aspire.Hosting.PostgreSQL.Extensions][postgres-ext-shields-preview]][postgres-ext-nuget-preview] | An integration that contains some additional extensions for hosting PostgreSQL container. |
| - **Learn More**: [`Hosting.Redis.Extensions`][redis-ext-integration-docs]
- Stable 📦: [![CommunityToolkit.Aspire.Redis.Extensions][redis-ext-shields]][redis-ext-nuget]
- Preview 📦: [![CommunityToolkit.Aspire.Hosting.Redis.Extensions][redis-ext-shields-preview]][redis-ext-nuget-preview] | An integration that contains some additional extensions for hosting Redis container. |
diff --git a/examples/goff/CommunityToolkit.Aspire.Hosting.GoFeatureFlag.ApiService/Program.cs b/examples/goff/CommunityToolkit.Aspire.Hosting.GoFeatureFlag.ApiService/Program.cs
index 3e1ad1a49..48ecd6060 100644
--- a/examples/goff/CommunityToolkit.Aspire.Hosting.GoFeatureFlag.ApiService/Program.cs
+++ b/examples/goff/CommunityToolkit.Aspire.Hosting.GoFeatureFlag.ApiService/Program.cs
@@ -1,4 +1,4 @@
-using OpenFeature.Contrib.Providers.GOFeatureFlag;
+using OpenFeature.Providers.GOFeatureFlag;
using OpenFeature.Model;
var builder = WebApplication.CreateBuilder(args);
@@ -14,17 +14,17 @@
// Currently supported flags are:
// - `display-banner`
app.MapGet(
- "/features/{featureName}",
- async (string featureName, GoFeatureFlagProvider provider, CancellationToken cancellationToken) =>
+ "/features/{featureName}",
+ async (string featureName, GOFeatureFlagProvider provider, CancellationToken cancellationToken) =>
{
var userContext = EvaluationContext.Builder()
.Set("targetingKey", Guid.NewGuid().ToString())
.Set("anonymous", true)
.Build();
var flag = await provider.ResolveBooleanValueAsync(featureName, false, userContext, cancellationToken);
-
+
return Results.Ok(flag);
})
.WithName("GetFeature");
-app.Run();
\ No newline at end of file
+app.Run();
diff --git a/src/CommunityToolkit.Aspire.GoFeatureFlag/AspireGoFeatureFlagExtensions.cs b/src/CommunityToolkit.Aspire.GoFeatureFlag/AspireGoFeatureFlagExtensions.cs
index d09749314..707556ccd 100644
--- a/src/CommunityToolkit.Aspire.GoFeatureFlag/AspireGoFeatureFlagExtensions.cs
+++ b/src/CommunityToolkit.Aspire.GoFeatureFlag/AspireGoFeatureFlagExtensions.cs
@@ -7,7 +7,7 @@
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Diagnostics.HealthChecks;
-using OpenFeature.Contrib.Providers.GOFeatureFlag;
+using OpenFeature.Providers.GOFeatureFlag;
namespace Microsoft.Extensions.Hosting;
@@ -23,7 +23,7 @@ public static class AspireGoFeatureFlagExtensions
///
/// The to read config from and add services to.
/// The connection name to use to find a connection string.
- /// An optional method that can be used for customizing the . It's invoked after the settings are read from the configuration.
+ /// An optional method that can be used for customizing the . It's invoked after the settings are read from the configuration.
/// Reads the configuration from "Aspire:GoFeatureFlag:Client" section.
/// If required ConnectionString is not provided in configuration section
public static void AddGoFeatureFlagClient(
@@ -41,7 +41,7 @@ public static void AddGoFeatureFlagClient(
///
/// The to read config from and add services to.
/// The connection name to use to find a connection string.
- /// An optional method that can be used for customizing the . It's invoked after the settings are read from the configuration.
+ /// An optional method that can be used for customizing the . It's invoked after the settings are read from the configuration.
/// Reads the configuration from "Aspire:GoFeatureFlag:Client" section.
/// If required ConnectionString is not provided in configuration section
public static void AddKeyedGoFeatureFlagClient(
@@ -105,11 +105,11 @@ private static void AddGoFeatureFlagClient(
));
}
- GoFeatureFlagProvider ConfigureGoFeatureFlagClient(GoFeatureFlagProviderOptions options)
+ GOFeatureFlagProvider ConfigureGoFeatureFlagClient(GOFeatureFlagProviderOptions options)
{
if (settings.Endpoint is not null)
{
- return new GoFeatureFlagProvider(options);
+ return new GOFeatureFlagProvider(options);
}
throw new InvalidOperationException(
diff --git a/src/CommunityToolkit.Aspire.GoFeatureFlag/CommunityToolkit.Aspire.GoFeatureFlag.csproj b/src/CommunityToolkit.Aspire.GoFeatureFlag/CommunityToolkit.Aspire.GoFeatureFlag.csproj
index 50727d321..a99d43d7d 100644
--- a/src/CommunityToolkit.Aspire.GoFeatureFlag/CommunityToolkit.Aspire.GoFeatureFlag.csproj
+++ b/src/CommunityToolkit.Aspire.GoFeatureFlag/CommunityToolkit.Aspire.GoFeatureFlag.csproj
@@ -10,7 +10,7 @@
-
+
diff --git a/src/CommunityToolkit.Aspire.GoFeatureFlag/GoFeatureFlagClientSettings.cs b/src/CommunityToolkit.Aspire.GoFeatureFlag/GoFeatureFlagClientSettings.cs
index a99abe87e..1467b9324 100644
--- a/src/CommunityToolkit.Aspire.GoFeatureFlag/GoFeatureFlagClientSettings.cs
+++ b/src/CommunityToolkit.Aspire.GoFeatureFlag/GoFeatureFlagClientSettings.cs
@@ -1,7 +1,8 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
-using OpenFeature.Contrib.Providers.GOFeatureFlag;
+using OpenFeature.Providers.GOFeatureFlag;
+using OpenFeature.Providers.GOFeatureFlag.Models;
using System.Data.Common;
namespace CommunityToolkit.Aspire.GoFeatureFlag;
@@ -34,7 +35,11 @@ public sealed class GoFeatureFlagClientSettings
///
/// Gets or sets the provider options that will be used to configure the GO Feature Flag client.
///
- public GoFeatureFlagProviderOptions ProviderOptions { get; set; } = new();
+ public GOFeatureFlagProviderOptions ProviderOptions { get; set; } = new()
+ {
+ Endpoint = string.Empty,
+ EvaluationType = EvaluationType.Remote
+ };
internal void ParseConnectionString(string? connectionString)
{
diff --git a/src/CommunityToolkit.Aspire.GoFeatureFlag/README.md b/src/CommunityToolkit.Aspire.GoFeatureFlag/README.md
index 43d2d8412..4642d62ad 100644
--- a/src/CommunityToolkit.Aspire.GoFeatureFlag/README.md
+++ b/src/CommunityToolkit.Aspire.GoFeatureFlag/README.md
@@ -1,6 +1,6 @@
# CommunityToolkit.Aspire.GoFeatureFlag
-Registers a [GoFeatureFlagProvider](https://github.com/open-feature/dotnet-sdk-contrib/tree/main/src/OpenFeature.Contrib.Providers.GOFeatureFlag) in the DI container for connecting to a GO Feature Flag instance.
+Registers a [GoFeatureFlagProvider](https://github.com/open-feature/dotnet-sdk-contrib/tree/main/src/OpenFeature.Providers.GOFeatureFlag) in the DI container for connecting to a GO Feature Flag instance.
## Getting started
diff --git a/src/CommunityToolkit.Aspire.GoFeatureFlag/api/CommunityToolkit.Aspire.GoFeatureFlag.cs b/src/CommunityToolkit.Aspire.GoFeatureFlag/api/CommunityToolkit.Aspire.GoFeatureFlag.cs
index f174dfc5d..8ca85585a 100644
--- a/src/CommunityToolkit.Aspire.GoFeatureFlag/api/CommunityToolkit.Aspire.GoFeatureFlag.cs
+++ b/src/CommunityToolkit.Aspire.GoFeatureFlag/api/CommunityToolkit.Aspire.GoFeatureFlag.cs
@@ -16,7 +16,7 @@ public sealed partial class GoFeatureFlagClientSettings
public int? HealthCheckTimeout { get { throw null; } set { } }
- public OpenFeature.Contrib.Providers.GOFeatureFlag.GoFeatureFlagProviderOptions ProviderOptions { get { throw null; } set { } }
+ public OpenFeature.Providers.GOFeatureFlag.GoFeatureFlagProviderOptions ProviderOptions { get { throw null; } set { } }
}
}
@@ -28,4 +28,4 @@ public static void AddGoFeatureFlagClient(this IHostApplicationBuilder builder,
public static void AddKeyedGoFeatureFlagClient(this IHostApplicationBuilder builder, string name, System.Action? configureSettings = null) { }
}
-}
\ No newline at end of file
+}
diff --git a/src/CommunityToolkit.Aspire.Hosting.GoFeatureFlag/GoFeatureFlagContainerImageTags.cs b/src/CommunityToolkit.Aspire.Hosting.GoFeatureFlag/GoFeatureFlagContainerImageTags.cs
index 6c196b0f3..5e2e8fc9d 100644
--- a/src/CommunityToolkit.Aspire.Hosting.GoFeatureFlag/GoFeatureFlagContainerImageTags.cs
+++ b/src/CommunityToolkit.Aspire.Hosting.GoFeatureFlag/GoFeatureFlagContainerImageTags.cs
@@ -9,6 +9,6 @@ internal static class GoFeatureFlagContainerImageTags
public const string Registry = "docker.io";
/// gofeatureflag/go-feature-flag
public const string Image = "gofeatureflag/go-feature-flag";
- /// v1.41
- public const string Tag = "v1.41";
+ /// v1.50
+ public const string Tag = "v1.50";
}
\ No newline at end of file
diff --git a/tests/CommunityToolkit.Aspire.GoFeatureFlag.Tests/AspireGoFeatureFlagClientExtensionsTest.cs b/tests/CommunityToolkit.Aspire.GoFeatureFlag.Tests/AspireGoFeatureFlagClientExtensionsTest.cs
index 4d07a5cf9..9030cafe8 100644
--- a/tests/CommunityToolkit.Aspire.GoFeatureFlag.Tests/AspireGoFeatureFlagClientExtensionsTest.cs
+++ b/tests/CommunityToolkit.Aspire.GoFeatureFlag.Tests/AspireGoFeatureFlagClientExtensionsTest.cs
@@ -5,7 +5,7 @@
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Diagnostics.HealthChecks;
using Microsoft.Extensions.Hosting;
-using OpenFeature.Contrib.Providers.GOFeatureFlag;
+using OpenFeature.Providers.GOFeatureFlag;
namespace CommunityToolkit.Aspire.GoFeatureFlag.Tests;
@@ -97,9 +97,9 @@ public void CanAddMultipleKeyedServices()
using var host = builder.Build();
- var client1 = host.Services.GetRequiredService();
- var client2 = host.Services.GetRequiredKeyedService("goff2");
- var client3 = host.Services.GetRequiredKeyedService("goff3");
+ var client1 = host.Services.GetRequiredService();
+ var client2 = host.Services.GetRequiredKeyedService("goff2");
+ var client3 = host.Services.GetRequiredKeyedService("goff3");
Assert.NotSame(client1, client2);
Assert.NotSame(client1, client3);
@@ -121,8 +121,8 @@ public void CanAddClientFromEncodedConnectionString()
using var host = builder.Build();
- var client1 = host.Services.GetRequiredService();
- var client2 = host.Services.GetRequiredKeyedService("goff2");
+ var client1 = host.Services.GetRequiredService();
+ var client2 = host.Services.GetRequiredKeyedService("goff2");
Assert.NotSame(client1, client2);
}
diff --git a/tests/CommunityToolkit.Aspire.GoFeatureFlag.Tests/ConformanceTests.cs b/tests/CommunityToolkit.Aspire.GoFeatureFlag.Tests/ConformanceTests.cs
index e5942de1a..a970107b2 100644
--- a/tests/CommunityToolkit.Aspire.GoFeatureFlag.Tests/ConformanceTests.cs
+++ b/tests/CommunityToolkit.Aspire.GoFeatureFlag.Tests/ConformanceTests.cs
@@ -5,12 +5,12 @@
using Aspire.Components.ConformanceTests;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
-using OpenFeature.Contrib.Providers.GOFeatureFlag;
+using OpenFeature.Providers.GOFeatureFlag;
using OpenFeature.Model;
namespace CommunityToolkit.Aspire.GoFeatureFlag.Tests;
-public class ConformanceTests : ConformanceTests, IClassFixture
+public class ConformanceTests : ConformanceTests, IClassFixture
{
private readonly GoFeatureFlagContainerFixture _containerFixture;
@@ -102,7 +102,7 @@ protected override void SetTracing(GoFeatureFlagClientSettings options, bool ena
throw new NotImplementedException();
}
- protected override void TriggerActivity(GoFeatureFlagProvider service)
+ protected override void TriggerActivity(GOFeatureFlagProvider service)
{
using var source = new CancellationTokenSource(100);
diff --git a/tests/CommunityToolkit.Aspire.Hosting.GoFeatureFlag.Tests/GoFeatureFlagFunctionalTests.cs b/tests/CommunityToolkit.Aspire.Hosting.GoFeatureFlag.Tests/GoFeatureFlagFunctionalTests.cs
index 0eb202a15..fcd818b83 100644
--- a/tests/CommunityToolkit.Aspire.Hosting.GoFeatureFlag.Tests/GoFeatureFlagFunctionalTests.cs
+++ b/tests/CommunityToolkit.Aspire.Hosting.GoFeatureFlag.Tests/GoFeatureFlagFunctionalTests.cs
@@ -7,7 +7,7 @@
using Microsoft.Extensions.Hosting;
using Xunit.Abstractions;
using Aspire.Hosting.Utils;
-using OpenFeature.Contrib.Providers.GOFeatureFlag;
+using OpenFeature.Providers.GOFeatureFlag;
using OpenFeature.Model;
namespace CommunityToolkit.Aspire.Hosting.GoFeatureFlag.Tests;
@@ -16,7 +16,7 @@ namespace CommunityToolkit.Aspire.Hosting.GoFeatureFlag.Tests;
public class GoFeatureFlagFunctionalTests(ITestOutputHelper testOutputHelper)
{
private static readonly string SOURCE = Path.GetFullPath("./goff", Directory.GetCurrentDirectory());
-
+
[Fact]
public async Task VerifyGoFeatureFlagResource()
{
@@ -32,7 +32,7 @@ public async Task VerifyGoFeatureFlagResource()
var rns = app.Services.GetRequiredService();
await rns.WaitForResourceHealthyAsync(goff.Resource.Name);
-
+
var hb = Host.CreateApplicationBuilder();
hb.Configuration[$"ConnectionStrings:{goff.Resource.Name}"] = await goff.Resource.ConnectionStringExpression.GetValueAsync(default);
@@ -43,7 +43,7 @@ public async Task VerifyGoFeatureFlagResource()
await host.StartAsync();
- var goFeatureFlagProvider = host.Services.GetRequiredService();
+ var goFeatureFlagProvider = host.Services.GetRequiredService();
await VerifyTestData(goFeatureFlagProvider);
}
@@ -89,7 +89,7 @@ public async Task VerifyWaitForOnGoFeatureFlagBlocksDependentResources()
await app.StopAsync();
}
- private static async Task VerifyTestData(GoFeatureFlagProvider goFeatureFlagProvider)
+ private static async Task VerifyTestData(GOFeatureFlagProvider goFeatureFlagProvider)
{
var userContext = EvaluationContext.Builder()
.Set("targetingKey", Guid.NewGuid().ToString())
@@ -103,4 +103,4 @@ private static async Task VerifyTestData(GoFeatureFlagProvider goFeatureFlagProv
Assert.NotNull(flag);
Assert.True(flag.Value);
}
-}
\ No newline at end of file
+}