components-contrib/secretstores
deepanshuagarwal a0ef46265b
Adding Pinger interface and Removing mandatory nature of Ping fuction (#1784)
* add `Pinger` interface.

Signed-off-by: chanyong.moon <dev.chanyongmoon@gmail.com>

* Convert Ping fuction to optional

Signed-off-by: Deepanshu Agarwal <deepanshu.agarwal1984@gmail.com>

* Removing unrequired Ping implementations

Signed-off-by: Deepanshu Agarwal <deepanshu.agarwal1984@gmail.com>

* Addressing comments

Signed-off-by: Deepanshu Agarwal <deepanshu.agarwal1984@gmail.com>

Co-authored-by: chanyong.moon <dev.chanyongmoon@gmail.com>
2022-06-14 08:27:54 -07:00
..
alicloud/parameterstore Add AlibabaCloud OOS Parameter Store as a secret component (#1402) 2022-01-13 09:56:44 -08:00
aws update license to Apache v2.0 (#1406) 2022-01-04 19:53:31 -08:00
azure/keyvault Update Azure Service Bus components to track2 SDK (#1702) 2022-05-13 16:52:22 -07:00
gcp/secretmanager Fix #1250 by upgrading cloud.google.com/go/pubsub to v1.12.2 (#1285) 2022-01-13 09:26:42 -08:00
hashicorp/vault Simplify vault token read (#1560) 2022-04-28 13:56:50 -07:00
huaweicloud/csms Implment a secret store based on Huawei CSMS (#1710) 2022-05-09 15:52:46 -07:00
kubernetes update license to Apache v2.0 (#1406) 2022-01-04 19:53:31 -08:00
local update license to Apache v2.0 (#1406) 2022-01-04 19:53:31 -08:00
Readme.md Implment a secret store based on Huawei CSMS (#1710) 2022-05-09 15:52:46 -07:00
metadata.go update license to Apache v2.0 (#1406) 2022-01-04 19:53:31 -08:00
requests.go update license to Apache v2.0 (#1406) 2022-01-04 19:53:31 -08:00
responses.go update license to Apache v2.0 (#1406) 2022-01-04 19:53:31 -08:00
secret_store.go Adding Pinger interface and Removing mandatory nature of Ping fuction (#1784) 2022-06-14 08:27:54 -07: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
  • AlibabaCloud OOS Parameter Store
  • HuaweiCloud CSMS

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)
}