secretsdrainworker

package
v0.0.0-...-ac56535 Latest Latest
Warning

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

Go to latest
Published: Apr 26, 2024 License: AGPL-3.0 Imports: 13 Imported by: 0

Documentation

Overview

Package secretsdrainworker provides a worker running on the agent for draining secrets to the new active backend when the model changed secret backend.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Manifold

func Manifold(config ManifoldConfig) dependency.Manifold

Manifold returns a Manifold that encapsulates the secretsdrainworker worker.

func NewSecretBackendsClientForAgent

func NewSecretBackendsClientForAgent(caller base.APICaller) (jujusecrets.BackendsClient, error)

NewSecretBackendsClientForAgent returns a new secret backends client for draining charm owned secrets from agents.

func NewUserSecretBackendsClient

func NewUserSecretBackendsClient(caller base.APICaller) (jujusecrets.BackendsClient, error)

NewUserSecretBackendsClient returns a new secret backends client for draining user secrets from controller.

func NewWorker

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

NewWorker returns a secretsdrainworker Worker backed by config, or an error.

Types

type Config

type Config struct {
	SecretsDrainFacade
	Logger Logger

	SecretsBackendGetter func() (jujusecrets.BackendsClient, error)
}

Config defines the operation of the Worker.

func (Config) Validate

func (config Config) Validate() error

Validate returns an error if config cannot drive the Worker.

type Logger

type Logger interface {
	Debugf(string, ...interface{})
	Warningf(string, ...interface{})
	Infof(string, ...interface{})
}

Logger represents the methods used by the worker to log information.

type ManifoldConfig

type ManifoldConfig struct {
	APICallerName string
	Logger        Logger

	NewSecretsDrainFacade func(base.APICaller) SecretsDrainFacade
	NewWorker             func(Config) (worker.Worker, error)
	NewBackendsClient     func(base.APICaller) (jujusecrets.BackendsClient, error)
}

ManifoldConfig describes the resources used by the secretsdrainworker worker.

func (ManifoldConfig) Validate

func (cfg ManifoldConfig) Validate() error

Validate is called by start to check for bad configuration.

type SecretsDrainFacade

type SecretsDrainFacade interface {
	WatchSecretBackendChanged() (watcher.NotifyWatcher, error)
	GetSecretsToDrain() ([]coresecrets.SecretMetadataForDrain, error)
	ChangeSecretBackend([]secretsdrain.ChangeSecretBackendArg) (secretsdrain.ChangeSecretBackendResult, error)
}

SecretsDrainFacade instances provide a set of API for the worker to deal with secret drain process.

func NewSecretsDrainFacadeForAgent

func NewSecretsDrainFacadeForAgent(caller base.APICaller) SecretsDrainFacade

NewSecretsDrainFacadeForAgent returns a new SecretsDrainFacade for draining charm owned secrets from agents.

func NewUserSecretsDrainFacade

func NewUserSecretsDrainFacade(caller base.APICaller) SecretsDrainFacade

NewUserSecretsDrainFacade returns a new SecretsDrainFacade for draining user secrets from controller.

type Worker

type Worker struct {
	// contains filtered or unexported fields
}

Worker drains secrets to the new backend when the model's secret backend has changed.

func (*Worker) Kill

func (w *Worker) Kill()

Kill is defined on worker.Worker.

func (*Worker) Wait

func (w *Worker) Wait() error

Wait is part of the worker.Worker interface.

Directories

Path Synopsis
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