Documentation ¶
Index ¶
- Variables
- func BatchDestroy(ctx context.Context, instances ...*Instance) error
- type Action
- type Attributes
- type BasicAuthOTLP
- type Batch
- type ClientAuth
- type Error
- 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) AddHost(ctx context.Context, port int) (host string, err 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) CreateCustomResource(ctx context.Context, gvr *schema.GroupVersionResource, ...) error
- func (i *Instance) CustomResourceDefinitionExists(ctx context.Context, gvr *schema.GroupVersionResource) (bool, error)
- func (i *Instance) Destroy(ctx context.Context) error
- func (i *Instance) DisableBitTwister() error
- func (i *Instance) DisableNetwork(ctx context.Context) error
- func (i *Instance) EnableBitTwister() error
- func (i *Instance) EnableNetwork(ctx context.Context) error
- func (i *Instance) ExecuteCommand(ctx context.Context, command ...string) (string, error)
- func (i *Instance) GetFileBytes(ctx context.Context, file string) ([]byte, error)
- func (i *Instance) GetIP(ctx context.Context) (string, error)
- func (i *Instance) IsInState(states ...InstanceState) bool
- func (i *Instance) IsRunning(ctx context.Context) (bool, error)
- func (i *Instance) Labels() map[string]string
- func (i *Instance) Name() string
- func (i *Instance) NetworkIsDisabled(ctx context.Context) (bool, error)
- func (i *Instance) NewPool(amount int) (*InstancePool, error)
- func (i *Instance) PortForwardTCP(ctx context.Context, port int) (int, error)
- func (i *Instance) ReadFileFromRunningInstance(ctx context.Context, filePath string) (io.ReadCloser, 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(ctx context.Context, image string) error
- func (i *Instance) SetImageInstant(ctx context.Context, image string) error
- func (i *Instance) SetInstanceType(instanceType InstanceType)
- 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(ctx context.Context) error
- func (i *Instance) StartAsync(ctx context.Context) error
- func (i *Instance) StartWithoutWait(ctx context.Context) error
- func (i *Instance) Stop(ctx context.Context) error
- func (i *Instance) WaitInstanceIsRunning(ctx context.Context) error
- func (i *Instance) WaitInstanceIsStopped(ctx context.Context) error
- type InstancePool
- func (i *InstancePool) Destroy(ctx context.Context) error
- func (i *InstancePool) Instances() []*Instance
- func (i *InstancePool) Start(ctx context.Context) error
- func (i *InstancePool) StartWithoutWait(ctx context.Context) error
- func (i *InstancePool) WaitInstancePoolIsRunning(ctx context.Context) error
- 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 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 ¶
var ( ErrBitTwisterFailedToStart = &Error{Code: "BitTwisterFailedToStart", Message: "BitTwister failed to start"} ErrCreatingInstance = &Error{Code: "CreatingInstance", Message: "error creating instance"} ErrSettingImage = &Error{Code: "SettingImage", Message: "error setting image"} ErrCommittingInstance = &Error{Code: "CommittingInstance", Message: "error committing instance"} ErrSettingArgs = &Error{Code: "SettingArgs", Message: "error setting args"} ErrSettingMemory = &Error{Code: "SettingMemory", Message: "error setting memory"} ErrSettingCPU = &Error{Code: "SettingCPU", Message: "error setting cpu"} ErrStartingInstance = &Error{Code: "StartingInstance", Message: "error starting instance"} ErrWaitingInstanceIsRunning = &Error{Code: "WaitingInstanceIsRunning", Message: "error waiting for instance to be running"} ErrPortNumberOutOfRange = &Error{Code: "PortNumberOutOfRange", Message: "port number '%d' is out of range"} ErrDeployingService = &Error{Code: "DeployingService", Message: "error deploying service '%s'"} ErrGettingService = &Error{Code: "GettingService", Message: "error getting service '%s'"} ErrPatchingService = &Error{Code: "PatchingService", Message: "error patching service '%s'"} ErrFailedToCreateServiceAccount = &Error{Code: "FailedToCreateServiceAccount", Message: "failed to create service account"} ErrFailedToCreateRole = &Error{Code: "FailedToCreateRole", Message: "failed to create role"} ErrFailedToCreateRoleBinding = &Error{Code: "FailedToCreateRoleBinding", Message: "failed to create role binding"} ErrFailedToDeployPod = &Error{Code: "FailedToDeployPod", Message: "failed to deploy pod"} ErrFailedToDeletePod = &Error{Code: "FailedToDeletePod", Message: "failed to delete pod"} ErrFailedToDeleteServiceAccount = &Error{Code: "FailedToDeleteServiceAccount", Message: "failed to delete service account"} ErrFailedToDeleteRole = &Error{Code: "FailedToDeleteRole", Message: "failed to delete role"} ErrFailedToDeleteRoleBinding = &Error{Code: "FailedToDeleteRoleBinding", Message: "failed to delete role binding"} ErrDeployingServiceForInstance = &Error{Code: "DeployingServiceForInstance", Message: "error deploying service for instance '%s'"} ErrPatchingServiceForInstance = &Error{Code: "PatchingServiceForInstance", Message: "error patching service for instance '%s'"} ErrFailedToOpenFile = &Error{Code: "FailedToOpenFile", Message: "failed to open file"} ErrFailedToReadFile = &Error{Code: "FailedToReadFile", Message: "failed to read file"} ErrFailedToCreateConfigMap = &Error{Code: "FailedToCreateConfigMap", Message: "failed to create configmap"} ErrFailedToDeleteConfigMap = &Error{Code: "FailedToDeleteConfigMap", Message: "failed to delete configmap"} ErrFailedToDeployOrPatchService = &Error{Code: "FailedToDeployOrPatchService", Message: "failed to deploy or patch service"} ErrDeployingServiceForSidecar = &Error{Code: "DeployingServiceForSidecar", Message: "error deploying service for sidecar '%s' of instance '%s', a sidecar cannot have a service"} ErrPatchingServiceForSidecar = &Error{Code: "PatchingServiceForSidecar", Message: "error patching service for sidecar '%s' of instance '%s', a sidecar cannot have a service"} ErrDeployingVolumeForInstance = &Error{Code: "DeployingVolumeForInstance", Message: "error deploying volume for instance '%s'"} ErrDeployingFilesForInstance = &Error{Code: "DeployingFilesForInstance", Message: "error deploying files for instance '%s'"} ErrDestroyingVolumeForInstance = &Error{Code: "DestroyingVolumeForInstance", Message: "error destroying volume for instance '%s'"} ErrDestroyingFilesForInstance = &Error{Code: "DestroyingFilesForInstance", Message: "error destroying files for instance '%s'"} ErrDestroyingServiceForInstance = &Error{Code: "DestroyingServiceForInstance", Message: "error destroying service for instance '%s'"} ErrCheckingNetworkStatusForInstance = &Error{Code: "CheckingNetworkStatusForInstance", Message: "error checking network status for instance '%s'"} ErrEnablingNetworkForInstance = &Error{Code: "EnablingNetworkForInstance", Message: "error enabling network for instance '%s'"} ErrGeneratingUUID = &Error{Code: "GeneratingUUID", Message: "error generating UUID"} ErrGettingFreePort = &Error{Code: "GettingFreePort", Message: "error getting free port"} ErrSrcMustBeSet = &Error{Code: "SrcMustBeSet", Message: "src must be set"} ErrDestMustBeSet = &Error{Code: "DestMustBeSet", Message: "dest must be set"} ErrChownMustBeSet = &Error{Code: "ChownMustBeSet", Message: "chown must be set"} ErrChownMustBeInFormatUserGroup = &Error{Code: "ChownMustBeInFormatUserGroup", Message: "chown must be in format 'user:group'"} ErrAddingFileToInstance = &Error{Code: "AddingFileToInstance", Message: "error adding file '%s' to instance '%s'"} ErrReplacingPod = &Error{Code: "ReplacingPod", Message: "error replacing pod"} ErrApplyingFunctionToInstance = &Error{Code: "ApplyingFunctionToInstance", Message: "error applying function to instance '%s'"} ErrSettingNotAllowed = &Error{Code: "SettingNotAllowed", Message: "setting %s is only allowed in state 'Preparing' or 'Committed'. Current state is '%s'"} ErrCreatingOtelCollectorInstance = &Error{Code: "CreatingOtelCollectorInstance", Message: "error creating otel collector instance '%s'"} ErrSettingBitTwisterImage = &Error{Code: "SettingBitTwisterImage", Message: "error setting image for bit-twister instance"} ErrAddingBitTwisterPort = &Error{Code: "AddingBitTwisterPort", Message: "error adding BitTwister port"} ErrGettingInstanceIP = &Error{Code: "GettingInstanceIP", Message: "error getting IP of instance '%s'"} ErrCommittingBitTwisterInstance = &Error{Code: "CommittingBitTwisterInstance", Message: "error committing bit-twister instance"} ErrSettingBitTwisterEnv = &Error{Code: "SettingBitTwisterEnv", Message: "error setting environment variable for bit-twister instance"} ErrCreatingBitTwisterInstance = &Error{Code: "CreatingBitTwisterInstance", Message: "error creating bit-twister instance '%s'"} ErrSettingBitTwisterPrivileged = &Error{Code: "SettingBitTwisterPrivileged", Message: "error setting privileged for bit-twister instance '%s'"} ErrAddingBitTwisterCapability = &Error{Code: "AddingBitTwisterCapability", Message: "error adding capability for bit-twister instance '%s'"} ErrAddingBitTwisterSidecar = &Error{Code: "AddingBitTwisterSidecar", Message: "error adding bit-twister sidecar to instance '%s'"} ErrCreatingOtelAgentInstance = &Error{Code: "CreatingOtelAgentInstance", Message: "error creating otel-agent instance"} ErrSettingOtelAgentImage = &Error{Code: "SettingOtelAgentImage", Message: "error setting image for otel-agent instance"} ErrAddingOtelAgentPort = &Error{Code: "AddingOtelAgentPort", Message: "error adding port for otel-agent instance"} ErrSettingOtelAgentCPU = &Error{Code: "SettingOtelAgentCPU", Message: "error setting CPU for otel-agent instance"} ErrSettingOtelAgentMemory = &Error{Code: "SettingOtelAgentMemory", Message: "error setting memory for otel-agent instance"} ErrCommittingOtelAgentInstance = &Error{Code: "CommittingOtelAgentInstance", Message: "error committing otel-agent instance"} ErrMarshalingYAML = &Error{Code: "MarshalingYAML", Message: "error marshaling YAML"} ErrAddingOtelAgentConfigFile = &Error{Code: "AddingOtelAgentConfigFile", Message: "error adding otel-agent config file"} ErrSettingOtelAgentCommand = &Error{Code: "SettingOtelAgentCommand", Message: "error setting command for otel-agent instance"} ErrCreatingPoolNotAllowed = &Error{Code: "CreatingPoolNotAllowed", Message: "creating a pool is only allowed in state 'Committed' or 'Destroyed'. Current state is '%s'"} ErrGeneratingK8sName = &Error{Code: "GeneratingK8sName", Message: "error generating k8s name for instance '%s'"} ErrEnablingBitTwister = &Error{Code: "EnablingBitTwister", Message: "enabling BitTwister is not allowed in state 'Started'"} ErrSettingImageNotAllowed = &Error{Code: "SettingImageNotAllowed", Message: "setting image is only allowed in state 'None' and 'Started'. Current state is '%s'"} ErrCreatingBuilder = &Error{Code: "CreatingBuilder", Message: "error creating builder"} ErrSettingImageNotAllowedForSidecarsStarted = &Error{Code: "SettingImageNotAllowedForSidecarsStarted", Message: "setting image is not allowed for sidecars when in state 'Started'"} ErrSettingGitRepo = &Error{Code: "SettingGitRepo", Message: "setting git repo is only allowed in state 'None'. Current state is '%s'"} ErrGettingBuildContext = &Error{Code: "GettingBuildContext", Message: "error getting build context"} ErrGettingImageName = &Error{Code: "GettingImageName", Message: "error getting image name"} ErrSettingImageNotAllowedForSidecars = &Error{Code: "SettingImageNotAllowedForSidecars", Message: "setting image is not allowed for sidecars"} ErrSettingCommand = &Error{Code: "SettingCommand", Message: "setting command is only allowed in state 'Preparing' or 'Committed'. Current state is '%s"} ErrSettingArgsNotAllowed = &Error{Code: "SettingArgsNotAllowed", Message: "setting args is only allowed in state 'Preparing' or 'Committed'. Current state is '%s"} ErrAddingPortNotAllowed = &Error{Code: "AddingPortNotAllowed", Message: "adding port is only allowed in state 'Preparing' or 'Committed'. Current state is '%s"} ErrPortAlreadyRegistered = &Error{Code: "PortAlreadyRegistered", Message: "TCP port '%d' is already in registered"} ErrRandomPortForwardingNotAllowed = &Error{Code: "RandomPortForwardingNotAllowed", Message: "random port forwarding is only allowed in state 'Started'. Current state is '%s"} ErrPortNotRegistered = &Error{Code: "PortNotRegistered", Message: "TCP port '%d' is not registered"} ErrGettingPodFromReplicaSet = &Error{Code: "GettingPodFromReplicaSet", Message: "error getting pod from replicaset '%s'"} ErrForwardingPort = &Error{Code: "ForwardingPort", Message: "error forwarding port after %d retries"} ErrUDPPortAlreadyRegistered = &Error{Code: "UDPPortAlreadyRegistered", Message: "UDP port '%d' is already in registered"} ErrExecutingCommandNotAllowed = &Error{Code: "ExecutingCommandNotAllowed", Message: "executing command is only allowed in state 'Preparing' or 'Started'. Current state is '%s"} ErrExecutingCommandInInstance = &Error{Code: "ExecutingCommandInInstance", Message: "error executing command '%s' in instance '%s'"} ErrExecutingCommandInSidecar = &Error{Code: "ExecutingCommandInSidecar", Message: "error executing command '%s' in sidecar '%s' of instance '%s'"} ErrAddingFileNotAllowed = &Error{Code: "AddingFileNotAllowed", Message: "adding file is only allowed in state 'Preparing' or 'Committed'. Current state is '%s"} ErrSrcDoesNotExist = &Error{Code: "SrcDoesNotExist", Message: "src '%s' does not exist"} ErrCreatingDirectory = &Error{Code: "CreatingDirectory", Message: "error creating directory"} ErrFailedToCreateDestFile = &Error{Code: "FailedToCreateDestFile", Message: "failed to create destination file '%s'"} ErrFailedToOpenSrcFile = &Error{Code: "FailedToOpenSrcFile", Message: "failed to open source file '%s'"} ErrFailedToCopyFile = &Error{Code: "FailedToCopyFile", Message: "failed to copy from source '%s' to destination '%s'"} ErrSrcDoesNotExistOrIsDirectory = &Error{Code: "SrcDoesNotExistOrIsDirectory", Message: "src '%s' does not exist or is a directory"} ErrInvalidFormat = &Error{Code: "InvalidFormat", Message: "invalid format"} ErrFailedToConvertToInt64 = &Error{Code: "FailedToConvertToInt64", Message: "failed to convert to int64"} ErrAllFilesMustHaveSameGroup = &Error{Code: "AllFilesMustHaveSameGroup", Message: "all files must have the same group"} ErrAddingFolderNotAllowed = &Error{Code: "AddingFolderNotAllowed", Message: "adding folder is only allowed in state 'Preparing' or 'Committed'. Current state is '%s"} ErrSrcDoesNotExistOrIsNotDirectory = &Error{Code: "SrcDoesNotExistOrIsNotDirectory", Message: "src '%s' does not exist or is not a directory"} ErrCopyingFolderToInstance = &Error{Code: "CopyingFolderToInstance", Message: "error copying folder '%s' to instance '%s"} ErrSettingUserNotAllowed = &Error{Code: "SettingUserNotAllowed", Message: "setting user is only allowed in state 'Preparing'. Current state is '%s"} ErrSettingUser = &Error{Code: "SettingUser", Message: "error setting user '%s' for instance '%s"} ErrCommittingNotAllowed = &Error{Code: "CommittingNotAllowed", Message: "committing is only allowed in state 'Preparing'. Current state is '%s"} ErrGettingImageRegistry = &Error{Code: "GettingImageRegistry", Message: "error getting image registry"} ErrGeneratingImageHash = &Error{Code: "GeneratingImageHash", Message: "error generating image hash"} ErrPushingImage = &Error{Code: "PushingImage", Message: "error pushing image for instance '%s'"} ErrAddingVolumeNotAllowed = &Error{Code: "AddingVolumeNotAllowed", Message: "adding volume is only allowed in state 'Preparing' or 'Committed'. Current state is '%s"} ErrSettingMemoryNotAllowed = &Error{Code: "SettingMemoryNotAllowed", Message: "setting memory is only allowed in state 'Preparing' or 'Committed'. Current state is '%s"} ErrSettingCPUNotAllowed = &Error{Code: "SettingCPUNotAllowed", Message: "setting cpu is only allowed in state 'Preparing' or 'Committed'. Current state is '%s"} ErrSettingEnvNotAllowed = &Error{Code: "SettingEnvNotAllowed", Message: "setting environment variable is only allowed in state 'Preparing' or 'Committed'. Current state is '%s"} ErrGettingServiceForInstance = &Error{Code: "GettingServiceForInstance", Message: "error retrieving deployed service for instance '%s'"} ErrGettingServiceIP = &Error{Code: "GettingServiceIP", Message: "IP address is not available for service '%s'"} ErrGettingFileNotAllowed = &Error{Code: "GettingFileNotAllowed", Message: "getting file is only allowed in state 'Started', 'Preparing' or 'Committed'. Current state is '%s"} ErrGettingFile = &Error{Code: "GettingFile", Message: "error getting file '%s' from instance '%s"} ErrReadingFile = &Error{Code: "ReadingFile", Message: "error reading file '%s' from running instance '%s"} ErrReadingFileNotAllowed = &Error{Code: "ReadingFileNotAllowed", Message: "reading file is only allowed in state 'Started'. Current state is '%s"} ErrReadingFileFromInstance = &Error{Code: "ReadingFileFromInstance", Message: "error reading file '%s' from running instance '%s"} ErrAddingPolicyRuleNotAllowed = &Error{Code: "AddingPolicyRuleNotAllowed", Message: "adding policy rule is only allowed in state 'Preparing' or 'Committed'. Current state is '%s"} ErrSettingProbeNotAllowed = &Error{Code: "SettingProbeNotAllowed", Message: "setting probe is only allowed in state 'Preparing' or 'Committed'. Current state is '%s"} ErrAddingSidecarNotAllowed = &Error{Code: "AddingSidecarNotAllowed", Message: "adding sidecar is only allowed in state 'Preparing' or 'Committed'. Current state is '%s"} ErrSidecarIsNil = &Error{Code: "SidecarIsNil", Message: "sidecar is nil"} ErrSidecarCannotBeSameInstance = &Error{Code: "SidecarCannotBeSameInstance", Message: "sidecar cannot be the same instance"} ErrSidecarNotCommitted = &Error{Code: "SidecarNotCommitted", Message: "sidecar '%s' is not in state 'Committed'"} ErrSidecarCannotHaveSidecar = &Error{Code: "SidecarCannotHaveSidecar", Message: "sidecar '%s' cannot have a sidecar"} ErrSidecarAlreadySidecar = &Error{Code: "SidecarAlreadySidecar", Message: "sidecar '%s' is already a sidecar"} ErrSettingPrivilegedNotAllowed = &Error{Code: "SettingPrivilegedNotAllowed", Message: "setting privileged is only allowed in state 'Preparing' or 'Committed'. Current state is '%s"} ErrAddingCapabilityNotAllowed = &Error{Code: "AddingCapabilityNotAllowed", Message: "adding capability is only allowed in state 'Preparing' or 'Committed'. Current state is '%s"} ErrAddingCapabilitiesNotAllowed = &Error{Code: "AddingCapabilitiesNotAllowed", Message: "adding capabilities is only allowed in state 'Preparing' or 'Committed'. Current state is '%s"} ErrStartingNotAllowed = &Error{Code: "StartingNotAllowed", Message: "starting is only allowed in state 'Committed' or 'Stopped'. Current state of sidecar '%s' is '%s'"} ErrStartingNotAllowedForSidecar = &Error{Code: "StartingNotAllowedForSidecar", Message: "starting is only allowed in state 'Committed' or 'Stopped'. Current state of sidecar '%s' is '%s"} ErrStartingSidecarNotAllowed = &Error{Code: "StartingSidecarNotAllowed", Message: "starting a sidecar is not allowed"} ErrAddingOtelCollectorSidecar = &Error{Code: "AddingOtelCollectorSidecar", Message: "error adding OpenTelemetry collector sidecar for instance '%s'"} ErrAddingNetworkSidecar = &Error{Code: "AddingNetworkSidecar", Message: "error adding network sidecar for instance '%s'"} ErrDeployingResourcesForInstance = &Error{Code: "DeployingResourcesForInstance", Message: "error deploying resources for instance '%s'"} ErrDeployingResourcesForSidecars = &Error{Code: "DeployingResourcesForSidecars", Message: "error deploying resources for sidecars of instance '%s'"} ErrDeployingPodForInstance = &Error{Code: "DeployingPodForInstance", Message: "error deploying pod for instance '%s'"} ErrWaitingForInstanceRunning = &Error{Code: "WaitingForInstanceRunning", Message: "error waiting for instance '%s' to be running"} ErrCheckingIfInstanceRunningNotAllowed = &Error{Code: "CheckingIfInstanceRunningNotAllowed", Message: "checking if instance is running is only allowed in state 'Started'. Current state is '%s"} ErrWaitingForInstanceNotAllowed = &Error{Code: "WaitingForInstanceNotAllowed", Message: "waiting for instance is only allowed in state 'Started'. Current state is '%s"} ErrWaitingForInstanceTimeout = &Error{Code: "WaitingForInstanceTimeout", Message: "timeout while waiting for instance '%s' to be running"} ErrCheckingIfInstanceRunning = &Error{Code: "CheckingIfInstanceRunning", Message: "error checking if instance '%s' is running"} ErrDisablingNetworkNotAllowed = &Error{Code: "DisablingNetworkNotAllowed", Message: "disabling network is only allowed in state 'Started'. Current state is '%s"} ErrDisablingNetwork = &Error{Code: "DisablingNetwork", Message: "error disabling network for instance '%s'"} ErrSettingBandwidthLimitNotAllowed = &Error{Code: "SettingBandwidthLimitNotAllowed", Message: "setting bandwidth limit is only allowed in state 'Started'. Current state is '%s"} ErrSettingBandwidthLimitNotAllowedBitTwister = &Error{Code: "SettingBandwidthLimitNotAllowedBitTwister", Message: "setting bandwidth limit is only allowed if BitTwister is enabled"} ErrStoppingBandwidthLimit = &Error{Code: "StoppingBandwidthLimit", Message: "error stopping bandwidth limit for instance '%s'"} ErrSettingBandwidthLimit = &Error{Code: "SettingBandwidthLimit", Message: "error setting bandwidth limit for instance '%s'"} ErrSettingLatencyJitterNotAllowed = &Error{Code: "SettingLatencyJitterNotAllowed", Message: "setting latency/jitter is only allowed in state 'Started'. Current state is '%s"} ErrSettingLatencyJitterNotAllowedBitTwister = &Error{Code: "SettingLatencyJitterNotAllowedBitTwister", Message: "setting latency/jitter is only allowed if BitTwister is enabled"} ErrStoppingLatencyJitter = &Error{Code: "StoppingLatencyJitter", Message: "error stopping latency/jitter for instance '%s'"} ErrSettingLatencyJitter = &Error{Code: "SettingLatencyJitter", Message: "error setting latency/jitter for instance '%s'"} ErrSettingPacketLossNotAllowed = &Error{Code: "SettingPacketLossNotAllowed", Message: "setting packetloss is only allowed in state 'Started'. Current state is '%s"} ErrSettingPacketLossNotAllowedBitTwister = &Error{Code: "SettingPacketLossNotAllowedBitTwister", Message: "setting packetloss is only allowed if BitTwister is enabled"} ErrStoppingPacketLoss = &Error{Code: "StoppingPacketLoss", Message: "error stopping packetloss for instance '%s'"} ErrSettingPacketLoss = &Error{Code: "SettingPacketLoss", Message: "error setting packetloss for instance '%s'"} ErrEnablingNetworkNotAllowed = &Error{Code: "EnablingNetworkNotAllowed", Message: "enabling network is only allowed in state 'Started'. Current state is '%s"} ErrEnablingNetwork = &Error{Code: "EnablingNetwork", Message: "error enabling network for instance '%s'"} ErrCheckingIfNetworkDisabledNotAllowed = &Error{Code: "CheckingIfNetworkDisabledNotAllowed", Message: "checking if network is disabled is only allowed in state 'Started'. Current state is '%s"} ErrWaitingForInstanceStoppedNotAllowed = &Error{Code: "WaitingForInstanceStoppedNotAllowed", Message: "waiting for instance is only allowed in state 'Stopped'. Current state is '%s"} ErrCheckingIfInstanceStopped = &Error{Code: "CheckingIfInstanceStopped", Message: "error checking if instance '%s' is running"} ErrStoppingNotAllowed = &Error{Code: "StoppingNotAllowed", Message: "stopping is only allowed in state 'Started'. Current state is '%s"} ErrDestroyingNotAllowed = &Error{Code: "DestroyingNotAllowed", Message: "destroying is only allowed in state 'Started' or 'Destroyed'. Current state is '%s"} ErrDestroyingPod = &Error{Code: "DestroyingPod", Message: "error destroying pod for instance '%s'"} ErrDestroyingResourcesForInstance = &Error{Code: "DestroyingResourcesForInstance", Message: "error destroying resources for instance '%s'"} ErrDestroyingResourcesForSidecars = &Error{Code: "DestroyingResourcesForSidecars", Message: "error destroying resources for sidecars of instance '%s'"} ErrCloningNotAllowed = &Error{Code: "CloningNotAllowed", Message: "cloning is only allowed in state 'Committed'. Current state is '%s"} ErrCloningNotAllowedForSidecar = &Error{Code: "CloningNotAllowedForSidecar", Message: "cloning is only allowed in state 'Committed'. Current state is '%s"} ErrGeneratingK8sNameForSidecar = &Error{Code: "GeneratingK8sNameForSidecar", Message: "error generating k8s name for instance '%s'"} ErrCannotInitializeKnuuWithEmptyScope = &Error{Code: "Cannot Initialize Knuu With Empty Scope", Message: "cannot initialize knuu with empty scope"} ErrCannotInitializeK8s = &Error{Code: "Cannot Initialize K8s", Message: "cannot initialize k8s"} ErrCreatingNamespace = &Error{Code: "CreatingNamespace", Message: "creating namespace %s"} ErrCannotParseTimeout = &Error{Code: "Cannot Parse Timeout", Message: "cannot parse timeout"} ErrCannotHandleTimeout = &Error{Code: "Cannot Handle Timeout", Message: "cannot handle timeout"} ErrInvalidKnuuBuilder = &Error{Code: "Invalid Knuu Builder", Message: "invalid KNUU_BUILDER, available [kubernetes, docker], value used: %s"} ErrCannotCreateInstance = &Error{Code: "Cannot Create Instance", Message: "cannot create instance"} ErrCannotSetImage = &Error{Code: "Cannot Set Image", Message: "cannot set image"} ErrCannotCommitInstance = &Error{Code: "Cannot Commit Instance", Message: "cannot commit instance"} ErrCannotSetCommand = &Error{Code: "Cannot Set Command", Message: "cannot set command"} ErrCannotAddPolicyRule = &Error{Code: "Cannot Add Policy Rule", Message: "cannot add policy rule"} ErrCannotStartInstance = &Error{Code: "Cannot Start Instance", Message: "cannot start instance"} ErrMinioNotInitialized = &Error{Code: "MinioNotInitialized", Message: "minio not initialized"} ErrGeneratingK8sNameForPreloader = &Error{Code: "GeneratingK8sNameForPreloader", Message: "error generating k8s name for preloader"} ErrCannotLoadEnv = &Error{Code: "Cannot Load Env", Message: "cannot load env"} ErrMaximumVolumesExceeded = &Error{Code: "MaximumVolumesExceeded", Message: "maximum volumes exceeded for instance '%s'"} ErrCustomResourceDefinitionDoesNotExist = &Error{Code: "CustomResourceDefinitionDoesNotExist", Message: "custom resource definition %s does not exist"} ErrFileIsNotSubFolderOfVolumes = &Error{Code: "FileIsNotSubFolderOfVolumes", Message: "the file '%s' is not a sub folder of any added volume"} ErrCannotInitializeKnuu = &Error{Code: "Cannot Initialize Knuu", Message: "cannot initialize knuu"} ErrAddingToProxy = &Error{Code: "AddingToProxy", Message: "error adding '%s' to traefik proxy for service '%s'"} ErrGettingProxyURL = &Error{Code: "GettingProxyURL", Message: "error getting proxy URL for service '%s'"} ErrProxyNotInitialized = &Error{Code: "ProxyNotInitialized", Message: "proxy not initialized"} )
Functions ¶
Types ¶
type Attributes ¶
type Attributes struct {
Actions []Action `yaml:"actions,omitempty"`
}
type BasicAuthOTLP ¶
type BasicAuthOTLP struct {
ClientAuth ClientAuth `yaml:"client_auth,omitempty"`
}
type ClientAuth ¶
type Error ¶
func (*Error) WithParams ¶
type Exporters ¶
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 ¶
type Extensions struct {
BasicAuthOTLP BasicAuthOTLP `yaml:"basicauth/otlp,omitempty"`
}
type Instance ¶
type Instance struct { system.SystemDependencies BitTwister *btConfig // contains filtered or unexported fields }
Instance represents a instance
func (*Instance) AddCapabilities ¶
AddCapabilities adds multiple capabilities to the instance This function can only be called in the state 'Preparing' or 'Committed'
func (*Instance) AddCapability ¶
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 ¶
AddFolder adds a folder to the instance This function can only be called in the state 'Preparing' or 'Committed'
func (*Instance) AddPolicyRule ¶
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 ¶
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 ¶
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 ¶
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 ¶
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) CreateCustomResource ¶
func (i *Instance) CreateCustomResource(ctx context.Context, gvr *schema.GroupVersionResource, obj *map[string]interface{}) error
CreateCustomResource creates a custom resource for the instance The names and namespace are set and overridden by knuu
func (*Instance) CustomResourceDefinitionExists ¶
func (i *Instance) CustomResourceDefinitionExists(ctx context.Context, gvr *schema.GroupVersionResource) (bool, error)
CustomResourceDefinitionExists checks if the custom resource definition exists
func (*Instance) Destroy ¶
Destroy destroys the instance This function can only be called in the state 'Started' or 'Destroyed'
func (*Instance) DisableBitTwister ¶
func (*Instance) DisableNetwork ¶
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 ¶
func (*Instance) EnableNetwork ¶
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' 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 ¶
IsRunning returns true if the instance is running This function can only be called in the state 'Started'
func (*Instance) NetworkIsDisabled ¶
NetworkIsDisabled returns true if the network of the instance is disabled This function can only be called in the state 'Started'
func (*Instance) NewPool ¶
func (i *Instance) NewPool(amount int) (*InstancePool, error)
NewPool creates a pool of instances This function can only be called in the state 'Committed'
func (*Instance) PortForwardTCP ¶
PortForwardTCP forwards the given port to a random port on the host This function can only be called in the state 'Started'
func (*Instance) ReadFileFromRunningInstance ¶
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 ¶
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 ¶
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 ¶
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 ¶
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) SetInstanceType ¶
func (i *Instance) SetInstanceType(instanceType InstanceType)
func (*Instance) SetJaegerEndpoint ¶
SetJaegerEndpoint sets the Jaeger endpoint for the instance This function can only be called in the state 'Preparing' or 'Committed'
func (*Instance) SetJaegerExporter ¶
SetJaegerExporter sets the Jaeger exporter for the instance This function can only be called in the state 'Preparing' or 'Committed'
func (*Instance) SetLatencyAndJitter ¶
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 ¶
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/i.K8sCli.io/api/core/v1@v0.27.3#Probe This function can only be called in the states 'Preparing' and 'Committed'
func (*Instance) SetMemory ¶
SetMemory sets the memory of the instance This function can only be called in the states 'Preparing' and 'Committed'
func (*Instance) SetOtelCollectorVersion ¶
SetOtelCollectorVersion sets the OpenTelemetry collector version for the instance This function can only be called in the state 'Preparing' or 'Committed'
func (*Instance) SetOtelEndpoint ¶
SetOtelEndpoint sets the OpenTelemetry endpoint for the instance This function can only be called in the state 'Preparing' or 'Committed'
func (*Instance) SetOtlpExporter ¶
SetOtlpExporter sets the OTLP exporter for the instance This function can only be called in the state 'Preparing' or 'Committed'
func (*Instance) SetPacketLoss ¶
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 ¶
SetPrivileged sets the privileged status for the instance This function can only be called in the state 'Preparing' or 'Committed'
func (*Instance) SetPrometheusEndpoint ¶
SetPrometheusEndpoint sets the Prometheus endpoint for the instance This function can only be called in the state 'Preparing' or 'Committed'
func (*Instance) SetPrometheusExporter ¶
SetPrometheusExporter sets the Prometheus exporter for the instance This function can only be called in the state 'Preparing' or 'Committed'
func (*Instance) SetPrometheusRemoteWriteExporter ¶
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 ¶
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/i.K8sCli.io/api/core/v1@v0.27.3#Probe This function can only be called in the states 'Preparing' and 'Committed'
func (*Instance) SetStartupProbe ¶
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/i.K8sCli.io/api/core/v1@v0.27.3#Probe This function can only be called in the states 'Preparing' and 'Committed'
func (*Instance) SetUser ¶
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) StartAsync ¶
StartAsync starts the instance without waiting for it to be ready This function can only be called in the state 'Committed' or 'Stopped' This function will replace StartWithoutWait
func (*Instance) StartWithoutWait ¶
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 ¶
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'
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(ctx context.Context) 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(ctx context.Context) error
Start starts all instances in the instance pool
func (*InstancePool) StartWithoutWait ¶
func (i *InstancePool) StartWithoutWait(ctx context.Context) error
StartWithoutWait starts all instances in the instance pool without waiting for them to be running
func (*InstancePool) WaitInstancePoolIsRunning ¶
func (i *InstancePool) WaitInstancePoolIsRunning(ctx context.Context) error
WaitInstancePoolIsRunning waits until all instances in the instance pool are running
type InstanceState ¶
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 ¶
func (s InstanceState) String() string
String returns the string representation of the state
type InstanceType ¶
type InstanceType int
InstanceType represents the type of the instance
const ( BasicInstance InstanceType = iota ExecutorInstance TimeoutHandlerInstance )
Possible types of the instance
func (InstanceType) String ¶
func (s InstanceType) String() string
String returns the string representation of the type
type Jaeger ¶
type Jaeger struct {
Protocols JaegerProtocols `yaml:"protocols,omitempty"`
}
type JaegerExporter ¶
type JaegerGRPC ¶
type JaegerGRPC struct {
Endpoint string `yaml:"endpoint,omitempty"`
}
type JaegerProtocols ¶
type JaegerProtocols struct { GRPC JaegerGRPC `yaml:"grpc,omitempty"` ThriftCompact JaegerThriftCompact `yaml:"thrift_compact,omitempty"` ThriftHTTP JaegerThriftHTTP `yaml:"thrift_http,omitempty"` }
type JaegerThriftCompact ¶
type JaegerThriftCompact struct {
Endpoint string `yaml:"endpoint,omitempty"`
}
type JaegerThriftHTTP ¶
type JaegerThriftHTTP struct {
Endpoint string `yaml:"endpoint,omitempty"`
}
type MemoryLimiter ¶
type MetricsTelemetry ¶
type OTLP ¶
type OTLP struct {
Protocols OTLPProtocols `yaml:"protocols,omitempty"`
}
type OTLPHTTPExporter ¶
type OTLPProtocols ¶
type OTLPProtocols struct {
HTTP OTLPHTTP `yaml:"http,omitempty"`
}
type OTelConfig ¶
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 ¶
type ObsyConfig struct {
// contains filtered or unexported fields
}
ObsyConfig represents the configuration for the obsy sidecar
type Processors ¶
type Processors struct { Batch Batch `yaml:"batch,omitempty"` MemoryLimiter MemoryLimiter `yaml:"memory_limiter,omitempty"` Attributes Attributes `yaml:"attributes,omitempty"` }
type Prometheus ¶
type Prometheus struct {
Config PrometheusConfig `yaml:"config,omitempty"`
}
type PrometheusConfig ¶
type PrometheusConfig struct {
ScrapeConfigs []ScrapeConfig `yaml:"scrape_configs,omitempty"`
}
type PrometheusExporter ¶
type PrometheusExporter struct {
Endpoint string `yaml:"endpoint,omitempty"`
}
type Receivers ¶
type Receivers struct { OTLP OTLP `yaml:"otlp,omitempty"` Prometheus Prometheus `yaml:"prometheus,omitempty"` Jaeger Jaeger `yaml:"jaeger,omitempty"` }
type ScrapeConfig ¶
type ScrapeConfig struct { JobName string `yaml:"job_name,omitempty"` ScrapeInterval string `yaml:"scrape_interval,omitempty"` StaticConfigs []StaticConfig `yaml:"static_configs,omitempty"` }
type SecurityContext ¶
type SecurityContext struct {
// contains filtered or unexported fields
}
SecurityContext represents the security settings for a container
type StaticConfig ¶
type StaticConfig struct {
Targets []string `yaml:"targets,omitempty"`
}
type Telemetry ¶
type Telemetry struct {
Metrics MetricsTelemetry `yaml:"metrics,omitempty"`
}