components-contrib/secretstores
Donovan Brown 4a1cfea325
Fixed bug where default vaultaddr is never used. (#791)
* Fixed bug where default vaultaddr is never used.

* Fixing vault tests on Windows.

Co-authored-by: Phil Kedy <phil.kedy@gmail.com>
2021-04-28 12:23:17 -07:00
..
aws Removed dependency on dapr/dapr in favor of dapr/kit. Fixed go mod dependencies afterwards. Go 1.16 in go.mod. Removed accidental log dependency. (#807) 2021-04-19 12:06:10 -07:00
azure/keyvault Removed dependency on dapr/dapr in favor of dapr/kit. Fixed go mod dependencies afterwards. Go 1.16 in go.mod. Removed accidental log dependency. (#807) 2021-04-19 12:06:10 -07:00
gcp/secretmanager Removed dependency on dapr/dapr in favor of dapr/kit. Fixed go mod dependencies afterwards. Go 1.16 in go.mod. Removed accidental log dependency. (#807) 2021-04-19 12:06:10 -07:00
hashicorp/vault Fixed bug where default vaultaddr is never used. (#791) 2021-04-28 12:23:17 -07:00
kubernetes Removed dependency on dapr/dapr in favor of dapr/kit. Fixed go mod dependencies afterwards. Go 1.16 in go.mod. Removed accidental log dependency. (#807) 2021-04-19 12:06:10 -07:00
local Removed dependency on dapr/dapr in favor of dapr/kit. Fixed go mod dependencies afterwards. Go 1.16 in go.mod. Removed accidental log dependency. (#807) 2021-04-19 12:06:10 -07:00
Readme.md Fixed #590 (#591) 2021-01-18 11:38:19 -08:00
metadata.go change headers (#679) 2021-02-09 18:57:55 -08:00
requests.go change headers (#679) 2021-02-09 18:57:55 -08:00
responses.go change headers (#679) 2021-02-09 18:57:55 -08:00
secret_store.go change headers (#679) 2021-02-09 18:57:55 -08:00

Readme.md

Secret Stores

Secret Stores provide a common way to interact with different secret stores, cloud/edge/commercial or open-source.

Currently supported secret stores are:

  • Kubernetes
  • Hashicorp Vault
  • Azure KeyVault
  • AWS Secret manager
  • GCP Cloud KMS
  • GCP Secret Manager

Implementing a new Secret Store

A compliant secret store needs to implement the following interface:

type SecretStore interface {
  // Init authenticates with the actual secret store and performs other init operation
  Init(metadata Metadata) error

  // GetSecret retrieves a secret using a key and returns a map of decrypted string/string values
  GetSecret(req GetSecretRequest) (GetSecretResponse, error)

  // BulkGetSecrets retrieves all secrets in the store and returns a map of decrypted string/string values
  BulkGetSecret(req BulkGetSecretRequest) (BulkGetSecretResponse, error)
}