Allow secrets with env

Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
pull/488/head
CrazyMax 4 years ago
parent 74f76cf4e9
commit f6d83c97bb
No known key found for this signature in database
GPG Key ID: 3248E46B6BB8C7F7

@ -34,6 +34,7 @@ func parseSecret(value string) (*secretsprovider.Source, error) {
fs := secretsprovider.Source{} fs := secretsprovider.Source{}
var typ string
for _, field := range fields { for _, field := range fields {
parts := strings.SplitN(field, "=", 2) parts := strings.SplitN(field, "=", 2)
key := strings.ToLower(parts[0]) key := strings.ToLower(parts[0])
@ -45,16 +46,23 @@ func parseSecret(value string) (*secretsprovider.Source, error) {
value := parts[1] value := parts[1]
switch key { switch key {
case "type": case "type":
if value != "file" { if value != "file" && value != "env" {
return nil, errors.Errorf("unsupported secret type %q", value) return nil, errors.Errorf("unsupported secret type %q", value)
} }
typ = value
case "id": case "id":
fs.ID = value fs.ID = value
case "source", "src": case "source", "src":
fs.FilePath = value fs.FilePath = value
case "env":
fs.Env = value
default: default:
return nil, errors.Errorf("unexpected key '%s' in '%s'", key, field) return nil, errors.Errorf("unexpected key '%s' in '%s'", key, field)
} }
} }
if typ == "env" && fs.Env == "" {
fs.Env = fs.FilePath
fs.FilePath = ""
}
return &fs, nil return &fs, nil
} }

Loading…
Cancel
Save