add a warning to missing field in FunctionSpec

This commit is contained in:
yugo kobayashi
2022-08-11 19:41:44 +00:00
parent 23de1499c2
commit e2e9181bed
2 changed files with 18 additions and 3 deletions

View File

@@ -10,6 +10,7 @@ import (
"strings"
"sigs.k8s.io/kustomize/kyaml/yaml"
k8syaml "sigs.k8s.io/yaml"
)
const (
@@ -224,7 +225,7 @@ func getFunctionSpecFromAnnotation(n *yaml.RNode, meta yaml.ResourceMeta) *Funct
for _, s := range functionAnnotationKeys {
fn := meta.Annotations[s]
if fn != "" {
err := yaml.Unmarshal([]byte(fn), &fs)
err := k8syaml.UnmarshalStrict([]byte(fn), &fs)
if err != nil {
fmt.Fprintf(os.Stderr, "%v\n", err)
}
@@ -239,7 +240,7 @@ func getFunctionSpecFromAnnotation(n *yaml.RNode, meta yaml.ResourceMeta) *Funct
if err != nil {
fmt.Fprintf(os.Stderr, "%v\n", err)
}
err = yaml.Unmarshal([]byte(s), &fs)
err = k8syaml.UnmarshalStrict([]byte(s), &fs)
if err != nil {
fmt.Fprintf(os.Stderr, "%v\n", err)
}

View File

@@ -1278,9 +1278,23 @@ container:
image: foo:v1.0.0
`,
},
{
name: "fn missing spell",
resource: `
apiVersion: v1beta1
kind: Example
metadata:
annotations:
config.kubernetes.io/function: |-
containeer:
image: foo:v1.0.0
`,
expectedFn: `{}`,
},
// legacy fn style
{name: "legacy fn meta",
{
name: "legacy fn meta",
resource: `
apiVersion: v1beta1
kind: Example