source

package
v1.7.13 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 29, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package source (go:generate go run -mod=mod github.com/golang/mock/mockgen -package mock -source=./$GOFILE -destination=../mock/$GOFILE)

Index

Constants

View Source
const (
	// QueryFileName The default query file name
	QueryFileName = "query.rego"
	// MetadataFileName The default metadata file name
	MetadataFileName = "metadata.json"
	// LibrariesDefaultBasePath the path to rego libraries
	LibrariesDefaultBasePath = "./assets/libraries"
)

Variables

This section is empty.

Functions

func GetPathToCustomLibrary added in v1.4.2

func GetPathToCustomLibrary(platform, libraryPathFlag string) string

GetPathToCustomLibrary - returns the libraries path for a given platform

func ListSupportedCloudProviders added in v1.4.0

func ListSupportedCloudProviders() []string

ListSupportedCloudProviders returns a list of supported cloud providers

func ListSupportedPlatforms

func ListSupportedPlatforms() []string

ListSupportedPlatforms returns a list of supported platforms

func MergeInputData added in v1.4.4

func MergeInputData(defaultInputData, customInputData string) (string, error)

MergeInputData merges KICS input data with custom input data user defined

func ReadMetadata

func ReadMetadata(queryDir string) (map[string]interface{}, error)

ReadMetadata read query's metadata file inside the query directory

func ReadQuery

func ReadQuery(queryDir string) (model.QueryMetadata, error)

ReadQuery reads query's files for a given path and returns a QueryMetadata struct with it's content

Types

type ExcludeQueries

type ExcludeQueries struct {
	ByIDs        []string
	ByCategories []string
	BySeverities []string
}

ExcludeQueries is a struct that represents the option to exclude queries by ids or by categories

type FilesystemSource

type FilesystemSource struct {
	Source              []string
	Types               []string
	CloudProviders      []string
	Library             string
	ExperimentalQueries bool
}

FilesystemSource this type defines a struct with a path to a filesystem source of queries Source is the path to the queries Types are the types given by the flag --type for query selection mechanism

func NewFilesystemSource

func NewFilesystemSource(source, types, cloudProviders []string, libraryPath string, experimentalQueries bool) *FilesystemSource

NewFilesystemSource initializes a NewFilesystemSource with source to queries and types of queries to load

func (*FilesystemSource) CheckCloudProvider added in v1.4.0

func (s *FilesystemSource) CheckCloudProvider(cloudProvider interface{}) bool

CheckCloudProvider checks if the queries have the cloud provider passed as an argument in '--cloud-provider' flag to be loaded

func (*FilesystemSource) CheckType

func (s *FilesystemSource) CheckType(queryPlatform interface{}) bool

CheckType checks if the queries have the type passed as an argument in '--type' flag to be loaded

func (*FilesystemSource) GetQueries

func (s *FilesystemSource) GetQueries(queryParameters *QueryInspectorParameters) ([]model.QueryMetadata, error)

GetQueries walks a given filesource path returns all queries found in an array of QueryMetadata struct

func (*FilesystemSource) GetQueryLibrary added in v1.2.2

func (s *FilesystemSource) GetQueryLibrary(platform string) (RegoLibraries, error)

GetQueryLibrary returns the library.rego for the platform passed in the argument

type IncludeQueries added in v1.3.2

type IncludeQueries struct {
	ByIDs []string
}

IncludeQueries is a struct that represents the option to include queries by ID taking precedence over exclusion

type QueriesSource

type QueriesSource interface {
	GetQueries(querySelection *QueryInspectorParameters) ([]model.QueryMetadata, error)
	GetQueryLibrary(platform string) (RegoLibraries, error)
}

QueriesSource wraps an interface that contains basic methods: GetQueries and GetQueryLibrary GetQueries gets all queries from a QueryMetadata list GetQueryLibrary gets a library of rego functions given a plataform's name

type QueryInspectorParameters added in v1.3.5

type QueryInspectorParameters struct {
	IncludeQueries      IncludeQueries
	ExcludeQueries      ExcludeQueries
	ExperimentalQueries bool
	InputDataPath       string
	BomQueries          bool
}

QueryInspectorParameters is a struct that represents the optionn to select queries to be executed

type RegoLibraries added in v1.4.4

type RegoLibraries struct {
	LibraryCode      string
	LibraryInputData string
}

RegoLibraries is a struct that contains the library code and its input data

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL