Documentation
¶
Index ¶
- Constants
- func ConfigureGlobal(conf config.Config) (err error)
- func ConfigureGlobalFromViper(v *viper.Viper) error
- func ConfigureGlobalLogger(conf config.Config, logger logrus.Ext1FieldLogger) (err error)
- func ExtractFiles(def Definition) []string
- func GetBurn(def Definition) (int64, error)
- func GetBurns(def Definition) ([]int64, error)
- func GetDist(def Definition) ([]*entity.ResourceDist, error)
- func GetEnvs(def Definition) ([]map[string]string, error)
- func GetTests(def Definition, meta Meta) ([]command.Test, error)
- func GetTestsUnsafe(def Definition, meta Meta) ([]command.Test, error)
- type Commands
- type Definition
- type Meta
- type MetaPlus
Constants ¶
const ( StorageBurnRate int64 = 8 MemoryBurnRate int64 = 217 CPUBurnRate int64 = 1615 )
Variables ¶
This section is empty.
Functions ¶
func ConfigureGlobal ¶
ConfigureGlobal allows you to provide the global config for this library
func ConfigureGlobalFromViper ¶
ConfigureGlobalFromViper allows you to tie in configuration for this library from viper.
func ConfigureGlobalLogger ¶
func ConfigureGlobalLogger(conf config.Config, logger logrus.Ext1FieldLogger) (err error)
ConfigureGlobalLogger allows you to provide the global config for this library
func ExtractFiles ¶
func ExtractFiles(def Definition) []string
ExtractFiles extracts the input files from the definition
func GetBurns ¶
func GetBurns(def Definition) ([]int64, error)
func GetDist ¶
func GetDist(def Definition) ([]*entity.ResourceDist, error)
GetDist gets the resource distribution
func GetEnvs ¶
func GetEnvs(def Definition) ([]map[string]string, error)
GetEnvs gets the environment variables which will be supplied to each of the containers
func GetTests ¶
func GetTests(def Definition, meta Meta) ([]command.Test, error)
GetTests gets all of the commands, for both provisioner and genesis. The genesis commands will be in dependency groups, so that res[n+1] is the set of commands which require the execution of the commands In res[n].
func GetTestsUnsafe ¶
func GetTestsUnsafe(def Definition, meta Meta) ([]command.Test, error)
Types ¶
type Commands ¶
type Commands interface {
// GetTests gets all of the commands, for both provisioner and genesis.
// The genesis commands will be in dependency groups, so that
// res[n+1] is the set of commands which require the execution of the commands
// In res[n].
GetTests(def Definition, meta Meta) ([]command.Test, error)
// GetTestsUnsafe is like GetTests, but doesn't generate a cryptographic key pair for auth
GetTestsUnsafe(def Definition, meta Meta) ([]command.Test, error)
// GetEnvs gets the environment variables which will be supplied to each of the containers
GetEnvs(def Definition) ([]map[string]string, error)
// GetDist gets the resource distribution
GetDist(def Definition) ([]*entity.ResourceDist, error)
// Get the resource burn per second
GetBurn(def Definition) (int64, error)
GetBurns(def Definition) ([]int64, error)
ExtractFiles(def Definition) []string
}
Commands is the interface of a parser that extracts commands from a definition
func NewCommands ¶
func NewCommands(conf config.Config, logger logrus.Ext1FieldLogger) Commands
NewCommands creates a new command extractor from the given viper config
type Definition ¶
type Definition struct {
// ID is the test ID
ID string
// OrgID
OrgID string
Spec schema.RootSchema
}
Definition is the top level container for the test definition specification.
func JSON ¶
func JSON(raw []byte) (out Definition, err error)
JSON takes a raw set of JSON bytes and de-serializes them to a Definition structure.
func SchemaANY ¶
func SchemaANY(raw []byte) (Definition, error)
SchemaANY will first try yaml and then try JSON
func SchemaJSON ¶
func SchemaJSON(raw []byte) (out Definition, err error)
SchemaJSON takes a raw set of JSON bytes and de-serializes them to a Definition structure from just the test spec.
func SchemaYAML ¶
func SchemaYAML(raw []byte) (out Definition, err error)
SchemaYAML takes a raw set of YAML bytes and de-serializes them to a Definition structure from just the test spec.
func YAML ¶
func YAML(raw []byte) (out Definition, err error)
YAML takes a raw set of YAML bytes and de-serializes them to a Definition structure.
type Meta ¶
type Meta struct {
// Files is the metadata of the files provided for the user. This field is optional.
Files []common.Metadata `json:"files,omitempty"`
// Domains are domain names for the created instances. This field is optional.
Domains []string `json:"domains,omitempty"`
Limits common.TestLimits `json:"limits,omitempty"`
DockerAuth command.Credentials `json:"dockerAuth,omitempty"`
Metrics settings.Metrics `json:"metrics,omitempty"`
CloudDetails biome.CloudAccess `json:"cloudDetails,omitempty"`
DebugMode bool `json:"debugMode,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
}
Meta is addition data for functionalities not covered in the scope of the test definition schema. Such as the data on the referenced files themselves
Directories
¶
| Path | Synopsis |
|---|---|
|
biome
Package biome messages used to perform commands, transiting over RabbitMQ.
|
Package biome messages used to perform commands, transiting over RabbitMQ. |
|
config
package config contains the structures used for configuration for this library
|
package config contains the structures used for configuration for this library |
|
config/defaults
package defaults provides structures for the defaults of the test definition format
|
package defaults provides structures for the defaults of the test definition format |