Merge pull request #7240 from leseb/fix-vault-key-override

ceph: do not override existing keys
This commit is contained in:
Travis Nielsen authored and GitHub committed 2021-02-16 16:09:34 -07:00
commit dfc24ddd24
1 file changed
+12 -2
+12 -2
View File
@@ -129,12 +129,22 @@ func configTLS(clusterdContext *clusterd.Context, namespace string, config map[s
}
func put(v secrets.Secrets, secretName, secretValue string, keyContext map[string]string) error {
// First we must see if the key entry already exists, if it does we do nothing
key, err := get(v, secretName, keyContext)
if err != nil && err != secrets.ErrInvalidSecretId {
return errors.Wrapf(err, "failed to get secret %q in vault", secretName)
}
if key != "" {
logger.Debugf("key %q already exists in vault!", secretName)
return nil
}
// Build Secret
data := make(map[string]interface{})
data[secretName] = secretValue
// #nosec G104 Write the encryption key in Vault
err := v.PutSecret(secretName, data, keyContext)
err = v.PutSecret(secretName, data, keyContext)
if err != nil {
return errors.Wrapf(err, "failed to put secret %q in vault", secretName)
}
@@ -146,7 +156,7 @@ func get(v secrets.Secrets, secretName string, keyContext map[string]string) (st
// #nosec G104 Write the encryption key in Vault
s, err := v.GetSecret(secretName, keyContext)
if err != nil {
return "", errors.Wrapf(err, "failed to get secret %q in vault", secretName)
return "", err
}
return s[secretName].(string), nil