* 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> |
||
|---|---|---|
| .. | ||
| alicloud/parameterstore | ||
| aws | ||
| azure/keyvault | ||
| gcp/secretmanager | ||
| hashicorp/vault | ||
| huaweicloud/csms | ||
| kubernetes | ||
| local | ||
| Readme.md | ||
| metadata.go | ||
| requests.go | ||
| responses.go | ||
| secret_store.go | ||
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)
}