controller

package
v0.14.0-rc.1 Latest Latest
Warning

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

Go to latest
Published: Sep 30, 2022 License: MIT Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AnalyticsReporter added in v0.13.0

type AnalyticsReporter interface {
	// ReportHandledEventSuccess reports a successfully handled event using a given communication platform.
	ReportHandledEventSuccess(integrationType config.IntegrationType, platform config.CommPlatformIntegration, eventDetails analytics.EventDetails) error

	// ReportHandledEventError reports a failure while handling event using a given communication platform.
	ReportHandledEventError(integrationType config.IntegrationType, platform config.CommPlatformIntegration, eventDetails analytics.EventDetails, err error) error

	// ReportFatalError reports a fatal app error.
	ReportFatalError(err error) error

	// Close cleans up the reporter resources.
	Close() error
}

AnalyticsReporter defines a reporter that collects analytics data.

type Controller added in v0.13.0

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

Controller watches Kubernetes resources and send events to notifiers.

func New added in v0.13.0

func New(log logrus.FieldLogger,
	conf *config.Config,
	notifiers []notifier.Notifier,
	recommFactory RecommendationFactory,
	filterEngine filterengine.FilterEngine,
	dynamicCli dynamic.Interface,
	mapper meta.RESTMapper,
	informersResyncPeriod time.Duration,
	router *sources.Router,
	reporter AnalyticsReporter,
) *Controller

New create a new Controller instance.

func (*Controller) Start added in v0.13.0

func (c *Controller) Start(ctx context.Context) error

Start creates new informer controllers to watch k8s resources

type GitHubRepoClient added in v0.13.0

type GitHubRepoClient interface {
	GetLatestRelease(ctx context.Context, owner, repo string) (*github.RepositoryRelease, *github.Response, error)
}

GitHubRepoClient describes the client for getting latest release for a given repository.

type RecommendationFactory added in v0.13.0

type RecommendationFactory interface {
	NewForSources(sources map[string]config.Sources, mapKeyOrder []string) (recommendation.AggregatedRunner, config.Recommendations)
}

RecommendationFactory defines a factory that creates recommendations.

type UpgradeChecker added in v0.13.0

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

UpgradeChecker checks for new BotKube releases.

func NewUpgradeChecker added in v0.13.0

func NewUpgradeChecker(log logrus.FieldLogger, notifiers []notifier.Notifier, ghCli GitHubRepoClient) *UpgradeChecker

NewUpgradeChecker creates a new instance of the Upgrade Checker.

func (*UpgradeChecker) Run added in v0.13.0

func (c *UpgradeChecker) Run(ctx context.Context) error

Run runs the Upgrade Checker and checks for new BotKube releases periodically.

Jump to

Keyboard shortcuts

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