juju: github.com/juju/juju/worker/caasoperatorprovisioner Index | Files

package caasoperatorprovisioner

import "github.com/juju/juju/worker/caasoperatorprovisioner"


Package Files

manifold.go worker.go

func Manifold Uses

func Manifold(config ManifoldConfig) dependency.Manifold

Manifold creates a manifold that runs a CAAS operator provisioner. See the ManifoldConfig type for discussion about how this can/should evolve.

func NewProvisionerWorker Uses

func NewProvisionerWorker(config Config) (worker.Worker, error)

NewProvisionerWorker starts and returns a new CAAS provisioner worker.

type CAASProvisionerFacade Uses

type CAASProvisionerFacade interface {
    OperatorProvisioningInfo() (apicaasprovisioner.OperatorProvisioningInfo, error)
    WatchApplications() (watcher.StringsWatcher, error)
    SetPasswords([]apicaasprovisioner.ApplicationPassword) (params.ErrorResults, error)
    Life(string) (life.Value, error)
    IssueOperatorCertificate(string) (apicaasprovisioner.OperatorCertificate, error)

CAASProvisionerFacade exposes CAAS provisioning functionality to a worker.

type Config Uses

type Config struct {
    Facade      CAASProvisionerFacade
    Broker      caas.Broker
    ModelTag    names.ModelTag
    AgentConfig agent.Config
    Clock       clock.Clock

Config defines the operation of a Worker.

type ManifoldConfig Uses

type ManifoldConfig struct {
    AgentName     string
    APICallerName string
    BrokerName    string
    ClockName     string

    NewWorker func(Config) (worker.Worker, error)

ManifoldConfig defines a CAAS operator provisioner's dependencies.

func (ManifoldConfig) Validate Uses

func (config ManifoldConfig) Validate() error

Validate is called by start to check for bad configuration.

Package caasoperatorprovisioner imports 20 packages (graph) and is imported by 3 packages. Updated 2019-10-05. Refresh now. Tools for package owners.