juju

package module
Version: v0.0.0-...-798b0ef Latest Latest
Warning

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

Go to latest
Published: Aug 15, 2022 License: AGPL-3.0 Imports: 0 Imported by: 1

README

Juju logo

Juju is a model-driven Operator Lifecycle Manager (OLM). Juju greatly improves the experience of running Kubernetes operators, especially in projects that integrate many operators from different publishers.

Why Juju

A Kubernetes operator is a container that drives the config and operation of a workload. By encapsulating ops code as a reusable container, the operator pattern moves beyond traditional config management to allow much more agile operations for complex cloud workloads.

Shared, open source operators take infrastructure as code to the next level with community-driven ops and integration code. Reuse of ops code improves quality and encourages wider community engagement and contribution. Operators also improve security through consistent automation. Juju operators are a community-driven devsecops approach to open source operations.

Juju implements the Kubernetes operator pattern, but is also a universal OLM that extends the operator pattern to traditional applications (without Kubernetes) on Linux and Windows. Such machine operators can work on bare metal, virtual machines or cloud instances, enabling multi cloud and hybrid cloud operations. Juju allows you to embrace the operator pattern on both container and legacy estate. An operator for machine-based environments can share 95% of its code with a Kubernetes operator for the same app.

Juju excels at application integration. Instead of simply focusing on lifecycle management, the Juju OLM provides a rich application graph model that tells operators how to integrate with one another. This dramatically simplifies the operations of large deployments.

A key focus for Juju is to simplify operator design, development and usage. Instead of making very complex operators for specific scenarios, Juju encourages devops to make composable operators, each of which drives a single Docker image, and which can be reused in different settings. Composable operators enable very rich scenarios to be constructed out of simpler operators that do one thing and do it well.

The OLM provides a central mechanism for operator instantiation, configuration, upgrades, integration and administration. The OLM provides a range of operator lifecycle services including leader election and persistent state. Instead of manually deploying and configuring operators, the OLM manages all the operators in a model at the direction of the administrator.

Open Operator Collection

The world's largest collection of operators all use Juju as their OLM. The Charmhub community emphasizes quality, collaboration and consistency. Publish your own operator and share integration code for other operators to connect to your application.

The Open Operator Manifesto outlines the values of the community and describe the ideal behaviour of operators, to shape contributions and discussions.

Multi cloud and hybrid operations across ARM and x86 infrastructure

The Juju OLM supports AWS, Azure, Google, Oracle, OpenStack, VMware and bare metal machines, as well as any conformant Kubernetes cluster. Integrate operators across clouds, and across machines and containers, just as easily. A single scenario can include applications on Kubernetes, as well as applications on a range of clouds and bare metal instances, all integrated automatically.

Juju operators support multiple CPU architectures. Connect applications on ARM with applications on x86 and take advantage of silicon-specific optimisations. It is good practice for operators to adapt to their environment and accelerate workloads accordingly.

Pure Python operators

The Python Operator Framework makes it easy to write an operator. The framework handles all the details of communication between integrated operators, so you can focus on your own application lifecycle management.

Code sharing between operator publishers is simplified making it much faster to collaborate on distributed systems involving components from many different publishers and upstreams. Your operator is a Python event handler. Lifecycle management, configuration and integration are all events delivered to your charm by the framework.

Architecture

The Juju client, server and agent are all written in Golang. The standard Juju packaging includes an embedded database for centralised logging and persistence, but there is no need to manage that database separately.

Operators can be written in any language but we do encourage new authors to use the Python Operator Framework for ease of contribution, support and community participation.

Production grade

The Juju server has built-in support for high availability when scaled out to three instances. It can monitor itself and grow additional instances in the event of failure, within predetermined limits. Juju supports backup, restore, and rolling upgrade operations appropriate for large-scale centralised enterprise grade management and operations systems.

Get started

Our community hangs out at the Charmhub discourse which serves as a combination mailing list and web forum. Keep up with the news and get a feel for operator engineering and usage there. Get the Juju CLI on Windows, macOS or Linux with the install instructions and try the tutorials. All you need is a small K8s cluster, or an Ubuntu machine or VM to run MicroK8s.

Read the documentation for a comprehensive reference of commands and usage.

Contributing

Follow our code and contribution guidelines to learn how to make code changes. File bugs in Launchpad or ask questions on our Freenode IRC channel, and Mattermost.

Documentation

Overview

Package juju is devops distilled.

Project homepage: https://github.com/juju/juju

For more information please refer to the README.md file in this directory.

Source Files

Directories

Path Synopsis
acceptancetests
api
agent/hostkeyreporter
Package hostkeyreporter implements the client-side API facade used by the hostkeyreporter worker.
Package hostkeyreporter implements the client-side API facade used by the hostkeyreporter worker.
agent/instancemutater/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
agent/leadership
Package leadership implements the client to the analog leadership service.
Package leadership implements the client to the analog leadership service.
agent/machineactions
Package machineactions implements the API side of running actions on machines.
Package machineactions implements the API side of running actions on machines.
agent/meterstatus
Package meterstatus contains an implementation of the API facade to watch the meter status of a unit for changes and return the current meter status.
Package meterstatus contains an implementation of the API facade to watch the meter status of a unit for changes and return the current meter status.
agent/metricsadder
Package metricsadder contains an implementation of the API facade to add metrics to the state.
Package metricsadder contains an implementation of the API facade to add metrics to the state.
agent/provisioner/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
agent/secretsmanager
Package secretsmanager provides the api client for the secretsmanager facade.
Package secretsmanager provides the api client for the secretsmanager facade.
base/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
client/application
Package application provides access to the application API facade.
Package application provides access to the application API facade.
client/bundle
Package bundle provides access to the bundle API facade.
Package bundle provides access to the bundle API facade.
client/charms
Package charms provides a client for accessing the charms API.
Package charms provides a client for accessing the charms API.
client/metricsdebug
Package metricsdebug implements the client to access metrics debug functions within state.
Package metricsdebug implements the client to access metrics debug functions within state.
client/modelupgrader/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
client/secrets
Package secrets provides the api client for the secrets facade.
Package secrets provides the api client for the secrets facade.
common/charms
Package charms provides common helpers for charm-related APIs.
Package charms provides common helpers for charm-related APIs.
controller/metricsmanager
Package metricsmanager implements the API facade to access metrics functions within state.
Package metricsmanager implements the API facade to access metrics functions within state.
controller/migrationtarget
Package migrationtarget defines the client side API facade for use by the migration master worker when communicating with the target controller.
Package migrationtarget defines the client side API facade for use by the migration master worker when communicating with the target controller.
controller/pubsub
Package pubsub implements the API for streaming pubsub messages between API servers.
Package pubsub implements the API for streaming pubsub messages between API servers.
controller/raftlease
Package raftlease implements the API for sending raft lease messages between API servers.
Package raftlease implements the API for sending raft lease messages between API servers.
controller/raftlease/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
http/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
logsender
Package logsender implements the API for storing log messages on the API server.
Package logsender implements the API for storing log messages on the API server.
common/charms/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
common/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
common/networkingcommon/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
common/storagecommon
Package storagecommon provides common storage-related services for API server facades.
Package storagecommon provides common storage-related services for API server facades.
facade/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
facades/agent/hostkeyreporter
Package hostkeyreporter implements the API facade used by the hostkeyreporter worker.
Package hostkeyreporter implements the API facade used by the hostkeyreporter worker.
facades/agent/instancemutater/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
facades/agent/machine
Package machine implements the API interface used by the machiner worker.
Package machine implements the API interface used by the machiner worker.
facades/agent/machineactions
Package machineactions implements the API server side of running actions on machines.
Package machineactions implements the API server side of running actions on machines.
facades/agent/meterstatus
Package meterstatus provides the meter status API facade.
Package meterstatus provides the meter status API facade.
facades/agent/meterstatus/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
facades/agent/metricsender
Package metricsender contains functions for sending metrics from a controller to a remote metric collector.
Package metricsender contains functions for sending metrics from a controller to a remote metric collector.
facades/agent/migrationminion
Package migrationminion defines the API facade for use by the migration minion worker to monitor the progress of, and interact with, model migrations.
Package migrationminion defines the API facade for use by the migration minion worker to monitor the progress of, and interact with, model migrations.
facades/agent/provisioner
Package provisioner supplies the API facade used by the provisioner worker.
Package provisioner supplies the API facade used by the provisioner worker.
facades/agent/provisioner/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
facades/agent/secretsmanager
Package secretsmanager provides the backend implementation for the secretsmanager facade.
Package secretsmanager provides the backend implementation for the secretsmanager facade.
facades/agent/secretsmanager/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
facades/agent/uniter
Package uniter implements the API interface used by the uniter worker.
Package uniter implements the API interface used by the uniter worker.
facades/agent/uniter/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
facades/agent/upgradesteps/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
facades/client/action/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
facades/client/application
Package application contains API calls for functionality related to deploying and managing applications and their related charms.
Package application contains API calls for functionality related to deploying and managing applications and their related charms.
facades/client/application/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
facades/client/bundle
Package bundle defines an API endpoint for functions dealing with bundles.
Package bundle defines an API endpoint for functions dealing with bundles.
facades/client/charms/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
facades/client/charms/services/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
facades/client/client/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
facades/client/cloud
Package cloud defines an API endpoint for functions dealing with the controller's cloud definition, and cloud credentials.
Package cloud defines an API endpoint for functions dealing with the controller's cloud definition, and cloud credentials.
facades/client/controller
Package controller defines an API endpoint for functions dealing with controllers as a whole.
Package controller defines an API endpoint for functions dealing with controllers as a whole.
facades/client/controller/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
facades/client/machinemanager/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
facades/client/metricsdebug
Package metricsdebug contains the implementation of an API endpoint for metrics debug functionality.
Package metricsdebug contains the implementation of an API endpoint for metrics debug functionality.
facades/client/modelgeneration/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
facades/client/modelmanager
Package modelmanager defines an API endpoint for functions dealing with models: creating, listing and sharing models.
Package modelmanager defines an API endpoint for functions dealing with models: creating, listing and sharing models.
facades/client/modelmanager/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
facades/client/modelupgrader
Package modelupgrader defines an API endpoint for functions dealing with upgrading models.
Package modelupgrader defines an API endpoint for functions dealing with upgrading models.
facades/client/modelupgrader/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
facades/client/resources/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
facades/client/secrets
Package secrets provides the backend implementation for the secrets facade.
Package secrets provides the backend implementation for the secrets facade.
facades/client/sshclient
Package sshclient implements the API endpoint required for Juju clients that wish to make SSH connections to Juju managed machines.
Package sshclient implements the API endpoint required for Juju clients that wish to make SSH connections to Juju managed machines.
facades/client/storage
Package storage provides an API server facade for managing storage entities.
Package storage provides an API server facade for managing storage entities.
facades/client/subnets/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
facades/controller/caasmodelconfigmanager/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
facades/controller/charmdownloader/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
facades/controller/charmrevisionupdater/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
facades/controller/firewaller/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
facades/controller/metricsmanager
Package metricsmanager contains the implementation of an API endpoint for calling metrics functions in state.
Package metricsmanager contains the implementation of an API endpoint for calling metrics functions in state.
facades/controller/migrationmaster
Package migrationmaster defines the API facade for use by the migration master worker when communicating with its own controller.
Package migrationmaster defines the API facade for use by the migration master worker when communicating with its own controller.
facades/controller/migrationmaster/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
facades/controller/migrationtarget
Package migrationtarget defines the API facade for use by the migration master worker when interacting with the target controller during a migration.
Package migrationtarget defines the API facade for use by the migration master worker when interacting with the target controller during a migration.
facades/controller/remoterelations/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
facades/controller/resumer
Package resumer implements the API interface used by the resumer worker.
Package resumer implements the API interface used by the resumer worker.
httpattachment
Package httpattachment provides facilities for attaching a streaming blob of data and associated metadata to an HTTP API request, and for reading that blob on the server side.
Package httpattachment provides facilities for attaching a streaming blob of data and associated metadata to an HTTP API request, and for reading that blob on the server side.
logsink/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
observer/metricobserver
Package metricobserver provides an implementation of apiserver/observer.ObserverFactory that maintains Prometheus metrics.
Package metricobserver provides an implementation of apiserver/observer.ObserverFactory that maintains Prometheus metrics.
observer/metricobserver/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
kubernetes/provider/exec/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
kubernetes/provider/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
kubernetes/provider/resources/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
kubernetes/provider/specs/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
Package charmhub is an HTTP client for sending requests to the Charmhub API.
Package charmhub is an HTTP client for sending requests to the Charmhub API.
path
Package path defines helpers for constructing Charmhub API URL paths.
Package path defines helpers for constructing Charmhub API URL paths.
transport
Package transport defines the request and response structs for use with the Charmhub API client.
Package transport defines the request and response structs for use with the Charmhub API client.
Package cloud provides functionality to parse information describing clouds, including regions, supported auth types etc.
Package cloud provides functionality to parse information describing clouds, including regions, supported auth types etc.
cloudinit
Package cloudinit implements a way of creating a cloud-init configuration file.
Package cloudinit implements a way of creating a cloud-init configuration file.
providerinit
Package providerinit offers userdata in a gzipped format to be used by different cloud providers.
Package providerinit offers userdata in a gzipped format to be used by different cloud providers.
providerinit/renderers
Package renderers implements a way to encode the userdata depending on the OS and the provider.
Package renderers implements a way to encode the userdata depending on the OS and the provider.
cmd
containeragent/initialize/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
containeragent/utils/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
juju/application/bundle/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
juju/application/deployer/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
juju/application/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
juju/application/store/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
juju/application/utils/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
juju/caas/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
juju/charmhub/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
juju/cloud/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
juju/commands/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
juju/config
Package config provides a common base struct to be used for Juju's various config commands (config, model-config, controller-config, model-defaults).
Package config provides a common base struct to be used for Juju's various config commands (config, model-config, controller-config, model-defaults).
juju/controller
Package controller groups various commands that are based on talking directly to the controller, and not environments in the controller.
Package controller groups various commands that are based on talking directly to the controller, and not environments in the controller.
juju/interact
Package interact provides helper methods for interacting with the CLI user at command run time.
Package interact provides helper methods for interacting with the CLI user at command run time.
juju/machine/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
juju/model/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
juju/romulus/budget
Package budget defines the command used to update budgets.
Package budget defines the command used to update budgets.
juju/romulus/commands
Package commands provides functionality for registering all the romulus commands.
Package commands provides functionality for registering all the romulus commands.
juju/romulus/listplans
Package listplans implements the command that can be used to list plans that are available for a charm.
Package listplans implements the command that can be used to list plans that are available for a charm.
juju/romulus/setplan
Package setplan implements the "juju set-plan" command.
Package setplan implements the "juju set-plan" command.
juju/romulus/sla
Package sla implements the "juju sla" command.
Package sla implements the "juju sla" command.
juju/secrets/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
juju/space/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
juju/ssh/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
juju/storage
Package storage implements the "juju storage" command, which provides a storage management interface for manipulating and inspecting storage entities (volumes, filesystems, charm storage).
Package storage implements the "juju storage" command, which provides a storage management interface for manipulating and inspecting storage entities (volumes, filesystems, charm storage).
juju/waitfor/api
Package api exists because we can't generate mocks in the main namespace.
Package api exists because we can't generate mocks in the main namespace.
juju/waitfor/api/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
jujud/agent/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
jujud/reboot/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
output/progress/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
common
sender
Package sender contains constants used by both the client (cmd/juju/metricsdebug) and the workers (worker/metrics/sender).
Package sender contains constants used by both the client (cmd/juju/metricsdebug) and the workers (worker/metrics/sender).
broker/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
kvm
Package kvm provides the facilities to deploy to kvm instances.
Package kvm provides the facilities to deploy to kvm instances.
lxd
lxd/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
lxd/testing
Package testing contains the testing infrastructure to mock out the LXD API.
Package testing contains the testing infrastructure to mock out the LXD API.
modelmanager
Package modelmanager provides the business logic for model management operations in the controller.
Package modelmanager provides the business logic for model management operations in the controller.
Package core exists to hold concepts and pure logic pertaining to juju's domain.
Package core exists to hold concepts and pure logic pertaining to juju's domain.
cache
Package cache is responsible for keeping an in memory representation of the controller's models.
Package cache is responsible for keeping an in memory representation of the controller's models.
charm/downloader/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
charm/repository/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
leadership
Package leadership holds code pertaining to application leadership in juju.
Package leadership holds code pertaining to application leadership in juju.
leadership/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
logger/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
lxdprofile
Package lxdprofile defines a set of functions and constants that can interact with LXD Profiles.
Package lxdprofile defines a set of functions and constants that can interact with LXD Profiles.
lxdprofile/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
os
Package os provides access to operating system related configuration.
Package os provides access to operating system related configuration.
paths/transientfile
Package transientfile provides helpers for creating files that do not survive machine reboots.
Package transientfile provides helpers for creating files that do not survive machine reboots.
presence
Package presence works on the premise that an agent it alive if it has a current connection to one of the API servers.
Package presence works on the premise that an agent it alive if it has a current connection to one of the API servers.
resources
Package resources provides core functionality for the "resources" feature in Juju.
Package resources provides core functionality for the "resources" feature in Juju.
resources/testing
Package testing provides helpers for testing with resources.
Package testing provides helpers for testing with resources.
secrets
Package secrets is used for the core secrets data model.
Package secrets is used for the core secrets data model.
registry/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
imagedownloads
Package imagedownloads implements image-downloads metadata from simplestreams.
Package imagedownloads implements image-downloads metadata from simplestreams.
imagemetadata
Package imagemetadata supports locating, parsing, and filtering Ubuntu image metadata in simplestreams format.
Package imagemetadata supports locating, parsing, and filtering Ubuntu image metadata in simplestreams format.
mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
simplestreams
Package simplestreams supports locating, parsing, and filtering metadata in simplestreams format.
Package simplestreams supports locating, parsing, and filtering metadata in simplestreams format.
tools
Package tools supports locating, parsing, and filtering Ubuntu tools metadata in simplestreams format.
Package tools supports locating, parsing, and filtering Ubuntu tools metadata in simplestreams format.
Package feature defines the names of the current feature flags.
Package feature defines the names of the current feature flags.
Package featuretests contains functional tests only.
Package featuretests contains functional tests only.
Package logfwd contains the tools needed to do log record forwarding in Juju.
Package logfwd contains the tools needed to do log record forwarding in Juju.
syslog
Package syslog holds the tools needed to perform log forwarding from Juju to a remote syslog (RFC 5424) host.
Package syslog holds the tools needed to perform log forwarding from Juju to a remote syslog (RFC 5424) host.
mongometrics
Package mongometrics contains MongodB-related Prometheus metric collectors.
Package mongometrics contains MongodB-related Prometheus metric collectors.
mongotest
Package mongotest is a generated GoMock package.
Package mongotest is a generated GoMock package.
ssh
observability
probe
Package probe provides a common set of interfaces and default implementations to facilitate probe support over many packages in Juju.
Package probe provides a common set of interfaces and default implementations to facilitate probe support over many packages in Juju.
pki
ssh
tls
provider
all
common/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
dummy
Package dummy implements an environment provider for testing purposes, registered with environs under the name "dummy".
Package dummy implements an environment provider for testing purposes, registered with environs under the name "dummy".
ec2
equinix/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
gce
lxd
lxd/lxdnames
Package lxdnames provides names for the LXD provider.
Package lxdnames provides names for the LXD provider.
oci
vsphere/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pubsub
agent
Package agent contains messages for all agents rather than controllers.
Package agent contains messages for all agents rather than controllers.
mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
rpc
jsoncodec
Package jsoncodec provides a JSON codec for the rpc package.
Package jsoncodec provides a JSON codec for the rpc package.
scripts
Package secrets provides the service layer for the various secrets backends.
Package secrets provides the service layer for the various secrets backends.
provider/juju
Package juju provides the juju secrets backend.
Package juju provides the juju secrets backend.
provider/juju/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
snap
Package snap manages installing and running snaps.
Package snap manages installing and running snaps.
Package state enables reading, observing, and changing the state stored in MongoDB of a whole model managed by juju.
Package state enables reading, observing, and changing the state stored in MongoDB of a whole model managed by juju.
backups
Package backups contains all the stand-alone backup-related functionality for juju state.
Package backups contains all the stand-alone backup-related functionality for juju state.
bakerystorage
Package bakerystorage provides an implementation of the bakery Storage interface that uses MongoDB to store items.
Package bakerystorage provides an implementation of the bakery Storage interface that uses MongoDB to store items.
globalclock
Package globalclock provides clients for updating and reading the global virtual time, stored in the MongoDB database.
Package globalclock provides clients for updating and reading the global virtual time, stored in the MongoDB database.
mgo
migrations
Package migrations aims to create an intermediate state between state and the description package.
Package migrations aims to create an intermediate state between state and the description package.
mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
stateenvirons
Package stateenvirons provides types and functions that interface the state and environs packages.
Package stateenvirons provides types and functions that interface the state and environs packages.
watcher
Package watcher provides an interface for observing changes to arbitrary MongoDB documents that are maintained via the mgo/txn transaction package.
Package watcher provides an interface for observing changes to arbitrary MongoDB documents that are maintained via the mgo/txn transaction package.
Package storage defines structures and functions relating to charm storage.
Package storage defines structures and functions relating to charm storage.
Package testcharms holds a corpus of charms for testing.
Package testcharms holds a corpus of charms for testing.
Package upgrades provides infrastructure to upgrade previous Juju deployments to the current Juju version.
Package upgrades provides infrastructure to upgrade previous Juju deployments to the current Juju version.
mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
upgradevalidation/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
utils
Package version contains versioning information for juju.
Package version contains versioning information for juju.
watcher
legacy
Package legacy contains state-watcher-tuned worker harnesses; the canonical implementations are in the watcher package, but aren't type-compatible with original-style watchers -- such as those returned from state methods -- which we still have a couple of uses for (and the certupdater use might even be legitimate).
Package legacy contains state-watcher-tuned worker harnesses; the canonical implementations are in the watcher package, but aren't type-compatible with original-style watchers -- such as those returned from state methods -- which we still have a couple of uses for (and the certupdater use might even be legitimate).
caasapplicationprovisioner/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
caasfirewallersidecar/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
caasmodelconfigmanager/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
caasoperator/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
caasunitsmanager/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
charmdownloader/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
containerbroker
Package containerbroker worker sole responsibility is to manage the lifecycle of a instance-broker.
Package containerbroker worker sole responsibility is to manage the lifecycle of a instance-broker.
containerbroker/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
diskmanager
Package diskmanager defines a worker that periodically lists block devices on the machine it runs on.
Package diskmanager defines a worker that periodically lists block devices on the machine it runs on.
fortress
Package fortress implements a convenient metaphor for an RWLock.
Package fortress implements a convenient metaphor for an RWLock.
gate
Package gate provides a mechanism by which independent workers can wait for one another to finish a task, without introducing explicit dependencies between those workers.
Package gate provides a mechanism by which independent workers can wait for one another to finish a task, without introducing explicit dependencies between those workers.
instancemutater/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
instancepoller/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
introspection
Package introspection defines the worker that can report internal agent state through the use of a machine local socket.
Package introspection defines the worker that can report internal agent state through the use of a machine local socket.
introspection/pprof
Package pprof is a fork of net/http/pprof modified to communicate over a unix socket.
Package pprof is a fork of net/http/pprof modified to communicate over a unix socket.
logsender/logsendertest
Package logsendertest provides testing utilities related to the logsender package.
Package logsendertest provides testing utilities related to the logsender package.
machineactions/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
meterstatus
Package meterstatus provides a worker that executes the meter-status-changed hook periodically.
Package meterstatus provides a worker that executes the meter-status-changed hook periodically.
meterstatus/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
metrics/collect
Package collect provides a worker that executes the collect-metrics hook periodically, as long as the workload has been started (between start and stop hooks).
Package collect provides a worker that executes the collect-metrics hook periodically, as long as the workload has been started (between start and stop hooks).
metrics/sender
Package sender contains the implementation of the metric sender manifold.
Package sender contains the implementation of the metric sender manifold.
metrics/spool
Package spool contains the implementation of a worker that extracts the spool directory path from the agent config and enables other workers to write and read metrics to and from a the spool directory using a writer and a reader.
Package spool contains the implementation of a worker that extracts the spool directory path from the agent config and enables other workers to write and read metrics to and from a the spool directory using a writer and a reader.
mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
multiwatcher
Package multiwatcher provides watchers that watch the entire model.
Package multiwatcher provides watchers that watch the entire model.
provisioner/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pruner/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
secretrotate/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
storageprovisioner
Package storageprovisioner provides a worker that manages the provisioning and deprovisioning of storage volumes and filesystems, and attaching them to and detaching them from machines.
Package storageprovisioner provides a worker that manages the provisioning and deprovisioning of storage volumes and filesystems, and attaching them to and detaching them from machines.
uniter
Package uniter is the "uniter" worker which implements the capabilities of the unit agent, for example running a charm's hooks in response to model events.
Package uniter is the "uniter" worker which implements the capabilities of the unit agent, for example running a charm's hooks in response to model events.
uniter/charm/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
uniter/hook
Package hook provides types that define the hooks known to the Uniter.
Package hook provides types that define the hooks known to the Uniter.
uniter/operation/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
uniter/relation
Package relation implements persistent local storage of a unit's relation state, and translation of relation changes into hooks that need to be run.
Package relation implements persistent local storage of a unit's relation state, and translation of relation changes into hooks that need to be run.
uniter/relation/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
uniter/runner/context
Package context contains the ContextFactory and Context definitions.
Package context contains the ContextFactory and Context definitions.
uniter/runner/context/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
uniter/runner/jujuc
Package jujuc implements the server side of the jujuc proxy tool, which forwards command invocations to the unit agent process so that they can be executed against specific state.
Package jujuc implements the server side of the jujuc proxy tool, which forwards command invocations to the unit agent process so that they can be executed against specific state.
uniter/runner/jujuc/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
uniter/storage
Package storage contains the storage subsystem for the uniter, responding to changes in storage attachments (lifecycle, volume/filesystem details) by queuing hooks and managing the storage attachments' lifecycle.
Package storage contains the storage subsystem for the uniter, responding to changes in storage attachments (lifecycle, volume/filesystem details) by queuing hooks and managing the storage attachments' lifecycle.
upgradedatabase/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
upgradeseries/mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.

Jump to

Keyboard shortcuts

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