source

package
v1.4.3 Latest Latest
Warning

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

Go to latest
Published: Sep 15, 2021 License: Apache-2.0 Imports: 13 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 ReadMetadata

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

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
}

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 string, types, cloudProviders []string, libraryPath string) *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) (string, 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) (string, 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
	InputDataPath  string
}

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

Jump to

Keyboard shortcuts

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