config

package
v1.50.18 Latest Latest
Warning

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

Go to latest
Published: Nov 27, 2024 License: MIT Imports: 24 Imported by: 14

README

TOML Config

Documentation

Documentation

Index

Constants

View Source
const (
	E2E_TEST_LOG_COLLECT_ENV                          = "E2E_TEST_LOG_COLLECT"
	E2E_TEST_LOGGING_RUN_ID_ENV                       = "E2E_TEST_LOGGING_RUN_ID"
	E2E_TEST_LOG_STREAM_LOG_TARGETS_ENV               = "E2E_TEST_LOG_STREAM_LOG_TARGETS"
	E2E_TEST_LOKI_TENANT_ID_ENV                       = "E2E_TEST_LOKI_TENANT_ID"
	E2E_TEST_LOKI_ENDPOINT_ENV                        = "E2E_TEST_LOKI_ENDPOINT"
	E2E_TEST_LOKI_BASIC_AUTH_ENV                      = "E2E_TEST_LOKI_BASIC_AUTH"
	E2E_TEST_LOKI_BEARER_TOKEN_ENV                    = "E2E_TEST_LOKI_BEARER_TOKEN" // #nosec G101
	E2E_TEST_GRAFANA_BASE_URL_ENV                     = "E2E_TEST_GRAFANA_BASE_URL"
	E2E_TEST_GRAFANA_DASHBOARD_URL_ENV                = "E2E_TEST_GRAFANA_DASHBOARD_URL"
	E2E_TEST_GRAFANA_BEARER_TOKEN_ENV                 = "E2E_TEST_GRAFANA_BEARER_TOKEN" // #nosec G101
	E2E_TEST_PYROSCOPE_ENABLED_ENV                    = "E2E_TEST_PYROSCOPE_ENABLED"
	E2E_TEST_PYROSCOPE_SERVER_URL_ENV                 = "E2E_TEST_PYROSCOPE_SERVER_URL"
	E2E_TEST_PYROSCOPE_KEY_ENV                        = "E2E_TEST_PYROSCOPE_KEY"
	E2E_TEST_PYROSCOPE_ENVIRONMENT_ENV                = "E2E_TEST_PYROSCOPE_ENVIRONMENT"
	E2E_TEST_CHAINLINK_IMAGE_ENV                      = "E2E_TEST_CHAINLINK_IMAGE"
	E2E_TEST_CHAINLINK_VERSION_ENV                    = "E2E_TEST_CHAINLINK_VERSION"
	E2E_TEST_CHAINLINK_POSTGRES_VERSION_ENV           = "E2E_TEST_CHAINLINK_POSTGRES_VERSION"
	E2E_TEST_CHAINLINK_UPGRADE_IMAGE_ENV              = "E2E_TEST_CHAINLINK_UPGRADE_IMAGE"
	E2E_TEST_CHAINLINK_UPGRADE_VERSION_ENV            = "E2E_TEST_CHAINLINK_UPGRADE_VERSION"
	E2E_TEST_SELECTED_NETWORK_ENV                     = `E2E_TEST_SELECTED_NETWORK`
	E2E_TEST_WALLET_KEY_ENV                           = `E2E_TEST_(.+)_WALLET_KEY$`
	E2E_TEST_WALLET_KEYS_ENV                          = `E2E_TEST_(.+)_WALLET_KEY_(\d+)$`
	E2E_TEST_RPC_HTTP_URL_ENV                         = `E2E_TEST_(.+)_RPC_HTTP_URL$`
	E2E_TEST_RPC_HTTP_URLS_ENV                        = `E2E_TEST_(.+)_RPC_HTTP_URL_(\d+)$`
	E2E_TEST_RPC_WS_URL_ENV                           = `E2E_TEST_(.+)_RPC_WS_URL$`
	E2E_TEST_RPC_WS_URLS_ENV                          = `E2E_TEST_(.+)_RPC_WS_URL_(\d+)$`
	E2E_TEST_PRIVATE_ETHEREUM_EXECUTION_LAYER_ENV     = "E2E_TEST_PRIVATE_ETHEREUM_EXECUTION_LAYER"
	E2E_TEST_PRIVATE_ETHEREUM_ETHEREUM_VERSION_ENV    = "E2E_TEST_PRIVATE_ETHEREUM_ETHEREUM_VERSION"
	E2E_TEST_PRIVATE_ETHEREUM_CUSTOM_DOCKER_IMAGE_ENV = "E2E_TEST_PRIVATE_ETHEREUM_CUSTOM_DOCKER_IMAGE"
)

Variables

View Source
var (
	ErrMissingEthereumVersion = errors.New("ethereum version is required")
	ErrMissingExecutionLayer  = errors.New("execution layer is required")
	Eth1NotSupportedByRethMsg = "eth1 is not supported by Reth, please use eth2"
	DefaultNodeLogLevel       = "info"
)

Functions

func BytesToAnyTomlStruct

func BytesToAnyTomlStruct(logger zerolog.Logger, filename, configurationName string, target any, content []byte) error

BytesToAnyTomlStruct unmarshals the given bytes into the given target struct, apart from unmarshalling the root it also looks for given configuration name and unmarshals it into the target struct overwriting the root. Target needs to be a struct with exported fields with `toml:"field_name"` tags.

func LoadSecretEnvsFromFiles

func LoadSecretEnvsFromFiles() error

func MightConfigOverridePyroscopeKey

func MightConfigOverridePyroscopeKey(config *PyroscopeConfig, target interface{})

MightConfigOverridePyroscope will override the pyroscope config in property maps from the passed config. If the config is nil, or the enabled flag is not set, or the key is not set, then this function will do nothing.

func MustConfigOverrideChainlinkVersion

func MustConfigOverrideChainlinkVersion(config *ChainlinkImageConfig, target interface{})

MustConfigOverrideChainlinkVersion will override the chainlink image and version in property maps from the passed config. It will panic if the config is nil.

func MustReadEnvVar_Boolean

func MustReadEnvVar_Boolean(name string) *bool

func MustReadEnvVar_String

func MustReadEnvVar_String(name string) string

func MustReadEnvVar_Strings

func MustReadEnvVar_Strings(name, sep string) []string

func ReadEnvVarGroupedMap

func ReadEnvVarGroupedMap(singleEnvPattern, groupEnvPattern string) map[string][]string

ReadEnvVarGroupedMap combines environment variables into a map where keys map to slices of strings. It accepts `singleEnvPattern` for single variables and `groupEnvPattern` for grouped variables. Returns a map combining values from both patterns, with single values wrapped in slices.

func ReadEnvVarSlice_String

func ReadEnvVarSlice_String(pattern string) []string

ReadEnvVarSlice_String reads all environment variables matching the specified pattern and returns a slice of strings.

Types

type AnvilConfig

type AnvilConfig struct {
	URL                *string                  `toml:"url,omitempty"`                   // Needed if you want to fork a network. URL is the URL of the node to fork from. Refer to https://book.getfoundry.sh/reference/anvil/#options
	BlockNumber        *int64                   `toml:"block_number,omitempty"`          // Needed if fork URL is provided for forking. BlockNumber is the block number to fork from. Refer to https://book.getfoundry.sh/reference/anvil/#options
	BlockTime          *int64                   `toml:"block_time,omitempty"`            // how frequent blocks are mined. By default, it automatically generates a new block as soon as a transaction is submitted. Refer to https://book.getfoundry.sh/reference/anvil/#options
	BlockGaslimit      *int64                   `toml:"block_gaslimit,omitempty"`        //  BlockGaslimit is the gas limit for each block. Refer to https://book.getfoundry.sh/reference/anvil/#options
	CodeSize           *int64                   `toml:"code_size,omitempty"`             //  CodeSize is the size of the code in bytes. Refer to https://book.getfoundry.sh/reference/anvil/#options
	BaseFee            *int64                   `toml:"base_fee,omitempty"`              //  BaseFee is the base fee for block. Refer to https://book.getfoundry.sh/reference/anvil/#options
	Retries            *int                     `toml:"retries,omitempty"`               //  Needed if fork URL is provided for forking. Number of retry requests for spurious networks (timed out requests). Refer to https://book.getfoundry.sh/reference/anvil/#options
	Timeout            *int64                   `toml:"timeout,omitempty"`               //  Needed if fork URL is provided for forking. Timeout in ms for requests sent to remote JSON-RPC server in forking mode. Refer to https://book.getfoundry.sh/reference/anvil/#options
	ComputePerSecond   *int64                   `toml:"compute_per_second,omitempty"`    // Needed if fork URL is provided for forking. Sets the number of assumed available compute units per second for this provider. Refer to https://book.getfoundry.sh/reference/anvil/#options
	RateLimitDisabled  *bool                    `toml:"rate_limit_disabled,omitempty"`   // Needed if fork URL is provided for forking. Rate limiting for this node’s provider. If set to true the node will start with --no-rate-limit Refer to https://book.getfoundry.sh/reference/anvil/#options
	NoOfAccounts       *int                     `toml:"no_of_accounts,omitempty"`        // Number of accounts to generate. Refer to https://book.getfoundry.sh/reference/anvil/#options
	EnableTracing      *bool                    `toml:"enable_tracing,omitempty"`        // Enable tracing for the node. Refer to https://book.getfoundry.sh/reference/anvil/#options
	BlocksToKeepInMem  *int64                   `toml:"blocks_to_keep_in_mem,omitempty"` // Refer to --transaction-block-keeper option in https://book.getfoundry.sh/reference/anvil/#options
	GasSpikeSimulation GasSpikeSimulationConfig `toml:"GasSpikeSimulation,omitempty"`
	GasLimitSimulation GasLimitSimulationConfig `toml:"GasLimitSimulation,omitempty"`
}

type ChainlinkImageConfig

type ChainlinkImageConfig struct {
	Image           *string `toml:"-"`
	Version         *string `toml:"version"`
	PostgresVersion *string `toml:"postgres_version,omitempty"`
}

func (*ChainlinkImageConfig) Validate

func (c *ChainlinkImageConfig) Validate() error

Validate checks that the chainlink image config is valid, which means that both image and version are set and non-empty

type ConsensusLayer

type ConsensusLayer string
var ConsensusLayer_Prysm ConsensusLayer = "prysm"

type ConsensusType deprecated

type ConsensusType string

Deprecated: use EthereumVersion instead

const (
	// Deprecated: use EthereumVersion_Eth2 instead
	ConsensusType_PoS ConsensusType = "pos"
	// Deprecated: use EthereumVersion_Eth1 instead
	ConsensusType_PoW ConsensusType = "pow"
)

type ContainerType

type ContainerType string
const (
	ContainerType_ExecutionLayer     ContainerType = "execution_layer"
	ContainerType_ConsensusLayer     ContainerType = "consensus_layer"
	ContainerType_ConsensusValidator ContainerType = "consensus_validator"
	ContainerType_GenesisGenerator   ContainerType = "genesis_generator"
	ContainerType_ValKeysGenerator   ContainerType = "val_keys_generator"
)

type EnvValueType

type EnvValueType int
const (
	String EnvValueType = iota
	Integer
	Boolean
	Float
)

type EthereumChainConfig

type EthereumChainConfig struct {
	SecondsPerSlot   int            `json:"seconds_per_slot" toml:"seconds_per_slot"`
	SlotsPerEpoch    int            `json:"slots_per_epoch" toml:"slots_per_epoch"`
	GenesisDelay     int            `json:"genesis_delay" toml:"genesis_delay"`
	ValidatorCount   int            `json:"validator_count" toml:"validator_count"`
	ChainID          int            `json:"chain_id" toml:"chain_id"`
	GenesisTimestamp int            // this is not serialized
	AddressesToFund  []string       `json:"addresses_to_fund" toml:"addresses_to_fund"`
	HardForkEpochs   map[string]int `json:"HardForkEpochs" toml:"HardForkEpochs"`
}

func MustGetDefaultChainConfig

func MustGetDefaultChainConfig() EthereumChainConfig

MustGetDefaultChainConfig returns the default EthereumChainConfig or panics if it can't be loaded

func (*EthereumChainConfig) ApplyOverrides

func (c *EthereumChainConfig) ApplyOverrides(from *EthereumChainConfig) error

ApplyOverrides applies overrides from another EthereumChainConfig

func (*EthereumChainConfig) Default

func (c *EthereumChainConfig) Default() error

Default sets the EthereumChainConfig to the default values

func (*EthereumChainConfig) DefaultFinalizationWaitDuration

func (c *EthereumChainConfig) DefaultFinalizationWaitDuration() time.Duration

DefaultFinalizationWaitDuration returns the default wait duration for finalization

func (*EthereumChainConfig) DefaultWaitDuration

func (c *EthereumChainConfig) DefaultWaitDuration() time.Duration

DefaultWaitDuration returns the default wait duration for the network based on the genesis delay and the number of validators

func (*EthereumChainConfig) FillInMissingValuesWithDefault

func (c *EthereumChainConfig) FillInMissingValuesWithDefault()

FillInMissingValuesWithDefault fills in missing/zero values with default values

func (*EthereumChainConfig) GenerateGenesisTimestamp

func (c *EthereumChainConfig) GenerateGenesisTimestamp()

func (*EthereumChainConfig) Validate

func (c *EthereumChainConfig) Validate(l zerolog.Logger, ethereumVersion *config_types.EthereumVersion, executionLayer *config_types.ExecutionLayer, customDockerImages map[ContainerType]string) error

Validate validates the EthereumChainConfig

func (*EthereumChainConfig) ValidateHardForks

func (c *EthereumChainConfig) ValidateHardForks(l zerolog.Logger, ethereumVersion *config_types.EthereumVersion, executionLayer *config_types.ExecutionLayer, customDockerImages map[ContainerType]string) error

ValidateHardForks validates hard forks based either on custom or default docker images for eth2 execution layer

func (*EthereumChainConfig) ValidatorBasedGenesisDelay

func (c *EthereumChainConfig) ValidatorBasedGenesisDelay() int

ValidatorBasedGenesisDelay returns the delay in seconds based on the number of validators

type EthereumNetworkConfig

type EthereumNetworkConfig struct {
	ConsensusType        *config_types.EthereumVersion `toml:"consensus_type"`
	EthereumVersion      *config_types.EthereumVersion `toml:"ethereum_version"`
	ConsensusLayer       *ConsensusLayer               `toml:"consensus_layer"`
	ExecutionLayer       *config_types.ExecutionLayer  `toml:"execution_layer"`
	DockerNetworkNames   []string                      `toml:"docker_network_names"`
	Containers           EthereumNetworkContainers     `toml:"containers"`
	WaitForFinalization  *bool                         `toml:"wait_for_finalization"`
	GeneratedDataHostDir *string                       `toml:"generated_data_host_dir"`
	ValKeysDir           *string                       `toml:"val_keys_dir"`
	EthereumChainConfig  *EthereumChainConfig          `toml:"EthereumChainConfig"`
	CustomDockerImages   map[ContainerType]string      `toml:"CustomDockerImages"`
	NodeLogLevel         *string                       `toml:"node_log_level,omitempty"`
}

func (*EthereumNetworkConfig) ApplyOverrides

func (en *EthereumNetworkConfig) ApplyOverrides(from *EthereumNetworkConfig) error

func (*EthereumNetworkConfig) Describe

func (en *EthereumNetworkConfig) Describe() string

func (*EthereumNetworkConfig) Validate

func (en *EthereumNetworkConfig) Validate() error

type EthereumNetworkContainer

type EthereumNetworkContainer struct {
	ContainerName string        `toml:"container_name"`
	ContainerType ContainerType `toml:"container_type"`
	Container     *tc.Container `toml:"-"`
}

type EthereumNetworkContainers

type EthereumNetworkContainers []EthereumNetworkContainer

type GasLimitSimulationConfig

type GasLimitSimulationConfig struct {
	Enabled                bool                   `toml:"enabled,omitempty"`
	NextGasLimitPercentage float64                `toml:"next_gas_limit_percentage,omitempty"` // Percentage of last gasUsed in previous block creating congestion
	DelayCreate            blockchain.StrDuration `toml:"delay_create,omitempty"`              // Delay before creating, expressed in Go duration format (e.g., "1m", "30s")
	Duration               blockchain.StrDuration `toml:"duration,omitempty"`                  // Duration of the gas simulation, expressed in Go duration format (e.g., "1m", "30s")
}

GasLimitSimulationConfig is the configuration for simulating gas limit changes on the network

type GasSpikeSimulationConfig

type GasSpikeSimulationConfig struct {
	Enabled           bool                   `toml:"enabled,omitempty"`
	StartGasPrice     int64                  `toml:"start_gas_price,omitempty"`
	GasRisePercentage float64                `toml:"gas_rise_percentage,omitempty"`
	GasSpike          bool                   `toml:"gas_spike,omitempty"`
	DelayCreate       blockchain.StrDuration `toml:"delay_create,omitempty"` // Delay before creating, expressed in Go duration format (e.g., "1m", "30s")
	Duration          blockchain.StrDuration `toml:"duration,omitempty"`     // Duration of the gas simulation, expressed in Go duration format (e.g., "1m", "30s")
}

GasSpikeSimulation is the configuration for simulating gas spikes on the network

type GlobalTestConfig

type GlobalTestConfig interface {
	GetChainlinkImageConfig() *ChainlinkImageConfig
	GetLoggingConfig() *LoggingConfig
	GetNetworkConfig() *NetworkConfig
	GetPrivateEthereumNetworkConfig() *EthereumNetworkConfig
	GetPyroscopeConfig() *PyroscopeConfig
	GetNodeConfig() *NodeConfig
	SethConfig
}

type GrafanaConfig

type GrafanaConfig struct {
	BaseUrl      *string `toml:"base_url"`
	BaseUrlCI    *string `toml:"base_url_github_ci"` // URL of GAP proxy used on CI for Grafana
	DashboardUrl *string `toml:"dashboard_url"`
	DashboardUID *string `toml:"dashboard_uid"` // UID of the dashboard to put annotations on
	BearerToken  *string `toml:"-"`
}

func (*GrafanaConfig) Validate

func (c *GrafanaConfig) Validate() error

Validate checks that the grafana config is valid, which means that base url is a valid URL and dashboard url and bearer token are not empty but that only applies if they are set

type LogStreamConfig

type LogStreamConfig struct {
	LogTargets            []string                `toml:"log_targets"`
	LogProducerTimeout    *blockchain.StrDuration `toml:"log_producer_timeout"`
	LogProducerRetryLimit *uint                   `toml:"log_producer_retry_limit"`
}

func (*LogStreamConfig) Validate

func (l *LogStreamConfig) Validate() error

Validate checks that the log stream config is valid, which means that log targets are valid and log producer timeout is greater than 0

type LoggingConfig

type LoggingConfig struct {
	TestLogCollect         *bool            `toml:"test_log_collect,omitempty"`
	ShowHTMLCoverageReport *bool            `toml:"show_html_coverage_report,omitempty"` // Show reports with go coverage data
	RunId                  *string          `toml:"run_id,omitempty"`
	Loki                   *LokiConfig      `toml:"-"`
	Grafana                *GrafanaConfig   `toml:"Grafana,omitempty"`
	LogStream              *LogStreamConfig `toml:"LogStream,omitempty"`
}

func (*LoggingConfig) Validate

func (l *LoggingConfig) Validate() error

Validate executes config validation for LogStream, Grafana and Loki

type LokiConfig

type LokiConfig struct {
	TenantId    *string `toml:"-"`
	Endpoint    *string `toml:"-"`
	BasicAuth   *string `toml:"-"`
	BearerToken *string `toml:"-"`
}

func (*LokiConfig) Validate

func (l *LokiConfig) Validate() error

Validate checks that the loki config is valid, which means that endpoint is a valid URL and tenant id is not empty

type NamedConfigurations

type NamedConfigurations interface {
	GetConfigurationNames() []string
}

type NetworkConfig

type NetworkConfig struct {
	SelectedNetworks []string `toml:"selected_networks,omitempty"`
	// EVMNetworks is the configuration for the EVM networks, key is the network name as declared in selected_networks slice.
	// if not set, it will try to find the network from defined networks in MappedNetworks under known_networks.go
	EVMNetworks map[string]*blockchain.EVMNetwork `toml:"EVMNetworks,omitempty"`
	// AnvilConfigs is the configuration for forking from a node,
	// key is the network name as declared in selected_networks slice
	AnvilConfigs map[string]*AnvilConfig `toml:"AnvilConfigs,omitempty"`
	// GethReorgConfig is the configuration for handling reorgs on Simulated Geth
	GethReorgConfig ReorgConfig `toml:"GethReorgConfig,omitempty"`
	// RpcHttpUrls is the RPC HTTP endpoints for each network,
	// key is the network name as declared in selected_networks slice
	RpcHttpUrls map[string][]string `toml:"RpcHttpUrls,omitempty"`
	// RpcWsUrls is the RPC WS endpoints for each network,
	// key is the network name as declared in selected_networks slice
	RpcWsUrls map[string][]string `toml:"RpcWsUrls,omitempty"`
	// WalletKeys is the private keys for the funding wallets for each network,
	// key is the network name as declared in selected_networks slice
	WalletKeys map[string][]string `toml:"WalletKeys,omitempty"`
}

NetworkConfig is the configuration for the networks to be used

func (NetworkConfig) IsSimulatedGethSelected

func (n NetworkConfig) IsSimulatedGethSelected() bool

func (*NetworkConfig) OverrideURLsAndKeysFromEVMNetwork

func (n *NetworkConfig) OverrideURLsAndKeysFromEVMNetwork()

OverrideURLsAndKeysFromEVMNetwork applies the URLs and keys from the EVMNetworks to the NetworkConfig it overrides the URLs and Keys present in RpcHttpUrls, RpcWsUrls and WalletKeys in the NetworkConfig with the URLs and Keys provided in the EVMNetworks

func (*NetworkConfig) UpperCaseNetworkNames

func (n *NetworkConfig) UpperCaseNetworkNames()

UpperCaseNetworkNames converts all network name keys for wallet keys, rpc endpoints maps and selected network slice to upper case

func (*NetworkConfig) Validate

func (n *NetworkConfig) Validate() error

Validate checks if all required fields are set, meaning that there must be at least 1 selected network and unless it's a simulated network, there must be at least 1 rpc endpoint for HTTP and WS and 1 private key for funding wallet

type NodeConfig

type NodeConfig struct {
	BaseConfigTOML           string            `toml:",omitempty"`
	CommonChainConfigTOML    string            `toml:",omitempty"`
	ChainConfigTOMLByChainID map[string]string `toml:",omitempty"` // key is chainID
}

type PyroscopeConfig

type PyroscopeConfig struct {
	Enabled     *bool   `toml:"enabled"`
	ServerUrl   *string `toml:"-"`
	Key         *string `toml:"-"`
	Environment *string `toml:"-"`
}

func (*PyroscopeConfig) Validate

func (c *PyroscopeConfig) Validate() error

Validate checks that the pyroscope config is valid, which means that server url, environment and key are set and non-empty, but only if pyroscope is enabled

type ReorgConfig

type ReorgConfig struct {
	Enabled     bool                   `toml:"enabled,omitempty"`
	Depth       int                    `toml:"depth,omitempty"`
	DelayCreate blockchain.StrDuration `toml:"delay_create,omitempty"` // Delay before creating, expressed in Go duration format (e.g., "1m", "30s")
}

type SethConfig

type SethConfig interface {
	GetSethConfig() *seth.Config
}

type TestConfig

type TestConfig struct {
	ChainlinkImage         *ChainlinkImageConfig  `toml:"ChainlinkImage"`
	ChainlinkUpgradeImage  *ChainlinkImageConfig  `toml:"ChainlinkUpgradeImage"`
	Logging                *LoggingConfig         `toml:"Logging"`
	Network                *NetworkConfig         `toml:"Network"`
	Pyroscope              *PyroscopeConfig       `toml:"Pyroscope"`
	PrivateEthereumNetwork *EthereumNetworkConfig `toml:"PrivateEthereumNetwork"`
	WaspConfig             *WaspAutoBuildConfig   `toml:"WaspAutoBuild"`
	Seth                   *seth.Config           `toml:"Seth"`
	NodeConfig             *NodeConfig            `toml:"NodeConfig"`
}

func (TestConfig) GetChainlinkImageConfig

func (c TestConfig) GetChainlinkImageConfig() *ChainlinkImageConfig

func (*TestConfig) GetLoggingConfig

func (c *TestConfig) GetLoggingConfig() *LoggingConfig

func (TestConfig) GetNetworkConfig

func (c TestConfig) GetNetworkConfig() *NetworkConfig

func (*TestConfig) GetNodeConfig

func (c *TestConfig) GetNodeConfig() *NodeConfig

func (TestConfig) GetPrivateEthereumNetworkConfig

func (c TestConfig) GetPrivateEthereumNetworkConfig() *EthereumNetworkConfig

func (TestConfig) GetPyroscopeConfig

func (c TestConfig) GetPyroscopeConfig() *PyroscopeConfig

func (*TestConfig) ReadFromEnvVar

func (c *TestConfig) ReadFromEnvVar() error

Read config values from environment variables

type WaspAutoBuildConfig

type WaspAutoBuildConfig struct {
	Namespace           *string `toml:"namespace"`
	RepoImageVersionURI *string `toml:"repo_image_version_uri"`
	TestBinaryName      *string `toml:"test_binary_name"`
	TestName            *string `toml:"test_name"`
	TestTimeout         *string `toml:"test_timeout"`
	KeepJobs            bool    `toml:"keep_jobs"`
	WaspLogLevel        *string `toml:"wasp_log_level"`
	WaspJobs            *string `toml:"wasp_jobs"`
	UpdateImage         bool    `toml:"update_image"`
}

func (*WaspAutoBuildConfig) Validate

func (c *WaspAutoBuildConfig) Validate() error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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