controller

package
v1.7.9 Latest Latest
Warning

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

Go to latest
Published: Nov 17, 2020 License: Apache-2.0 Imports: 59 Imported by: 44

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DeduplicateTargetObjects added in v0.12.0

func DeduplicateTargetObjects(
	namespace string,
	objs []*unstructured.Unstructured,
	infoProvider kubeutil.ResourceInfoProvider,
) ([]*unstructured.Unstructured, []v1alpha1.ApplicationCondition, error)

func FilterObjectsForDeletion added in v1.7.0

func FilterObjectsForDeletion(objs []*unstructured.Unstructured) []*unstructured.Unstructured

func GetLiveObjsForApplicationHealth added in v1.7.0

func GetLiveObjsForApplicationHealth(resources []managedResource, statuses []appv1.ResourceStatus) ([]*appv1.ResourceStatus, []*unstructured.Unstructured)

func NewClusterInfoUpdater added in v1.7.0

func NewClusterInfoUpdater(
	infoSource metrics.HasClustersInfo,
	db db.ArgoDB,
	appLister v1alpha1.ApplicationNamespaceLister,
	cache *appstatecache.Cache) *clusterInfoUpdater

Types

type AppStateManager added in v0.4.0

type AppStateManager interface {
	CompareAppState(app *v1alpha1.Application, project *appv1.AppProject, revision string, source v1alpha1.ApplicationSource, noCache bool, localObjects []string) *comparisonResult
	SyncAppState(app *v1alpha1.Application, state *v1alpha1.OperationState)
}

AppStateManager defines methods which allow to compare application spec and actual application state.

func NewAppStateManager added in v0.4.0

func NewAppStateManager(
	db db.ArgoDB,
	appclientset appclientset.Interface,
	repoClientset apiclient.Clientset,
	namespace string,
	kubectl kubeutil.Kubectl,
	settingsMgr *settings.SettingsManager,
	liveStateCache statecache.LiveStateCache,
	projInformer cache.SharedIndexInformer,
	metricsServer *metrics.MetricsServer,
) AppStateManager

NewAppStateManager creates new instance of AppStateManager

type ApplicationController

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

ApplicationController is the controller for application resources.

func NewApplicationController

func NewApplicationController(
	namespace string,
	settingsMgr *settings_util.SettingsManager,
	kubeClientset kubernetes.Interface,
	applicationClientset appclientset.Interface,
	repoClientset apiclient.Clientset,
	argoCache *appstatecache.Cache,
	kubectl kube.Kubectl,
	appResyncPeriod time.Duration,
	selfHealTimeout time.Duration,
	metricsPort int,
	kubectlParallelismLimit int64,
) (*ApplicationController, error)

NewApplicationController creates new instance of ApplicationController.

func (*ApplicationController) GetMetricsServer added in v1.5.3

func (ctrl *ApplicationController) GetMetricsServer() *metrics.MetricsServer

func (*ApplicationController) RegisterClusterSecretUpdater added in v1.7.0

func (ctrl *ApplicationController) RegisterClusterSecretUpdater(ctx context.Context)

func (*ApplicationController) Run

func (ctrl *ApplicationController) Run(ctx context.Context, statusProcessors int, operationProcessors int)

Run starts the Application CRD controller.

type ApplicationControllerConfig

type ApplicationControllerConfig struct {
	InstanceID string
	Namespace  string
}

type CompareWith added in v1.1.0

type CompareWith int
const (
	// Compare live application state against state defined in latest git revision.
	CompareWithLatest CompareWith = 2
	// Compare live application state against state defined using revision of most recent comparison.
	CompareWithRecent CompareWith = 1
	// Skip comparison and only refresh application resources tree
	ComparisonWithNothing CompareWith = 0
)

func (CompareWith) Max added in v1.1.0

func (CompareWith) Pointer added in v1.4.0

func (a CompareWith) Pointer() *CompareWith

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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