From 8396842ec2d0693ae1f97f5372debf9577426117 Mon Sep 17 00:00:00 2001 From: Neal Date: Tue, 8 Jun 2021 12:30:09 -0500 Subject: [PATCH] fix: add check for origin and name (#181) --- yaml/secret.go | 2 +- yaml/secret_test.go | 31 +++++++++++++++++++++++++++++++ yaml/testdata/secret.yml | 10 ++++++++++ 3 files changed, 42 insertions(+), 1 deletion(-) diff --git a/yaml/secret.go b/yaml/secret.go index 37038400..314927a3 100644 --- a/yaml/secret.go +++ b/yaml/secret.go @@ -79,7 +79,7 @@ func (s *SecretSlice) UnmarshalYAML(unmarshal func(interface{}) error) error { // iterate through each element in the secret slice for _, secret := range *secretSlice { - if len(secret.Name) == 0 { + if secret.Origin.Empty() && len(secret.Name) == 0 { continue } diff --git a/yaml/secret_test.go b/yaml/secret_test.go index 714025b1..ba4da65e 100644 --- a/yaml/secret_test.go +++ b/yaml/secret_test.go @@ -265,6 +265,37 @@ func TestYaml_SecretSlice_UnmarshalYAML(t *testing.T) { }, }, }, + { + Name: "", + Key: "", + Engine: "", + Type: "", + Origin: Origin{ + Environment: map[string]string{"FOO": "bar"}, + Image: "target/vela-vault:latest", + Parameters: map[string]interface{}{ + "addr": "vault.company.com", + }, + Pull: "always", + Ruleset: Ruleset{ + If: Rules{ + Event: []string{"push"}, + }, + Operator: "and", + Matcher: "filepath", + }, + Secrets: StepSecretSlice{ + { + Source: "foo", + Target: "foo", + }, + { + Source: "foobar", + Target: "foobar", + }, + }, + }, + }, }, }, { diff --git a/yaml/testdata/secret.yml b/yaml/testdata/secret.yml index 322096d9..72a56cb0 100644 --- a/yaml/testdata/secret.yml +++ b/yaml/testdata/secret.yml @@ -26,3 +26,13 @@ ruleset: event: [ push ] secrets: [ foo, foobar ] +- origin: + environment: + FOO: bar + image: target/vela-vault:latest + pull: true + parameters: + addr: vault.company.com + ruleset: + event: [ push ] + secrets: [ foo, foobar ]