func()

in pkg/bundle/ruleset/engine/cel/ext/package.go [110:164]


func (packageLib) ProgramOptions() []cel.ProgramOption {
	// Register types
	reg, err := types.NewRegistry(
		&bundlev1.KV{},
	)
	if err != nil {
		panic(fmt.Errorf("unable to register types: %w", err))
	}

	return []cel.ProgramOption{
		//nolint:staticcheck // TODO: refactor for deprecations
		cel.Functions(
			&functions.Overload{
				Operator: "package_match_label_string",
				Binary:   celPackageMatchLabel,
			},
			&functions.Overload{
				Operator: "package_match_label_string_string",
				Function: celPackageMatchLabelValue,
			},
			&functions.Overload{
				Operator: "package_match_annotation_string",
				Binary:   celPackageMatchAnnotation,
			},
			&functions.Overload{
				Operator: "package_match_annotation_string_string",
				Function: celPackageMatchAnnotationValue,
			},
			&functions.Overload{
				Operator: "package_match_path_string",
				Binary:   celPackageMatchPath,
			},
			&functions.Overload{
				Operator: "package_match_secret_string",
				Binary:   celPackageMatchSecret,
			},
			&functions.Overload{
				Operator: "package_has_secret_string",
				Binary:   celPackageHasSecret,
			},
			&functions.Overload{
				Operator: "package_has_all_secrets_list",
				Binary:   celPackageHasAllSecrets,
			},
			&functions.Overload{
				Operator: "package_is_cso_compliant",
				Unary:    celPackageIsCSOCompliant,
			},
			&functions.Overload{
				Operator: "package_secret_string",
				Binary:   celPackageGetSecret(reg),
			},
		),
	}
}