agentkapp

package
v17.1.0-rc2 Latest Latest
Warning

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

Go to latest
Published: May 21, 2024 License: MIT Imports: 79 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewCommand

func NewCommand() *cobra.Command

Types

type App

type App struct {
	Log               *zap.Logger
	LogLevel          zap.AtomicLevel
	GRPCLogLevel      zap.AtomicLevel
	AgentMeta         *entity.AgentMeta
	AgentID           *ValueHolder[int64]
	GitLabExternalURL *ValueHolder[url.URL]
	// KASAddress specifies the address of kas.
	KASAddress                 string
	KASCACertFile              string
	KASHeaders                 []string
	KASSkipTLSVerify           bool
	KASTLSServerName           string
	ServiceAccountName         string
	ObservabilityListenNetwork string
	ObservabilityListenAddress string
	ObservabilityCertFile      string
	ObservabilityKeyFile       string
	TokenFile                  string
	AgentToken                 api.AgentToken
	K8sClientGetter            genericclioptions.RESTClientGetter
}

func (*App) Run

func (a *App) Run(ctx context.Context) (retErr error)

type CancelRunWhenLeaderFunc

type CancelRunWhenLeaderFunc func()

type LeaderElector

type LeaderElector interface {
	Run(ctx context.Context, onStartedLeading, onStoppedLeading func())
}

type ModuleStartFunc

type ModuleStartFunc func()

type ModuleStopFunc

type ModuleStopFunc func() ModuleStopWaitFunc

type ModuleStopWaitFunc

type ModuleStopWaitFunc func(context.Context) error

type Runner

type Runner interface {
	// RunWhenLeader registers the given start and stop functions for this module with the leader runner.
	// When the leader runner is elected as the leader it will execute the start function and
	// when the leader runner lost the leadership it will execute the stop function.
	// The start function must be able to be triggered multiple times (with intermediate stop executions)
	// without having to rely on a new agent configuration.
	// The function that is returned must be used to unregister the module
	// from the leader runner in case a shutdown is initiated or a previously registered start function
	// became invalid, for example because a new agent configuration turned out to be invalid.
	RunWhenLeader(ctx context.Context, startFn ModuleStartFunc, stopFunc ModuleStopFunc) (CancelRunWhenLeaderFunc, error)
}

type ValueHolder

type ValueHolder[T comparable] struct {
	// contains filtered or unexported fields
}

ValueHolder holds agent id of this agentk.

func NewValueHolder

func NewValueHolder[T comparable]() *ValueHolder[T]

Jump to

Keyboard shortcuts

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