public CredstashConfigurationProvider(Credstash credstash, Dictionary <string, string> encryptionContext) { _credstash = credstash; _degreeOfParallelism = credstash.Options.DegreeOfParallelism; _encryptionContext = encryptionContext; _suppressErrors = credstash.Options.SuppressErrors; }
public static IConfigurationBuilder AddCredstash(this IConfigurationBuilder builder, AWSCredentials credentials, CredstashConfigurationOptions options = null) { options = options ?? new CredstashConfigurationOptions(); var credstash = new Credstash(new CredstashOptions() { Region = options.Region, Table = options.Table, DegreeOfParallelism = options.DegreeOfParallelism }, new AmazonKeyManagementServiceClient(credentials, options.Region), new AmazonDynamoDBClient(credentials, options.Region)); builder.Add(new CredstashConfigurationSource(credstash, options.EncryptionContext)); return(builder); }
public static IConfigurationBuilder AddCredstash(this IConfigurationBuilder builder, Action <CredstashConfigurationOptions> optionsAction, AWSCredentials creds = null) { var options = new CredstashConfigurationOptions(); optionsAction(options); creds = creds ?? FallbackCredentialsFactory.GetCredentials(); var credstash = new Credstash(new CredstashOptions() { Region = options.Region, Table = options.Table, DegreeOfParallelism = options.DegreeOfParallelism }, new AmazonKeyManagementServiceClient(creds, options.Region), new AmazonDynamoDBClient(creds, options.Region)); builder.Add(new CredstashConfigurationSource(credstash, options.EncryptionContext)); return(builder); }
public static async Task Main(string[] args) { var stash = new Credstash(new CredstashOptions(), new AmazonKeyManagementServiceClient(RegionEndpoint.EUWest1), new AmazonDynamoDBClient(RegionEndpoint.EUWest1)); var noneExistingKey1 = await stash.GetSecretAsync(Guid.NewGuid().ToString()); var noneExistingKey2 = await stash.GetSecretAsync(Guid.NewGuid().ToString(), "1"); //var creds = new GetAwsCredentials(); //var stash = new Credstash(new CredstashOptions(), new AmazonKeyManagementServiceClient(creds, RegionEndpoint.EUWest1), // new AmazonDynamoDBClient(creds, RegionEndpoint.EUWest1)); //var val = stash.GetSecret("redis:host", null, new Dictionary<string, string>() //{ // { "environment", "beta"} //}).Result; //Console.WriteLine(val); //foreach (var entry in stash.List().Result) //{ // Console.WriteLine($"{entry.Name} v{entry.Version}"); //} var creds = GetAwsCredentials(); var configBuilder = new ConfigurationBuilder(); configBuilder.AddCredstash(creds, new CredstashConfigurationOptions { EncryptionContext = new Dictionary <string, string> { { "environment", "beta" } } }); var config = configBuilder.Build(); var beta = config.GetSection("beta"); Print(beta, string.Empty); }
public CredstashConfigurationSource(Credstash credstash, Dictionary <string, string> encryptionContext) { _credstash = credstash; _encryptionContext = encryptionContext; }