Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Manifold ¶
func Manifold(config ManifoldConfig) dependency.Manifold
Manifold returns a dependency.Manifold that runs a worker responsible for shepherding a Dying model into Dead and ultimate removal.
Types ¶
type Config ¶
type Config struct { Facade Facade CredentialAPI common.CredentialAPI Logger Logger Clock clock.Clock NewCloudDestroyerFunc func(context.Context, environs.OpenParams) (environs.CloudDestroyer, error) }
Config holds the resources and configuration necessary to run an undertaker worker.
type Facade ¶
type Facade interface { environs.EnvironConfigGetter ModelInfo() (params.UndertakerModelInfoResult, error) WatchModelResources() (watcher.NotifyWatcher, error) WatchModel() (watcher.NotifyWatcher, error) ProcessDyingModel() error RemoveModel() error SetStatus(status status.Status, message string, data map[string]interface{}) error }
Facade covers the parts of the api/undertaker.UndertakerClient that we need for the worker. It's more than a little raw, but we'll survive.
type Logger ¶
type Logger interface { Errorf(string, ...interface{}) Infof(string, ...interface{}) Debugf(string, ...interface{}) Tracef(string, ...interface{}) Warningf(string, ...interface{}) }
Logger defines a way to report non-fatal errors.
type ManifoldConfig ¶
type ManifoldConfig struct { APICallerName string Logger Logger Clock clock.Clock NewFacade func(base.APICaller) (Facade, error) NewWorker func(Config) (worker.Worker, error) NewCredentialValidatorFacade func(base.APICaller) (common.CredentialAPI, error) NewCloudDestroyerFunc func(context.Context, environs.OpenParams) (environs.CloudDestroyer, error) }
ManifoldConfig holds the names of the resources used by, and the additional dependencies of, an undertaker worker.
type Undertaker ¶
type Undertaker struct {
// contains filtered or unexported fields
}
func NewUndertaker ¶
func NewUndertaker(config Config) (*Undertaker, error)
NewUndertaker returns a worker which processes a dying model.
func (*Undertaker) Wait ¶
func (u *Undertaker) Wait() error
Wait is part of the worker.Worker interface.
Click to show internal directories.
Click to hide internal directories.