Documentation ¶
Overview ¶
Package knuu provides the core functionality of knuu.
Index ¶
- func Identifier() stringdeprecated
- func ImageBuilder() builder.Builder
- func Initialize() error
- func InitializeWithIdentifier(uniqueIdentifier string) errordeprecated
- func InitializeWithScope(scope string) error
- func IsInitialized() bool
- func Scope() string
- func SetImageBuilder(b builder.Builder)
- type Action
- type Attributes
- type BasicAuthOTLP
- type Batch
- type ClientAuth
- type Executor
- type Exporters
- type Extensions
- type Instance
- func (i *Instance) AddCapabilities(capabilities []string) error
- func (i *Instance) AddCapability(capability string) error
- func (i *Instance) AddFile(src string, dest string, chown string) error
- func (i *Instance) AddFileBytes(bytes []byte, dest string, chown string) error
- func (i *Instance) AddFolder(src string, dest string, chown string) error
- func (i *Instance) AddPolicyRule(rule rbacv1.PolicyRule) error
- func (i *Instance) AddPortTCP(port int) error
- func (i *Instance) AddPortUDP(port int) error
- func (i *Instance) AddSidecar(sidecar *Instance) error
- func (i *Instance) AddVolume(path, size string) error
- func (i *Instance) AddVolumeWithOwner(path, size string, owner int64) error
- func (i *Instance) Clone() (*Instance, error)
- func (i *Instance) CloneWithName(name string) (*Instance, error)
- func (i *Instance) Commit() error
- func (i *Instance) CreatePool(amount int) (*InstancePool, error)
- func (i *Instance) Destroy() error
- func (i *Instance) DisableBitTwister() error
- func (i *Instance) DisableNetwork() error
- func (i *Instance) EnableBitTwister() error
- func (i *Instance) EnableNetwork() error
- func (i *Instance) ExecuteCommand(command ...string) (string, error)
- func (i *Instance) ExecuteCommandWithContext(ctx context.Context, command ...string) (string, error)
- func (i *Instance) GetFileBytes(file string) ([]byte, error)
- func (i *Instance) GetIP() (string, error)
- func (i *Instance) IsInState(states ...InstanceState) bool
- func (i *Instance) IsRunning() (bool, error)
- func (i *Instance) NetworkIsDisabled() (bool, error)
- func (i *Instance) PortForwardTCP(port int) (int, error)
- func (i *Instance) SetArgs(args ...string) error
- func (i *Instance) SetBandwidthLimit(limit int64) error
- func (i *Instance) SetCPU(request string) error
- func (i *Instance) SetCommand(command ...string) error
- func (i *Instance) SetEnvironmentVariable(key, value string) error
- func (i *Instance) SetGitRepo(ctx context.Context, gitContext builder.GitContext) error
- func (i *Instance) SetImage(image string) error
- func (i *Instance) SetImageInstant(image string) error
- func (i *Instance) SetJaegerEndpoint(grpcPort, thriftCompactPort, thriftHttpPort int) error
- func (i *Instance) SetJaegerExporter(endpoint string) error
- func (i *Instance) SetLatencyAndJitter(latency, jitter int64) error
- func (i *Instance) SetLivenessProbe(livenessProbe *v1.Probe) error
- func (i *Instance) SetMemory(request, limit string) error
- func (i *Instance) SetOtelCollectorVersion(version string) error
- func (i *Instance) SetOtelEndpoint(port int) error
- func (i *Instance) SetOtlpExporter(endpoint, username, password string) error
- func (i *Instance) SetPacketLoss(packetLoss int32) error
- func (i *Instance) SetPrivileged(privileged bool) error
- func (i *Instance) SetPrometheusEndpoint(port int, jobName, scapeInterval string) error
- func (i *Instance) SetPrometheusExporter(endpoint string) error
- func (i *Instance) SetPrometheusRemoteWriteExporter(endpoint string) error
- func (i *Instance) SetReadinessProbe(readinessProbe *v1.Probe) error
- func (i *Instance) SetStartupProbe(startupProbe *v1.Probe) error
- func (i *Instance) SetUser(user string) error
- func (i *Instance) Start() error
- func (i *Instance) StartWithoutWait() error
- func (i *Instance) Stop() error
- func (i *Instance) WaitInstanceIsRunning() error
- func (i *Instance) WaitInstanceIsStopped() error
- type InstancePool
- type InstanceState
- type InstanceType
- type Jaeger
- type JaegerExporter
- type JaegerGRPC
- type JaegerProtocols
- type JaegerThriftCompact
- type JaegerThriftHTTP
- type MemoryLimiter
- type Metrics
- type MetricsTelemetry
- type OTLP
- type OTLPAuth
- type OTLPHTTP
- type OTLPHTTPExporter
- type OTLPProtocols
- type OTelConfig
- type ObsyConfig
- type Pipelines
- type Preloader
- type Processors
- type Prometheus
- type PrometheusConfig
- type PrometheusExporter
- type PrometheusRemoteWriteExporter
- type Receivers
- type ScrapeConfig
- type SecurityContext
- type Service
- type StaticConfig
- type TLS
- type Telemetry
- type Traces
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Identifier
deprecated
added in
v0.4.0
func Identifier() string
Deprecated: Identifier is deprecated, use Scope() instead.
func ImageBuilder ¶ added in v0.11.0
func InitializeWithIdentifier
deprecated
added in
v0.4.0
func InitializeWithScope ¶ added in v0.13.2
InitializeWithScope initializes knuu with a given scope
func IsInitialized ¶ added in v0.7.0
func IsInitialized() bool
IsInitialized returns true if knuu is initialized, and false otherwise
func Scope ¶ added in v0.13.2
func Scope() string
Scope returns the scope of the current knuu instance
func SetImageBuilder ¶ added in v0.11.0
Types ¶
type Attributes ¶ added in v0.13.2
type Attributes struct {
Actions []Action `yaml:"actions,omitempty"`
}
type BasicAuthOTLP ¶ added in v0.10.0
type BasicAuthOTLP struct {
ClientAuth ClientAuth `yaml:"client_auth,omitempty"`
}
type ClientAuth ¶ added in v0.10.0
type Executor ¶
type Executor struct {
// contains filtered or unexported fields
}
func NewExecutor ¶
func (*Executor) ExecuteCommand ¶
type Exporters ¶ added in v0.10.0
type Exporters struct { OTLPHTTP OTLPHTTPExporter `yaml:"otlphttp,omitempty"` Jaeger JaegerExporter `yaml:"jaeger,omitempty"` Prometheus PrometheusExporter `yaml:"prometheus,omitempty"` PrometheusRemoteWrite PrometheusRemoteWriteExporter `yaml:"prometheusremotewrite,omitempty"` }
type Extensions ¶ added in v0.10.0
type Extensions struct {
BasicAuthOTLP BasicAuthOTLP `yaml:"basicauth/otlp,omitempty"`
}
type Instance ¶
type Instance struct { BitTwister *btConfig // contains filtered or unexported fields }
Instance represents a instance
func NewInstance ¶
NewInstance creates a new instance of the Instance struct
func (*Instance) AddCapabilities ¶ added in v0.11.0
AddCapabilities adds multiple capabilities to the instance This function can only be called in the state 'Preparing' or 'Committed'
func (*Instance) AddCapability ¶ added in v0.11.0
AddCapability adds a capability to the instance This function can only be called in the state 'Preparing' or 'Committed'
func (*Instance) AddFile ¶
AddFile adds a file to the instance This function can only be called in the state 'Preparing'
func (*Instance) AddFileBytes ¶
AddFileBytes adds a file with the given content to the instance This function can only be called in the state 'Preparing'
func (*Instance) AddFolder ¶ added in v0.7.0
AddFolder adds a folder to the instance This function can only be called in the state 'Preparing' or 'Committed'
func (*Instance) AddPolicyRule ¶ added in v0.8.2
func (i *Instance) AddPolicyRule(rule rbacv1.PolicyRule) error
AddPolicyRule adds a policy rule to the instance This function can only be called in the states 'Preparing' and 'Committed'
func (*Instance) AddPortTCP ¶
AddPortTCP adds a TCP port to the instance This function can be called in the states 'Preparing' and 'Committed'
func (*Instance) AddPortUDP ¶
AddPortUDP adds a UDP port to the instance This function can be called in the states 'Preparing' and 'Committed'
func (*Instance) AddSidecar ¶ added in v0.9.0
AddSidecar adds a sidecar to the instance This function can only be called in the state 'Preparing' or 'Committed'
func (*Instance) AddVolume ¶
AddVolume adds a volume to the instance The owner of the volume is set to 0, if you want to set a custom owner use AddVolumeWithOwner This function can only be called in the states 'Preparing' and 'Committed'
func (*Instance) AddVolumeWithOwner ¶ added in v0.7.2
AddVolumeWithOwner adds a volume to the instance with the given owner This function can only be called in the states 'Preparing' and 'Committed'
func (*Instance) Clone ¶ added in v0.3.0
Clone creates a clone of the instance This function can only be called in the state 'Committed' When cloning an instance that is a sidecar, the clone will be not a sidecar When cloning an instance with sidecars, the sidecars will be cloned as well
func (*Instance) CloneWithName ¶ added in v0.9.0
CloneWithName creates a clone of the instance with a given name This function can only be called in the state 'Committed' When cloning an instance that is a sidecar, the clone will be not a sidecar When cloning an instance with sidecars, the sidecars will be cloned as well
func (*Instance) Commit ¶
Commit commits the instance This function can only be called in the state 'Preparing'
func (*Instance) CreatePool ¶
func (i *Instance) CreatePool(amount int) (*InstancePool, error)
CreatePool creates a pool of instances This function can only be called in the state 'Committed'
func (*Instance) Destroy ¶
Destroy destroys the instance This function can only be called in the state 'Started' or 'Destroyed'
func (*Instance) DisableBitTwister ¶ added in v0.11.0
func (*Instance) DisableNetwork ¶ added in v0.7.0
DisableNetwork disables the network of the instance This does not apply to executor instances This function can only be called in the state 'Started'
func (*Instance) EnableBitTwister ¶ added in v0.11.0
func (*Instance) EnableNetwork ¶ added in v0.7.0
EnableNetwork enables the network of the instance This function can only be called in the state 'Started'
func (*Instance) ExecuteCommand ¶
ExecuteCommand executes the given command in the instance This function can only be called in the states 'Preparing' and 'Started'
func (*Instance) ExecuteCommandWithContext ¶ added in v0.11.0
func (i *Instance) ExecuteCommandWithContext(ctx context.Context, command ...string) (string, error)
ExecuteCommandWithContext executes the given command in the instance This function can only be called in the states 'Preparing' and 'Started' The context can be used to cancel the command and it is only possible in start state
func (*Instance) GetFileBytes ¶
GetFileBytes returns the content of the given file This function can only be called in the states 'Preparing' and 'Committed'
func (*Instance) GetIP ¶
GetIP returns the IP of the instance This function can only be called in the states 'Preparing' and 'Started'
func (*Instance) IsInState ¶
func (i *Instance) IsInState(states ...InstanceState) bool
IsInState checks if the instance is in one of the provided states
func (*Instance) IsRunning ¶ added in v0.7.0
IsRunning returns true if the instance is running This function can only be called in the state 'Started'
func (*Instance) NetworkIsDisabled ¶ added in v0.9.0
NetworkIsDisabled returns true if the network of the instance is disabled This function can only be called in the state 'Started'
func (*Instance) PortForwardTCP ¶ added in v0.5.0
PortForwardTCP forwards the given port to a random port on the host This function can only be called in the state 'Started'
func (*Instance) SetArgs ¶
SetArgs sets the arguments passed to the instance This function can only be called in the states 'Preparing' or 'Committed'
func (*Instance) SetBandwidthLimit ¶ added in v0.11.0
SetBandwidthLimit sets the bandwidth limit of the instance bandwidth limit in bps (e.g. 1000 for 1Kbps) Currently, only one of bandwidth, jitter, latency or packet loss can be set This function can only be called in the state 'Commited'
func (*Instance) SetCPU ¶ added in v0.4.0
SetCPU sets the CPU of the instance This function can only be called in the states 'Preparing' and 'Committed'
func (*Instance) SetCommand ¶
SetCommand sets the command to run in the instance This function can only be called when the instance is in state 'Preparing' or 'Committed'
func (*Instance) SetEnvironmentVariable ¶
SetEnvironmentVariable sets the given environment variable in the instance This function can only be called in the states 'Preparing' and 'Committed'
func (*Instance) SetGitRepo ¶ added in v0.11.0
SetGitRepo builds the image from the given git repo, pushes it to the registry under the given name and sets the image of the instance.
func (*Instance) SetImage ¶
SetImage sets the image of the instance. When calling in state 'Started', make sure to call AddVolume() before. It is only allowed in the 'None' and 'Started' states.
func (*Instance) SetImageInstant ¶ added in v0.7.0
SetImageInstant sets the image of the instance without a grace period. Instant means that the pod is replaced without a grace period of 1 second. It is only allowed in the 'Running' state.
func (*Instance) SetJaegerEndpoint ¶ added in v0.10.0
SetJaegerEndpoint sets the Jaeger endpoint for the instance This function can only be called in the state 'Preparing' or 'Committed'
func (*Instance) SetJaegerExporter ¶ added in v0.10.0
SetJaegerExporter sets the Jaeger exporter for the instance This function can only be called in the state 'Preparing' or 'Committed'
func (*Instance) SetLatencyAndJitter ¶ added in v0.11.0
SetLatency sets the latency of the instance latency in ms (e.g. 1000 for 1s) jitter in ms (e.g. 1000 for 1s) Currently, only one of bandwidth, jitter, latency or packet loss can be set This function can only be called in the state 'Commited'
func (*Instance) SetLivenessProbe ¶ added in v0.8.2
SetLivenessProbe sets the liveness probe of the instance A live probe is a probe that is used to determine if the instance is still alive, and should be restarted if not See usage documentation: https://pkg.go.dev/k8s.io/api/core/v1@v0.27.3#Probe This function can only be called in the states 'Preparing' and 'Committed'
func (*Instance) SetMemory ¶ added in v0.4.0
SetMemory sets the memory of the instance This function can only be called in the states 'Preparing' and 'Committed'
func (*Instance) SetOtelCollectorVersion ¶ added in v0.10.0
SetOtelCollectorVersion sets the OpenTelemetry collector version for the instance This function can only be called in the state 'Preparing' or 'Committed'
func (*Instance) SetOtelEndpoint ¶ added in v0.10.0
SetOtelEndpoint sets the OpenTelemetry endpoint for the instance This function can only be called in the state 'Preparing' or 'Committed'
func (*Instance) SetOtlpExporter ¶ added in v0.10.0
SetOtlpExporter sets the OTLP exporter for the instance This function can only be called in the state 'Preparing' or 'Committed'
func (*Instance) SetPacketLoss ¶ added in v0.11.0
SetPacketLoss sets the packet loss of the instance packet loss in percent (e.g. 10 for 10%) Currently, only one of bandwidth, jitter, latency or packet loss can be set This function can only be called in the state 'Commited'
func (*Instance) SetPrivileged ¶ added in v0.11.0
SetPrivileged sets the privileged status for the instance This function can only be called in the state 'Preparing' or 'Committed'
func (*Instance) SetPrometheusEndpoint ¶ added in v0.10.0
SetPrometheusEndpoint sets the Prometheus endpoint for the instance This function can only be called in the state 'Preparing' or 'Committed'
func (*Instance) SetPrometheusExporter ¶ added in v0.13.1
SetPrometheusExporter sets the Prometheus exporter for the instance This function can only be called in the state 'Preparing' or 'Committed'
func (*Instance) SetPrometheusRemoteWriteExporter ¶ added in v0.13.1
SetPrometheusRemoteWriteExporter sets the Prometheus remote write exporter for the instance This function can only be called in the state 'Preparing' or 'Committed'
func (*Instance) SetReadinessProbe ¶ added in v0.8.2
SetReadinessProbe sets the readiness probe of the instance A readiness probe is a probe that is used to determine if the instance is ready to receive traffic See usage documentation: https://pkg.go.dev/k8s.io/api/core/v1@v0.27.3#Probe This function can only be called in the states 'Preparing' and 'Committed'
func (*Instance) SetStartupProbe ¶ added in v0.8.2
SetStartupProbe sets the startup probe of the instance A startup probe is a probe that is used to determine if the instance is ready to receive traffic after a startup See usage documentation: https://pkg.go.dev/k8s.io/api/core/v1@v0.27.3#Probe This function can only be called in the states 'Preparing' and 'Committed'
func (*Instance) SetUser ¶ added in v0.7.0
SetUser sets the user for the instance This function can only be called in the state 'Preparing'
func (*Instance) Start ¶
Start starts the instance and waits for it to be ready This function can only be called in the state 'Committed' and 'Stopped'
func (*Instance) StartWithoutWait ¶ added in v0.9.0
StartWithoutWait starts the instance without waiting for it to be ready This function can only be called in the state 'Committed' or 'Stopped'
func (*Instance) Stop ¶ added in v0.7.0
Stop stops the instance CAUTION: In order to keep data of the instance, you need to use AddVolume() before. This function can only be called in the state 'Started'
func (*Instance) WaitInstanceIsRunning ¶
WaitInstanceIsRunning waits until the instance is running This function can only be called in the state 'Started'
func (*Instance) WaitInstanceIsStopped ¶ added in v0.7.0
WaitInstanceIsStopped waits until the instance is not running anymore This function can only be called in the state 'Stopped'
type InstancePool ¶
type InstancePool struct {
// contains filtered or unexported fields
}
InstancePool is a struct that represents a pool of instances
func (*InstancePool) Destroy ¶
func (i *InstancePool) Destroy() error
Destroy destroys all instances in the instance pool
func (*InstancePool) Instances ¶
func (i *InstancePool) Instances() []*Instance
Instances returns the instances in the instance pool
func (*InstancePool) Start ¶
func (i *InstancePool) Start() error
Start starts all instances in the instance pool
func (*InstancePool) StartWithoutWait ¶ added in v0.9.0
func (i *InstancePool) StartWithoutWait() error
StartWithoutWait starts all instances in the instance pool without waiting for them to be running
func (*InstancePool) WaitInstancePoolIsRunning ¶
func (i *InstancePool) WaitInstancePoolIsRunning() error
WaitInstancePoolIsRunning waits until all instances in the instance pool are running
type InstanceState ¶ added in v0.3.0
type InstanceState int
InstanceState represents the state of the instance
const ( None InstanceState = iota Preparing Committed Started Stopped Destroyed )
Possible states of the instance
func (InstanceState) String ¶ added in v0.3.0
func (s InstanceState) String() string
String returns the string representation of the state
type InstanceType ¶ added in v0.7.0
type InstanceType int
InstanceType represents the type of the instance
const ( BasicInstance InstanceType = iota ExecutorInstance TimeoutHandlerInstance )
Possible types of the instance
func (InstanceType) String ¶ added in v0.7.0
func (s InstanceType) String() string
String returns the string representation of the type
type Jaeger ¶ added in v0.10.0
type Jaeger struct {
Protocols JaegerProtocols `yaml:"protocols,omitempty"`
}
type JaegerExporter ¶ added in v0.10.0
type JaegerGRPC ¶ added in v0.10.0
type JaegerGRPC struct {
Endpoint string `yaml:"endpoint,omitempty"`
}
type JaegerProtocols ¶ added in v0.10.0
type JaegerProtocols struct { GRPC JaegerGRPC `yaml:"grpc,omitempty"` ThriftCompact JaegerThriftCompact `yaml:"thrift_compact,omitempty"` ThriftHTTP JaegerThriftHTTP `yaml:"thrift_http,omitempty"` }
type JaegerThriftCompact ¶ added in v0.10.0
type JaegerThriftCompact struct {
Endpoint string `yaml:"endpoint,omitempty"`
}
type JaegerThriftHTTP ¶ added in v0.10.0
type JaegerThriftHTTP struct {
Endpoint string `yaml:"endpoint,omitempty"`
}
type MemoryLimiter ¶ added in v0.10.0
type MetricsTelemetry ¶ added in v0.13.2
type OTLP ¶ added in v0.10.0
type OTLP struct {
Protocols OTLPProtocols `yaml:"protocols,omitempty"`
}
type OTLPAuth ¶ added in v0.10.0
type OTLPAuth struct {
Authenticator string `yaml:"authenticator,omitempty"`
}
type OTLPHTTP ¶ added in v0.10.0
type OTLPHTTP struct {
Endpoint string `yaml:"endpoint,omitempty"`
}
type OTLPHTTPExporter ¶ added in v0.10.0
type OTLPProtocols ¶ added in v0.10.0
type OTLPProtocols struct {
HTTP OTLPHTTP `yaml:"http,omitempty"`
}
type OTelConfig ¶ added in v0.10.0
type OTelConfig struct { Extensions Extensions `yaml:"extensions,omitempty"` Receivers Receivers `yaml:"receivers,omitempty"` Exporters Exporters `yaml:"exporters,omitempty"` Service Service `yaml:"service,omitempty"` Processors Processors `yaml:"processors,omitempty"` }
type ObsyConfig ¶ added in v0.10.0
type ObsyConfig struct {
// contains filtered or unexported fields
}
ObsyConfig represents the configuration for the obsy sidecar
type Preloader ¶ added in v0.7.0
type Preloader struct {
// contains filtered or unexported fields
}
Preloader is a struct that contains the list of preloaded images. A preloader makes sure that the images are preloaded before the test suite starts. Hint: If you use a Preloader per test suite, you can save resources
func NewPreloader ¶ added in v0.7.0
NewPreloader creates a new preloader
func (*Preloader) EmptyImages ¶ added in v0.7.0
EmptyImages empties the list of preloaded images
func (*Preloader) RemoveImage ¶ added in v0.7.0
RemoveImage removes an image from the list of preloaded images
type Processors ¶ added in v0.10.0
type Processors struct { Batch Batch `yaml:"batch,omitempty"` MemoryLimiter MemoryLimiter `yaml:"memory_limiter,omitempty"` Attributes Attributes `yaml:"attributes,omitempty"` }
type Prometheus ¶ added in v0.10.0
type Prometheus struct {
Config PrometheusConfig `yaml:"config,omitempty"`
}
type PrometheusConfig ¶ added in v0.10.0
type PrometheusConfig struct {
ScrapeConfigs []ScrapeConfig `yaml:"scrape_configs,omitempty"`
}
type PrometheusExporter ¶ added in v0.13.1
type PrometheusExporter struct {
Endpoint string `yaml:"endpoint,omitempty"`
}
type PrometheusRemoteWriteExporter ¶ added in v0.13.1
type Receivers ¶ added in v0.10.0
type Receivers struct { OTLP OTLP `yaml:"otlp,omitempty"` Prometheus Prometheus `yaml:"prometheus,omitempty"` Jaeger Jaeger `yaml:"jaeger,omitempty"` }
type ScrapeConfig ¶ added in v0.10.0
type ScrapeConfig struct { JobName string `yaml:"job_name,omitempty"` ScrapeInterval string `yaml:"scrape_interval,omitempty"` StaticConfigs []StaticConfig `yaml:"static_configs,omitempty"` }
type SecurityContext ¶ added in v0.11.0
type SecurityContext struct {
// contains filtered or unexported fields
}
SecurityContext represents the security settings for a container
type StaticConfig ¶ added in v0.10.0
type StaticConfig struct {
Targets []string `yaml:"targets,omitempty"`
}
type Telemetry ¶ added in v0.13.2
type Telemetry struct {
Metrics MetricsTelemetry `yaml:"metrics,omitempty"`
}