TRENZ.Extensions.Infisical
1.0.3
See the version list below for details.
dotnet add package TRENZ.Extensions.Infisical --version 1.0.3
NuGet\Install-Package TRENZ.Extensions.Infisical -Version 1.0.3
<PackageReference Include="TRENZ.Extensions.Infisical" Version="1.0.3" />
paket add TRENZ.Extensions.Infisical --version 1.0.3
#r "nuget: TRENZ.Extensions.Infisical, 1.0.3"
// Install TRENZ.Extensions.Infisical as a Cake Addin #addin nuget:?package=TRENZ.Extensions.Infisical&version=1.0.3 // Install TRENZ.Extensions.Infisical as a Cake Tool #tool nuget:?package=TRENZ.Extensions.Infisical&version=1.0.3
InfisicalExtensions
This project adds extension methods for the Infisical .NET SDK to register it as a configuration provider in your .NET app.
Usage
Disable End-to-End encryption in your Infisical project settings. The .NET SDK does not support it yet:
Note While you're in the settings, we also recommend to disable "Auto Capitalization"
Add your infisical settings to appsettings.json
:
{
"Infisical": {
"ClientId": "07ebc18f-df32-475a-8fef-1bdd79a5c7ac",
"ClientSecret": "insert-your-client-secret",
"SiteUrl": "https://<your infisical host>",
"ProjectId": "some-project-id"
}
}
Call AddInfisicalConfiguration
on your application builder:
var builder = WebApplication.CreateBuilder(args);
builder.AddInfisicalConfiguration();
// ...
This will add a InfisicalConfigurationProvider
that provides all available secrets through IConfiguration
.
Suppose you want to store your connection string in Infisical.
You first need to add a secret in the respective environment through the infisical interface:
Note that infisical doesn't support nested secrets. The keys of the secrets need to include ":" to represent nested keys in an
appsettings.json
.
Then, in code, you can inject IConfiguration
in your class and access its value as if it was in your
appsettings.json
:
public class MyConnectionStringProvider(IConfiguration configuration) {
public string GetConnectionString() {
// The following call looks up the key "ConnectionStrings:MyDatabase" in IConfiguration
return configuration.GetConnectionString("MyDatabase");
}
}
You could also access the key directly using:
var connectionString = configuration["ConnectionStrings:MyDatabase"];
Installation
dotnet add package TRENZ.Extensions.Infisical
License
Licensed under MIT. For more information, see LICENSE
Product | Versions 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. |
-
net8.0
- Infisical.Sdk (>= 2.1.8)
- Microsoft.Extensions.Configuration.Abstractions (>= 8.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 8.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
# 1.0.3
- Fixed issue where no keys from `appsettings.json` where available after adding infisical
- Now, all keys except `Infisical:*` are available
# 1.0.2
- Better handling for nested child keys
- Added support for `PollingInterval` to detect changes in secrets
# 1.0.1
- Fixed an issue where an invalid `AccessToken` was set on the Infisical client settings
# 1.0.0
- Initial release
- Support for adding Infisical to `IConfiguration` via `appsettings.json`