Documentation ¶
Index ¶
- Variables
- func GetPacks() (keys []string)
- func Init(configPath string) error
- func LineBreakReplacer(s string) string
- func NewConfigDecoder(path string) (decoder *yaml.Decoder, file *os.File, err error)
- func ParseTags(inclusions, exclusions []string) string
- func SetLogFilter(minLevel string, writer io.Writer)
- func SetTmpDir(path string)
- func ValidateConfigPath(path string) error
- type APIM
- type CloudProviders
- type Excludable
- type GlobalOpts
- type K8sAzure
- type Kubernetes
- type Meta
- type Probe
- type Scenario
- type ServicePacks
- type Storage
- type VarOptions
- func (ctx *VarOptions) AuditDir() string
- func (ctx *VarOptions) CucumberDir() string
- func (ctx *VarOptions) GetTags() string
- func (ctx *VarOptions) GetWriteDirectory() string
- func (ctx *VarOptions) LogConfigState()
- func (ctx *VarOptions) Overwrite() bool
- func (ctx *VarOptions) SetTags(tags map[string][]string)
Constants ¶
This section is empty.
Variables ¶
var Requirements = map[string][]string{
"Storage": {"Provider"},
"APIM": {"Provider"},
"Kubernetes": {"AuthorisedContainerRegistry", "UnauthorisedContainerRegistry"},
}
Requirements is used to dictate the required config vars for each service pack
var Spinner *spinner.Spinner
Spinner holds the current state of the CLI spinner
Functions ¶
func GetPacks ¶
func GetPacks() (keys []string)
GetPacks returns a list of pack names (as specified by internal/config/requirements.go)
func LineBreakReplacer ¶
LineBreakReplacer replaces carriage return (\r), linefeed (\n), formfeed (\f) and other similar characters with a space.
func NewConfigDecoder ¶ added in v0.0.23
NewConfigDecoder reads the provided into a new yaml decoder and leaves the file open
func ParseTags ¶ added in v0.0.27
ParseTags takes two lists of tags and parses them into a cucumber tag string Tags may start with '@' or '~@' respectively, but it is not required
func SetLogFilter ¶
SetLogFilter will override the minimum log level.
func SetTmpDir ¶ added in v0.0.28
func SetTmpDir(path string)
SetTmpDir sets the location that temporary files will be written to
func ValidateConfigPath ¶
ValidateConfigPath simply ensures the file exists
Types ¶
type APIM ¶
type APIM struct { Provider string `yaml:"Provider"` // Placeholder! Probes []Probe `yaml:"Probes"` }
APIM service pack config options
func (APIM) IsExcluded ¶
IsExcluded will log and return exclusion configuration
type CloudProviders ¶
type CloudProviders struct {
Azure azureconfig.Azure `yaml:"Azure"`
}
CloudProviders config options
type Excludable ¶
type Excludable interface {
IsExcluded() bool
}
Excludable is used for testing purposes only
type GlobalOpts ¶ added in v0.0.26
type GlobalOpts struct { StartTime time.Time VarsFile string InstallDir string `yaml:"InstallDir"` TmpDir string `yaml:"TmpDir"` GodogResultsFormat string `yaml:"GodogResultsFormat"` CloudProviders CloudProviders `yaml:"CloudProviders"` WriteDirectory string `yaml:"WriteDirectory"` LogLevel string `yaml:"LogLevel"` TagExclusions []string `yaml:"TagExclusions"` TagInclusions []string `yaml:"TagInclusions"` WriteConfig string `yaml:"WriteConfig"` }
GlobalOpts provides configurable options that will be used throughout the SDK
var GlobalConfig GlobalOpts
GlobalConfig ...
func (*GlobalOpts) CleanupTmp ¶ added in v0.0.28
func (ctx *GlobalOpts) CleanupTmp()
CleanupTmp is used to dispose of any temp resources used during execution
func (*GlobalOpts) LogConfigState ¶ added in v0.0.28
func (ctx *GlobalOpts) LogConfigState()
LogConfigState ...
func (*GlobalOpts) OutputDir ¶ added in v0.0.28
func (ctx *GlobalOpts) OutputDir() string
OutputDir parses a filepath based on GlobalOpts.InstallDir and the datetime this was initialized
func (*GlobalOpts) SetTmpDir ¶ added in v0.0.26
func (ctx *GlobalOpts) SetTmpDir(path string)
SetTmpDir sets the location that temporary files will be written to
type Kubernetes ¶
type Kubernetes struct { KeepPods string `yaml:"KeepPods"` // TODO: Change type to bool, this would allow us to remove logic from kubernetes.GetKeepPodsFromConfig() Probes []Probe `yaml:"Probes"` KubeConfigPath string `yaml:"KubeConfig"` KubeContext string `yaml:"KubeContext"` SystemClusterRoles []string `yaml:"SystemClusterRoles"` AuthorisedContainerRegistry string `yaml:"AuthorisedContainerRegistry"` ProbeImage string `yaml:"ProbeImage"` ContainerRequiredDropCapabilities []string `yaml:"ContainerRequiredDropCapabilities"` ContainerAllowedAddCapabilities []string `yaml:"ContainerAllowedAddCapabilities"` ApprovedVolumeTypes []string `yaml:"ApprovedVolumeTypes"` UnapprovedHostPort string `yaml:"UnapprovedHostPort"` SystemNamespace string `yaml:"SystemNamespace"` ProbeNamespace string `yaml:"ProbeNamespace"` DashboardPodNamePrefix string `yaml:"DashboardPodNamePrefix"` Azure K8sAzure `yaml:"Azure"` }
Kubernetes config options
func (Kubernetes) IsExcluded ¶
func (k Kubernetes) IsExcluded() bool
IsExcluded will log and return exclusion configuration
type Probe ¶
type Probe struct { Name string `yaml:"Name"` Excluded string `yaml:"Excluded"` Scenarios []Scenario `yaml:"Scenarios"` }
Probe config options
func (Probe) IsExcluded ¶
IsExcluded will log and return exclusion configuration
type Scenario ¶
Scenario config options
func (Scenario) IsExcluded ¶
IsExcluded will log and return exclusion configuration
type ServicePacks ¶
type ServicePacks struct { Kubernetes Kubernetes `yaml:"Kubernetes"` Storage Storage `yaml:"Storage"` APIM APIM `yaml:"APIM"` }
ServicePacks config options
type Storage ¶
type Storage struct { Provider string `yaml:"Provider"` // Placeholder! Probes []Probe `yaml:"Probes"` }
Storage service pack config options
func (Storage) IsExcluded ¶
IsExcluded will log and return exclusion configuration
type VarOptions ¶
type VarOptions struct { // NOTE: Env and Defaults are ONLY available if corresponding logic is added to defaults.go Run []string `yaml:"Run"` ServicePacks ServicePacks `yaml:"ServicePacks"` CloudProviders CloudProviders `yaml:"CloudProviders"` OutputType string `yaml:"OutputType"` WriteDirectory string `yaml:"WriteDirectory"` AuditEnabled string `yaml:"AuditEnabled"` LogLevel string `yaml:"LogLevel"` OverwriteHistoricalAudits string `yaml:"OverwriteHistoricalAudits"` TagExclusions []string `yaml:"TagExclusions"` TagInclusions []string `yaml:"TagInclusions"` WriteConfig string `yaml:"WriteConfig"` Tags string // set by flags VarsFile string // set by flags only NoSummary bool // set by flags only Silent bool // set by flags only Meta Meta // set by CLI options only ResultsFormat string // set by flags only }
VarOptions contains all top-level config vars
var Vars VarOptions
Vars is a singleton instance of VarOptions
func NewConfig ¶
func NewConfig(c string) (VarOptions, error)
NewConfig overrides the current config.GlobalConfig values
func (*VarOptions) AuditDir ¶
func (ctx *VarOptions) AuditDir() string
AuditDir creates and returns -audit- directory within WriteDirectory
func (*VarOptions) CucumberDir ¶
func (ctx *VarOptions) CucumberDir() string
CucumberDir creates and returns -cucumber- directory within WriteDirectory
func (*VarOptions) GetTags ¶
func (ctx *VarOptions) GetTags() string
GetTags returns Tags, prioritising command line parameter over vars file
func (*VarOptions) GetWriteDirectory ¶
func (ctx *VarOptions) GetWriteDirectory() string
GetWriteDirectory creates and returns the output folder specified in settings + executable name
func (*VarOptions) LogConfigState ¶
func (ctx *VarOptions) LogConfigState()
LogConfigState will write the config file to the write directory
func (*VarOptions) Overwrite ¶
func (ctx *VarOptions) Overwrite() bool
Overwrite returns the string value of the OverwriteHistoricalAudits in bool format
func (*VarOptions) SetTags ¶
func (ctx *VarOptions) SetTags(tags map[string][]string)
SetTags will parse the tags specified in Vars.Tags