application_event_loop

package
v0.0.0-...-9e2ee81 Latest Latest
Warning

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

Go to latest
Published: Nov 26, 2024 License: Apache-2.0 Imports: 33 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ErrDeploymentNameIsImmutable = "deployment name field is immutable: changing it from its initial value is not supported"

	ErrRevisionIsImmutable = "revision change is not supported: changing it from its initial value is not supported"
)

Variables

This section is empty.

Functions

func IsManagedEnvironmentConnectionUserError

func IsManagedEnvironmentConnectionUserError(err error, log logr.Logger) bool

isManagedEnvironmentConnectionUserError returns true if the error is likely an error in the cluster credentials provided by the user

func StartApplicationEventQueueLoop

func StartApplicationEventQueueLoop(ctx context.Context, aeqlParam ApplicationEventQueueLoop)

StartApplicationEventQueueLoop will start the Application Event Loop for the GitOpsDeployment referenced in the aeqlParam parameter.

Types

type ApplicationEventQueueLoop

type ApplicationEventQueueLoop struct {

	// GitopsDeploymentName is the GitOpsDeployment resource that this Appliction Event Loop is reponsible for handling
	GitopsDeploymentName string

	// GitopsDeploymentNamespace is the namespace of the above GitOpsDeployment
	GitopsDeploymentNamespace string

	// WorkspaceID is the UID of the namespace
	WorkspaceID string

	// SharedResourceEventLoop is a reference to the shared resource event loop
	SharedResourceEventLoop *shared_resource_loop.SharedResourceEventLoop

	// InputChan is the channel that this Application Event Loop will listen for mesages on.
	InputChan chan RequestMessage

	// Client is a K8s client for accessing GitOps service resources
	Client client.Client
}

ApplicationEventQueueLoop contains the variables required to initialize an Application Event Loop. These refer to the particular GitOpsDeployment that a Application Event Loop is responsible for handling. - All fields are immutable: they should not be changed once first written.

type ExistingK8sClientFactory

type ExistingK8sClientFactory struct {
	// contains filtered or unexported fields
}

ExistingK8sClientFactory can be used when a caller already has a Service Workspace context they wish to use.

func (ExistingK8sClientFactory) BuildK8sClient

func (e ExistingK8sClientFactory) BuildK8sClient(restConfig *rest.Config) (client.Client, error)

func (ExistingK8sClientFactory) GetK8sClientForGitOpsEngineInstance

func (e ExistingK8sClientFactory) GetK8sClientForGitOpsEngineInstance(ctx context.Context, gitopsEngineInstance *db.GitopsEngineInstance) (client.Client, error)

func (ExistingK8sClientFactory) GetK8sClientForServiceWorkspace

func (e ExistingK8sClientFactory) GetK8sClientForServiceWorkspace() (client.Client, error)

type RequestMessage

type RequestMessage struct {
	// Message is the primary message contents of the message sent to the Application Event loop
	Message eventlooptypes.EventLoopMessage

	// If the sender of the message would like a reply to the message, they may pass a channel as
	// part of the message. The receiver will reply on this channel.
	// - ResponseChan may be nil, if no response is needed.
	// - Not all message types support ResponseChan
	ResponseChan chan ResponseMessage
}

RequestMessage is a message sent to the Application Event Loop by the Workspace Event loop.

type ResponseMessage

type ResponseMessage struct {

	// RequestAccepted is true if the Application Event Loop is actively accepting message, and false
	// if the request was rejected (because the Application Event Loop has shutdown)
	RequestAccepted bool
}

ResponseMesage is a message sent back on the ResponseChan of the RequestMessage

Jump to

Keyboard shortcuts

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