GitHub - SimplifyNet/Etcd.Microsoft.Extensions.Configuration: Etcd based configuration provider for Microsoft.Extensions.Configuration (original) (raw)

Etcd.Microsoft.Extensions.Configuration

NuGet Version NuGet Download Build Package Libraries.io dependency status for latest release CodeFactor Grade Platform

Etcd-based configuration provider for Microsoft.Extensions.Configuration.

Keep in mind that starting from v2, it will work only under Windows 10 or Windows Server 2016 (or later) because the internal gRPC client uses the HTTP/2 protocol for communication (https://docs.microsoft.com/en-us/answers/questions/310032/2012-r2-net-core-http2.html).

Quick Start

HTTP

var config = new ConfigurationBuilder() .AddEtcd( new Credentials("MyEtcdUserName", "passw"), new EtcdSettings("http://serveraddress:2379")) .Build();

var mySection = config.GetSection("MySection"); var myKeyValue = mySection["MyKeyName"];

HTTPS

When using HTTPS, a *.crt CA certificate (provided by the etcd administrator) should be placed in a well-known system certificate store (depending on the OS).

HTTPS with Settings from a Local JSON File

appsettings.json

{ "EtcdSettings": { "ConnectionString": "https://serveraddress:2379" } }

var jsonConfig = new ConfigurationBuilder() .AddJsonFile("appsettings.json") .Build();

var config = new ConfigurationBuilder() .AddEtcd( new Credentials("MyEtcdUserName", "passw"), new ConfigurationBasedEtcdSettings(jsonConfig)) .Build();

var mySection = config.GetSection("MySection"); var myKeyValue = mySection["MyKeyName"];

Settings can be mixed from different locations.

Contributing

There are many ways in which you can participate in the project. Like most open-source software projects, contributing code is just one of many ways you can help improve. Some of the things you could help out with are:

License

Licensed under the GNU Lesser General Public License.