Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Manifolds ¶
func Manifolds(config ManifoldsConfig) dependency.Manifolds
Manifolds returns a set of co-configured manifolds covering the various responsibilities of a caasoperator agent. It also accepts the logSource argument because we haven't figured out how to thread all the logging bits through a dependency engine yet.
Thou Shalt Not Use String Literals In This Function. Or Else.
Types ¶
type ManifoldsConfig ¶
type ManifoldsConfig struct { // Agent contains the agent that will be wrapped and made available to // its dependencies via a dependency.Engine. Agent coreagent.Agent // AgentConfigChanged is set whenever the unit agent's config // is updated. AgentConfigChanged *voyeur.Value // Clock contains the clock that will be made available to manifolds. Clock clock.Clock // LogSource will be read from by the logsender component. LogSource logsender.LogRecordCh // UpdateLoggerConfig is a function that will save the specified // config value as the logging config in the agent.conf file. UpdateLoggerConfig func(string) error // PrometheusRegisterer is a prometheus.Registerer that may be used // by workers to register Prometheus metric collectors. PrometheusRegisterer prometheus.Registerer // LeadershipGuarantee controls the behaviour of the leadership tracker. LeadershipGuarantee time.Duration // ValidateMigration is called by the migrationminion during the // migration process to check that the agent will be ok when // connected to the new target controller. ValidateMigration func(base.APICaller) error // UpgradeStepsLock is passed to the upgrade steps gate to // coordinate workers that shouldn't do anything until the // upgrade-steps worker is done. UpgradeStepsLock gate.Lock // MachineLock is a central source for acquiring the machine lock. // This is used by a number of workers to ensure serialisation of actions // across the machine. MachineLock machinelock.Lock }
ManifoldsConfig allows specialisation of the result of Manifolds.
Click to show internal directories.
Click to hide internal directories.