generateVSAsPredicates generates raw VSA predicates for all validated components
(cmd *cobra.Command, report applicationsnapshot.Report, outputDir string)
| 746 | |
| 747 | // generateVSAsPredicates generates raw VSA predicates for all validated components |
| 748 | func (data *imageData) generateVSAsPredicates(cmd *cobra.Command, report applicationsnapshot.Report, outputDir string) error { |
| 749 | for _, comp := range report.Components { |
| 750 | generator := vsa.NewGenerator(report, comp, data.policySource, data.policy) |
| 751 | |
| 752 | writer := &vsa.Writer{ |
| 753 | FS: utils.FS(cmd.Context()), |
| 754 | TempDirPrefix: outputDir, |
| 755 | FilePerm: 0o600, |
| 756 | } |
| 757 | |
| 758 | predicatePath, err := vsa.GenerateAndWritePredicate(cmd.Context(), generator, writer) |
| 759 | if err != nil { |
| 760 | log.Errorf("Failed to generate predicate for %s: %v", comp.ContainerImage, err) |
| 761 | continue |
| 762 | } |
| 763 | |
| 764 | log.Infof("[VSA] Generated predicate for %s at %s", comp.ContainerImage, predicatePath) |
| 765 | } |
| 766 | |
| 767 | return nil |
| 768 | } |
| 769 | |
| 770 | // find if the slice contains "value" output |
no test coverage detected