stset

package
v0.0.0-...-db62745 Latest Latest
Warning

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

Go to latest
Published: Aug 31, 2022 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AppSourceType = "APP"

	AnnotationAppName              = "cloudfoundry.org/application_name"
	AnnotationVersion              = "cloudfoundry.org/version"
	AnnotationAppID                = "cloudfoundry.org/application_id"
	AnnotationSpaceName            = "cloudfoundry.org/space_name"
	AnnotationOrgName              = "cloudfoundry.org/org_name"
	AnnotationOrgGUID              = "cloudfoundry.org/org_guid"
	AnnotationSpaceGUID            = "cloudfoundry.org/space_guid"
	AnnotationLastUpdated          = "cloudfoundry.org/last_updated"
	AnnotationProcessGUID          = "cloudfoundry.org/process_guid"
	AnnotationOriginalRequest      = "cloudfoundry.org/original_request"
	AnnotationLastReportedAppCrash = "cloudfoundry.org/last_reported_app_crash"
	AnnotationLastReportedLRPCrash = "cloudfoundry.org/last_reported_lrp_crash"

	LabelGUID        = "cloudfoundry.org/guid"
	LabelOrgGUID     = AnnotationOrgGUID
	LabelOrgName     = AnnotationOrgName
	LabelSpaceGUID   = AnnotationSpaceGUID
	LabelSpaceName   = AnnotationSpaceName
	LabelVersion     = "cloudfoundry.org/version"
	LabelAppGUID     = "cloudfoundry.org/app_guid"
	LabelProcessType = "cloudfoundry.org/process_type"
	LabelSourceType  = "cloudfoundry.org/source_type"

	ApplicationContainerName = "opi"

	PdbMinAvailableInstances          = 1
	PrivateRegistrySecretGenerateName = "private-registry-"
)
View Source
const PodAffinityTermWeight = 100

Variables

This section is empty.

Functions

func MapStatefulSetToLRP

func MapStatefulSetToLRP(s appsv1.StatefulSet) (*api.LRP, error)

func StatefulSetLabelSelector

func StatefulSetLabelSelector(lrp *api.LRP) *metav1.LabelSelector

Types

type Desirer

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

func NewDesirer

func NewDesirer(
	logger lager.Logger,
	secrets SecretsClient,
	statefulSets StatefulSetCreator,
	lrpToStatefulSetConverter LRPToStatefulSetConverter,
	podDisruptionBudgetCreator PodDisruptionBudgetUpdater,
) Desirer

func (*Desirer) Desire

func (d *Desirer) Desire(ctx context.Context, namespace string, lrp *api.LRP, opts ...shared.Option) error

type EventGetter

type EventGetter interface {
	GetByPod(ctx context.Context, pod corev1.Pod) ([]corev1.Event, error)
}

type Getter

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

func NewGetter

func NewGetter(
	logger lager.Logger,
	statefulSetGetter StatefulSetByLRPIdentifierGetter,
	podGetter PodGetter,
	eventGetter EventGetter,
	statefulsetToLrpConverter StatefulSetToLRPConverter,
) Getter

func (*Getter) Get

func (g *Getter) Get(ctx context.Context, identifier api.LRPIdentifier) (*api.LRP, error)

func (*Getter) GetInstances

func (g *Getter) GetInstances(ctx context.Context, identifier api.LRPIdentifier) ([]*api.Instance, error)

type LRPToStatefulSet

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

func NewLRPToStatefulSetConverter

func NewLRPToStatefulSetConverter(
	applicationServiceAccount string,
	registrySecretName string,
	allowAutomountServiceAccountToken bool,
	allowRunImageAsRoot bool,
	latestMigration int,
	livenessProbeCreator ProbeCreator,
	readinessProbeCreator ProbeCreator,
) *LRPToStatefulSet

func (*LRPToStatefulSet) Convert

func (c *LRPToStatefulSet) Convert(statefulSetName string, lrp *api.LRP, privateRegistrySecret *corev1.Secret) (*appsv1.StatefulSet, error)

type LRPToStatefulSetConverter

type LRPToStatefulSetConverter interface {
	Convert(statefulSetName string, lrp *api.LRP, privateRegistrySecret *corev1.Secret) (*appsv1.StatefulSet, error)
}

type Lister

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

func NewLister

func NewLister(
	logger lager.Logger,
	statefulSetGetter StatefulSetsBySourceTypeGetter,
	statefulsetToLrpConverter StatefulSetToLRPConverter,
) Lister

func (*Lister) List

func (l *Lister) List(ctx context.Context) ([]*api.LRP, error)

type PodDeleter

type PodDeleter interface {
	Delete(ctx context.Context, namespace, name string) error
}

type PodDisruptionBudgetUpdater

type PodDisruptionBudgetUpdater interface {
	Update(ctx context.Context, stset *appsv1.StatefulSet, lrp *api.LRP) error
}

type PodGetter

type PodGetter interface {
	GetByLRPIdentifier(ctx context.Context, id api.LRPIdentifier) ([]corev1.Pod, error)
}

type ProbeCreator

type ProbeCreator func(lrp *api.LRP) *corev1.Probe

type SecretsClient

type SecretsClient interface {
	Create(ctx context.Context, namespace string, secret *corev1.Secret) (*corev1.Secret, error)
	SetOwner(ctx context.Context, secret *corev1.Secret, owner metav1.Object) (*corev1.Secret, error)
	Delete(ctx context.Context, namespace string, name string) error
}

type StatefulSetByLRPIdentifierGetter

type StatefulSetByLRPIdentifierGetter interface {
	GetByLRPIdentifier(ctx context.Context, id api.LRPIdentifier) ([]appsv1.StatefulSet, error)
}

type StatefulSetCreator

type StatefulSetCreator interface {
	Create(ctx context.Context, namespace string, statefulSet *appsv1.StatefulSet) (*appsv1.StatefulSet, error)
}

type StatefulSetDeleter

type StatefulSetDeleter interface {
	Delete(ctx context.Context, namespace string, name string) error
}

type StatefulSetToLRP

type StatefulSetToLRP func(s appsv1.StatefulSet) (*api.LRP, error)

func NewStatefulSetToLRPConverter

func NewStatefulSetToLRPConverter() StatefulSetToLRP

func (StatefulSetToLRP) Convert

func (f StatefulSetToLRP) Convert(s appsv1.StatefulSet) (*api.LRP, error)

type StatefulSetToLRPConverter

type StatefulSetToLRPConverter interface {
	Convert(s appsv1.StatefulSet) (*api.LRP, error)
}

type StatefulSetUpdater

type StatefulSetUpdater interface {
	Update(ctx context.Context, namespace string, statefulSet *appsv1.StatefulSet) (*appsv1.StatefulSet, error)
}

type StatefulSetsBySourceTypeGetter

type StatefulSetsBySourceTypeGetter interface {
	GetBySourceType(ctx context.Context, sourceType string) ([]appsv1.StatefulSet, error)
}

type Stopper

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

func NewStopper

func NewStopper(
	logger lager.Logger,
	statefulSetGetter StatefulSetByLRPIdentifierGetter,
	statefulSetDeleter StatefulSetDeleter,
	podDeleter PodDeleter,
) Stopper

func (*Stopper) Stop

func (s *Stopper) Stop(ctx context.Context, identifier api.LRPIdentifier) error

func (*Stopper) StopInstance

func (s *Stopper) StopInstance(ctx context.Context, identifier api.LRPIdentifier, index uint) error

type Updater

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

func NewUpdater

func NewUpdater(
	logger lager.Logger,
	statefulSetGetter StatefulSetByLRPIdentifierGetter,
	statefulSetUpdater StatefulSetUpdater,
	pdbUpdater PodDisruptionBudgetUpdater,
) Updater

func (*Updater) Update

func (u *Updater) Update(ctx context.Context, lrp *api.LRP) error

Directories

Path Synopsis
Code generated by counterfeiter.
Code generated by counterfeiter.

Jump to

Keyboard shortcuts

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