Dependency (package)

The dependency package is a subpackage in the Go worker library that provides constructs that help manage shared resources and their lifetimes. In Juju, it provides constructs that enable agents to run acyclic graphs of workers (i.e., workers and their dependencies, i.e., other workers).

See more: Go packages | worker > dependency

Contents:

List of most important dependency package constructs

This section lists all the most relevant dependency package constructs, following a top-down order (going from agent to worker).

NewEngine

dependency.NewEngine is a function that is used in the definition of an agent to create and initialise an engine that will maintain the dependency graph defined by any installed instances of the Manifolds type.

See more: NewEngine, example usage of NewEngine in the model agent

Install

dependency.Install is a function that is used in the definition of an agent to install instances of the Manifolds type.

See more: Install, example usage of Install in the model agent

Manifolds

dependency.Manifolds is a type that is used in the definition of an agent to define a collection of things of the Manifold type.

See more: Manifolds, example usage of Manifolds in the model agent

Manifold

dependency.Manifold is a type that is used in the definition of a worker to declare its inputs, outputs, and start function.

See more: Manifold, example usage of Manifold in the firewaller worker