check

package
v1.9.0 Latest Latest
Warning

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

Go to latest
Published: Dec 7, 2020 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var GitHubReleasesURL = "https://api.github.com/repos/thestormforge/optimize-controller/releases"

Functions

func NewCommand

func NewCommand(o *Options) *cobra.Command

NewCommand creates a new command for checking components

func NewConfigCommand

func NewConfigCommand(o *ConfigOptions) *cobra.Command

NewConfigCommand creates a new command for checking the Red Sky Configuration

func NewControllerCommand

func NewControllerCommand(o *ControllerOptions) *cobra.Command

NewControllerCommand creates a new command for checking a Red Sky controller

func NewExperimentCommand

func NewExperimentCommand(o *ExperimentOptions) *cobra.Command

NewExperimentCommand creates a new command for checking an experiment manifest

func NewVersionCommand

func NewVersionCommand(o *VersionOptions) *cobra.Command

NewVersionCommand creates a new command for checking the current version of the product

Types

type APIError

type APIError struct {
	StatusCode       int    `json:"-"`
	Message          string `json:"message"`
	DocumentationURL string `json:"documentation_url"`
}

func (*APIError) Error

func (e *APIError) Error() string

type AllTheLint

type AllTheLint struct {
	Problems []LintError
}

AllTheLint is an entry point for collecting LintError instances.

func (*AllTheLint) For

func (l *AllTheLint) For(elem ...interface{}) Linter

For returns a new linter at the specified path

type Asset

type Asset struct {
	Name               string `json:"name"`
	BrowserDownloadURL string `json:"browser_download_url"`
}

type ConfigOptions

type ConfigOptions struct {
	// Config is the Red Sky Configuration to check
	Config *config.RedSkyConfig
	// ExperimentsAPI is used to interact with the Red Sky Experiments API
	ExperimentsAPI experimentsv1alpha1.API
	// IOStreams are used to access the standard process streams
	commander.IOStreams
}

ConfigOptions are the options for checking a Red Sky Configuration

type ControllerOptions

type ControllerOptions struct {
	// Config is the Red Sky Configuration for connecting to the cluster
	Config *config.RedSkyConfig
	// IOStreams are used to access the standard process streams
	commander.IOStreams

	// Wait for the controller to be ready
	Wait bool
}

ControllerOptions are the options for checking a Red Sky controller

type ExperimentOptions

type ExperimentOptions struct {
	// IOStreams are used to access the standard process streams
	commander.IOStreams

	Filename string
}

ExperimentOptions are the options for checking an experiment manifest

type Lint

type Lint interface {
	// WithDescription returns this lint including the specified description
	WithDescription(description string) Lint
	// Missing indicates that something should have been specified but wasn't
	Missing(thing string)
	// Invalid indicates that something was not properly set from a closed set of possible valid values
	Invalid(thing string, was interface{}, allowed ...interface{})
	// Failed indicates that processing something produced an error
	Failed(thing string, err error)
}

Lint is the general types of problems we can have

type LintError

type LintError struct {
	// Path is the dotted notation path leading to where the lint was encountered
	Path string
	// Severity indicates how bad this is: 0 = error (you will have problems), 1 = warning (you might have problems), 2+ = nitpicking (you won't have problems)
	Severity int
	// Message is a brief indicator of what went wrong
	Message string
	// Description is a more detailed explanation, possibly including remediation
	Description string
}

LintError is an indication that something is wrong

func (*LintError) Error

func (e *LintError) Error() string

Error allows an individual lint error to be used as an error

type Linter

type Linter interface {
	// For returns a new linter at the specified path
	For(elem ...interface{}) Linter
	// Severity determines how serious the lint is
	Severity(s int) Lint

	// Error is sugar for `Severity(0)`
	Error() Lint
	// Warning is sugar for `Severity(1)`
	Warning() Lint
}

Linter is a collector of lint errors

type Options

type Options struct {
	// Config is the Red Sky Configuration
	Config *config.RedSkyConfig
}

Options includes the configuration for the subcommands

type Release

type Release struct {
	Name       string  `json:"name"`
	TagName    string  `json:"tag_name"`
	Draft      bool    `json:"draft"`
	Prerelease bool    `json:"prerelease"`
	Assets     []Asset `json:"assets"`
}

func (*Release) AssetByName

func (r *Release) AssetByName(name string) *Asset

type ReleaseList

type ReleaseList []Release

func (ReleaseList) Latest

func (rl ReleaseList) Latest() *Release

type VersionOptions

type VersionOptions struct {
	// IOStreams are used to access the standard process streams
	commander.IOStreams
}

VersionOptions are the options for checking the current version of the product

Jump to

Keyboard shortcuts

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