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 standalone unit 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 // LogSource will be read from by the logsender component. LogSource logsender.LogRecordCh // LeadershipGuarantee controls the behaviour of the leadership tracker. LeadershipGuarantee time.Duration // AgentConfigChanged is set whenever the unit agent's config // is updated. AgentConfigChanged *voyeur.Value // 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 // PrometheusRegisterer is a prometheus.Registerer that may be used // by workers to register Prometheus metric collectors. PrometheusRegisterer prometheus.Registerer // UpdateLoggerConfig is a function that will save the specified // config value as the logging config in the agent.conf file. UpdateLoggerConfig func(string) error // PreviousAgentVersion passes through the version the unit // agent was running before the current restart. PreviousAgentVersion version.Number // 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 // UpgradeCheckLock is passed to the upgrade check gate to // coordinate workers that shouldn't do anything until the // upgrader worker completes it's first check. UpgradeCheckLock gate.Lock // PreUpgradeSteps is a function that is used by the upgradesteps // worker to ensure that conditions are OK for an upgrade to // proceed. PreUpgradeSteps func(*state.StatePool, coreagent.Config, bool, bool, bool) error // 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 // Clock supplies timekeeping services to various workers. Clock clock.Clock }
ManifoldsConfig allows specialisation of the result of Manifolds.
Click to show internal directories.
Click to hide internal directories.