CommunityToolkit.Aspire.GoFeatureFlag 9.4.0

Prefix Reserved
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package CommunityToolkit.Aspire.GoFeatureFlag --version 9.4.0
                    
NuGet\Install-Package CommunityToolkit.Aspire.GoFeatureFlag -Version 9.4.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="CommunityToolkit.Aspire.GoFeatureFlag" Version="9.4.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="CommunityToolkit.Aspire.GoFeatureFlag" Version="9.4.0" />
                    
Directory.Packages.props
<PackageReference Include="CommunityToolkit.Aspire.GoFeatureFlag" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add CommunityToolkit.Aspire.GoFeatureFlag --version 9.4.0
                    
#r "nuget: CommunityToolkit.Aspire.GoFeatureFlag, 9.4.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=CommunityToolkit.Aspire.GoFeatureFlag&version=9.4.0
                    
Install CommunityToolkit.Aspire.GoFeatureFlag as a Cake Addin
#tool nuget:?package=CommunityToolkit.Aspire.GoFeatureFlag&version=9.4.0
                    
Install CommunityToolkit.Aspire.GoFeatureFlag as a Cake Tool

CommunityToolkit.Aspire.GoFeatureFlag

Registers a GoFeatureFlagProvider in the DI container for connecting to a GO Feature Flag instance.

Getting started

Install the package

Install the .NET Aspire GO Feature Flag Client library with NuGet:

dotnet add package CommunityToolkit.Aspire.GoFeatureFlag

Usage example

In the Program.cs file of your project, call the AddGoFeatureFlagClient extension method to register a GoFeatureFlagProvider for use via the dependency injection container. The method takes a connection name parameter.

builder.AddGoFeatureFlagClient("goff");

Configuration

The .NET Aspire GO Feature Flag Client integration provides multiple options to configure the server connection based on the requirements and conventions of your project.

Use a connection string

When using a connection string from the ConnectionStrings configuration section, you can provide the name of the connection string when calling builder.AddGoFeatureFlagClient():

builder.AddGoFeatureFlagClient("goff");

And then the connection string will be retrieved from the ConnectionStrings configuration section:

{
    "ConnectionStrings": {
        "goff": "Endpoint=http://localhost:19530/"
    }
}

Use configuration providers

The .NET Aspire GO Feature Flag Client integration supports Microsoft.Extensions.Configuration. It loads the GoFeatureFlagClientSettings from configuration by using the Aspire:GoFeatureFlag:Client key. Example appsettings.json that configures some of the options:

{
    "Aspire": {
        "GoFeatureFlag": {
            "Client": {
                "Endpoint": "http://localhost:19530/",
                "MasterKey": "123456!@#$%"
            }
        }
    }
}

Use inline delegates

Also you can pass the Action<GoFeatureFlagClientSettings> configureSettings delegate to set up some or all the options inline, for example to set the API key from code:

builder.AddGoFeatureFlagClient("goff", settings => settings.ProviderOptions.ApiKey = "123456!@#$%");

AppHost extensions

In your AppHost project, install the CommunityToolkit.Aspire.Hosting.GoFeatureFlag library with NuGet:

dotnet add package CommunityToolkit.Aspire.Hosting.GoFeatureFlag

Then, in the Program.cs file of AppHost, register a GO Feature Flag instance and consume the connection using the following methods:

var goff = builder.AddGoFeatureFlag("goff");

var myService = builder.AddProject<Projects.MyService>()
                       .WithReference(goff);

The WithReference method configures a connection in the MyService project named goff. In the Program.cs file of MyService, the GO Feature Flag connection can be consumed using:

builder.AddGoFeatureFlagClient("goff");

Then, in your service, inject GoFeatureFlagProvider and use it to interact with the GO Feature Flag API:

public class MyService(GoFeatureFlagProvider goFeatureFlagProvider)
{
    // ...
}

Additional documentation

Feedback & contributing

https://github.com/CommunityToolkit/Aspire

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
9.4.1-beta.291 15 15 hours ago
9.4.1-beta.289 116 4 days ago
9.4.1-beta.288 168 4 days ago
9.4.1-beta.287 164 4 days ago
9.4.1-beta.286 167 4 days ago
9.4.1-beta.285 188 6 days ago
9.4.1-beta.284 189 7 days ago
9.4.1-beta.283 194 8 days ago
9.4.1-beta.282 107 13 days ago
9.4.1-beta.280 103 18 days ago
9.4.1-beta.279 99 18 days ago
9.4.1-beta.277 127 a month ago
9.4.1-beta.276 122 a month ago
9.4.1-beta.275 117 a month ago
9.4.1-beta.274 117 a month ago
9.4.1-beta.273 114 a month ago
9.4.1-beta.272 114 a month ago
9.4.1-beta.271 115 a month ago
9.4.1-beta.270 122 a month ago
9.4.0 151 a month ago
9.4.0-beta.269 123 a month ago
9.4.0-beta.268 117 a month ago
9.3.1-beta.267 122 a month ago
9.3.1-beta.266 50 a month ago
9.3.1-beta.265 141 a month ago
9.3.1-beta.264 147 a month ago
9.3.1-beta.263 145 a month ago
9.3.1-beta.262 153 a month ago
9.3.1-beta.260 124 a month ago
9.3.1-beta.259 118 a month ago
9.3.1-beta.258 128 a month ago
9.3.1-beta.257 123 a month ago
9.3.1-beta.256 122 a month ago
9.3.1-beta.255 118 a month ago
9.3.1-beta.254 120 a month ago
9.3.1-beta.253 119 2 months ago
9.3.1-beta.252 98 2 months ago
9.3.1-beta.250 103 2 months ago
9.3.1-beta.249 98 2 months ago
9.3.1-beta.248 95 2 months ago
9.3.1-beta.247 97 2 months ago
9.3.1-beta.244 447 2 months ago
9.3.1-beta.242 447 2 months ago
9.3.1-beta.241 114 2 months ago
9.3.0 148 2 months ago
9.3.0-beta.239 113 2 months ago
9.2.2-beta.237 116 2 months ago
9.2.2-beta.236 80 2 months ago
9.2.2-beta.230 108 2 months ago
9.2.2-beta.229 110 2 months ago
9.2.2-beta.228 125 2 months ago
9.2.2-beta.227 122 2 months ago
9.2.2-beta.226 123 2 months ago
9.2.2-beta.225 119 2 months ago
9.2.2-beta.224 126 2 months ago
9.2.2-beta.223 121 2 months ago
9.2.2-beta.222 129 2 months ago
9.2.2-beta.220 117 2 months ago
9.2.2-beta.218 122 2 months ago
9.2.2-beta.217 164 2 months ago
9.2.2-beta.216 167 2 months ago
9.2.2-beta.215 167 2 months ago
9.2.2-beta.214 164 2 months ago
9.2.2-beta.213 157 2 months ago
9.2.2-beta.212 158 2 months ago
9.2.2-beta.211 165 3 months ago
9.2.2-beta.210 168 3 months ago
9.2.2-beta.208 59 3 months ago
9.2.1 101 3 months ago
9.2.1-beta.207 91 3 months ago
9.2.1-beta.206 54 3 months ago
9.2.1-beta.205 55 3 months ago
9.2.1-beta.204 53 3 months ago
9.2.1-beta.203 58 3 months ago
9.2.0 106 3 months ago
9.2.0-beta.202 53 3 months ago
9.2.0-beta.201 54 3 months ago
9.2.0-beta.199 55 3 months ago
9.2.0-beta.198 51 3 months ago
9.1.1-beta.197 64 3 months ago
9.1.1-beta.196 56 3 months ago
9.1.1-beta.195 52 3 months ago
9.1.1-beta.194 56 3 months ago
9.1.1-beta.193 58 3 months ago
9.1.1-beta.192 62 3 months ago
9.1.1-beta.191 53 3 months ago
9.1.1-beta.190 62 3 months ago
9.1.1-beta.189 57 3 months ago
9.1.1-beta.188 62 3 months ago
9.1.1-beta.187 65 3 months ago
9.1.1-beta.183 60 3 months ago
9.1.1-beta.182 66 3 months ago
9.1.1-beta.181 80 3 months ago
9.1.1-beta.180 62 3 months ago
9.1.1-beta.178 64 3 months ago
9.1.1-beta.177 67 3 months ago
9.1.1-beta.176 66 3 months ago
9.1.1-beta.175 65 3 months ago
9.1.1-beta.173 64 3 months ago
9.1.1-beta.169 63 3 months ago
9.1.1-beta.168 60 3 months ago