in pkg/gcv/result.go [142:174]
func (cv *ConstraintViolation) metadata(auxMetadata map[string]interface{}) map[string]interface{} {
labels := cv.Constraint.GetLabels()
if labels == nil {
labels = map[string]string{}
}
annotations := cv.Constraint.GetAnnotations()
if annotations == nil {
annotations = map[string]string{}
}
params, found, err := unstructured.NestedMap(cv.Constraint.Object, "spec", "parameters")
if err != nil {
panic(fmt.Sprintf(
"constraint has invalid schema (%#v), should have already been validated, "+
" .spec.parameters got schema error on access: %s", cv.Constraint.Object, err))
}
if !found {
params = map[string]interface{}{}
}
metadata := map[string]interface{}{
ConstraintKey: map[string]interface{}{
"labels": labels,
"annotations": annotations,
"parameters": params,
},
}
for k, v := range auxMetadata {
metadata[k] = v
}
for k, v := range cv.Metadata {
metadata[k] = v
}
return metadata
}