tasks

package
v0.0.0-...-2b06d51 Latest Latest
Warning

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

Go to latest
Published: Apr 17, 2024 License: Apache-2.0 Imports: 34 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// Task to roll out a fleet's template to its devices upon update
	ChannelFleetRollout = "fleet-rollout"
	// Task to set devices' owners
	ChannelFleetSelectorMatch = "fleet-selector-match"
	// Task to populate a template version
	ChannelTemplateVersionPopulate = "template-version-populate"
	// Task to validate a fleet template
	ChannelFleetValidate = "fleet-template-validate"

	ChannelSize = 20

	FleetRolloutOpUpdate              = "update"
	FleetSelectorMatchOpUpdate        = "update"
	FleetSelectorMatchOpUpdateOverlap = "update-overlap"
	FleetSelectorMatchOpDeleteAll     = "delete-all"
	TemplateVersionPopulateOpCreated  = "create"
	FleetValidateOpUpdate             = "update"
	FleetValidateOpDeleteAll          = "delete-all"
)
View Source
const ItemsPerPage = 1000

Variables

This section is empty.

Functions

func CloneGitRepo

func CloneGitRepo(repo *model.Repository, revision *string, depth *int) (billy.Filesystem, string, error)

func CreateOverlappingAnnotationValue

func CreateOverlappingAnnotationValue(matchingFleets []string) string

func FleetRollouts

func FleetRollouts(taskManager TaskManager)

Wait to be notified via channel about fleet template updates, exit upon ctx.Done()

func FleetSelectorMatching

func FleetSelectorMatching(taskManager TaskManager)

func FleetValidate

func FleetValidate(taskManager TaskManager)

func GetOverlappingAnnotationValue

func GetOverlappingAnnotationValue(annotations *map[string]string) string

func TemplateVersionPopulate

func TemplateVersionPopulate(taskManager TaskManager)

Types

type FleetRolloutsLogic

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

func NewFleetRolloutsLogic

func NewFleetRolloutsLogic(tm TaskManager, log logrus.FieldLogger, storeInst store.Store, resourceRef ResourceReference) FleetRolloutsLogic

func (FleetRolloutsLogic) RolloutDevice

func (f FleetRolloutsLogic) RolloutDevice(ctx context.Context) error

The device's owner was changed, roll out if necessary

func (FleetRolloutsLogic) RolloutFleet

func (f FleetRolloutsLogic) RolloutFleet(ctx context.Context) error

func (*FleetRolloutsLogic) SetItemsPerPage

func (f *FleetRolloutsLogic) SetItemsPerPage(items int)

type FleetSelectorMatchingLogic

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

func NewFleetSelectorMatchingLogic

func NewFleetSelectorMatchingLogic(taskManager TaskManager, log logrus.FieldLogger, storeInst store.Store, resourceRef ResourceReference) FleetSelectorMatchingLogic

func (FleetSelectorMatchingLogic) CompareFleetsAndSetDeviceOwner

func (f FleetSelectorMatchingLogic) CompareFleetsAndSetDeviceOwner(ctx context.Context) error

Iterate fleets and set the device's owner/conditions as necessary

func (FleetSelectorMatchingLogic) FleetSelectorUpdatedNoOverlapping

func (f FleetSelectorMatchingLogic) FleetSelectorUpdatedNoOverlapping(ctx context.Context) error

Iterate devices that match the fleet's selector and set owners/conditions as necessary

func (FleetSelectorMatchingLogic) HandleDeleteAllDevices

func (f FleetSelectorMatchingLogic) HandleDeleteAllDevices(ctx context.Context) error

func (FleetSelectorMatchingLogic) HandleDeleteAllFleets

func (f FleetSelectorMatchingLogic) HandleDeleteAllFleets(ctx context.Context) error

func (FleetSelectorMatchingLogic) HandleOrgwideUpdate

func (f FleetSelectorMatchingLogic) HandleOrgwideUpdate(ctx context.Context) error

We had overlapping selectors and now need to iterate over all devices in the org to see if those overlaps were resolved

func (*FleetSelectorMatchingLogic) SetItemsPerPage

func (f *FleetSelectorMatchingLogic) SetItemsPerPage(items int)

type FleetValidateLogic

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

func NewFleetValidateLogic

func NewFleetValidateLogic(taskManager TaskManager, log logrus.FieldLogger, store store.Store, resourceRef ResourceReference) FleetValidateLogic

func (*FleetValidateLogic) CreateNewTemplateVersionIfFleetValid

func (t *FleetValidateLogic) CreateNewTemplateVersionIfFleetValid(ctx context.Context, fleet *api.Fleet) error

func (*FleetValidateLogic) ValidateFleetsReferencingAnyRepository

func (t *FleetValidateLogic) ValidateFleetsReferencingAnyRepository(ctx context.Context)

func (*FleetValidateLogic) ValidateFleetsReferencingRepository

func (t *FleetValidateLogic) ValidateFleetsReferencingRepository(ctx context.Context)

type ResourceReference

type ResourceReference struct {
	Op    string
	OrgID uuid.UUID
	Kind  string
	Name  string
	Owner string
}

type ResourceSync

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

func NewResourceSync

func NewResourceSync(taskManager TaskManager) *ResourceSync

func (*ResourceSync) Poll

func (r *ResourceSync) Poll()

type TaskManager

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

func Init

func Init(log logrus.FieldLogger, store store.Store) TaskManager

func (TaskManager) AllDevicesDeletedCallback

func (t TaskManager) AllDevicesDeletedCallback(orgId uuid.UUID)

func (TaskManager) AllFleetsDeletedCallback

func (t TaskManager) AllFleetsDeletedCallback(orgId uuid.UUID)

func (TaskManager) AllRepositoriesDeletedCallback

func (t TaskManager) AllRepositoriesDeletedCallback(orgId uuid.UUID)

func (TaskManager) DeviceUpdatedCallback

func (t TaskManager) DeviceUpdatedCallback(before *model.Device, after *model.Device)

func (TaskManager) FleetUpdatedCallback

func (t TaskManager) FleetUpdatedCallback(before *model.Fleet, after *model.Fleet)

func (TaskManager) GetTask

func (t TaskManager) GetTask(taskName string) ResourceReference

func (TaskManager) RepositoryUpdatedCallback

func (t TaskManager) RepositoryUpdatedCallback(repository *model.Repository)

func (TaskManager) Start

func (t TaskManager) Start()

func (TaskManager) Stop

func (t TaskManager) Stop()

func (TaskManager) SubmitTask

func (t TaskManager) SubmitTask(taskName string, resource ResourceReference, op string)

func (TaskManager) TemplateVersionCreatedCallback

func (t TaskManager) TemplateVersionCreatedCallback(templateVersion *model.TemplateVersion)

func (TaskManager) TemplateVersionValidatedCallback

func (t TaskManager) TemplateVersionValidatedCallback(templateVersion *model.TemplateVersion)

type TemplateVersionPopulateLogic

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

func NewTemplateVersionPopulateLogic

func NewTemplateVersionPopulateLogic(taskManager TaskManager, log logrus.FieldLogger, store store.Store, resourceRef ResourceReference) TemplateVersionPopulateLogic

func (*TemplateVersionPopulateLogic) SyncFleetTemplateToTemplateVersion

func (t *TemplateVersionPopulateLogic) SyncFleetTemplateToTemplateVersion(ctx context.Context) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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