Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AppHealthManager

type AppHealthManager interface {
	GetAppHealth(server string, namespace string, comparisonResult *appv1.ComparisonResult) (*appv1.HealthStatus, error)
}

func NewAppHealthManager

func NewAppHealthManager(db db.ArgoDB, namespace string) AppHealthManager

type AppStateManager

type AppStateManager interface {
	CompareAppState(app *v1alpha1.Application) (*v1alpha1.ComparisonResult, *repository.ManifestResponse, error)
	SyncAppState(app *v1alpha1.Application, revision string, overrides *[]v1alpha1.ComponentParameter, dryRun bool, prune bool) *v1alpha1.OperationState
}

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

func NewAppStateManager

func NewAppStateManager(
	db db.ArgoDB,
	appclientset appclientset.Interface,
	repoClientset reposerver.Clientset,
	namespace string,
) AppStateManager

NewAppStateManager creates new instance of Ksonnet app comparator

type ApplicationController

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

ApplicationController is the controller for application resources.

func NewApplicationController

func NewApplicationController(
	namespace string,
	kubeClientset kubernetes.Interface,
	applicationClientset appclientset.Interface,
	db db.ArgoDB,
	appStateManager AppStateManager,
	appHealthManager AppHealthManager,
	appResyncPeriod time.Duration,
	config *ApplicationControllerConfig,
) *ApplicationController

NewApplicationController creates new instance of ApplicationController.

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 KsonnetAppStateManager

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

KsonnetAppStateManager allows to compare application using KSonnet CLI

func (*KsonnetAppStateManager) CompareAppState

CompareAppState compares application spec and real app state using KSonnet

func (*KsonnetAppStateManager) SyncAppState

func (s *KsonnetAppStateManager) SyncAppState(
	app *v1alpha1.Application, revision string, overrides *[]v1alpha1.ComponentParameter, dryRun bool, prune bool) *v1alpha1.OperationState