caasoperatorprovisioner

package
v0.0.0-...-3d086f3 Latest Latest
Warning

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

Go to latest
Published: Apr 18, 2024 License: AGPL-3.0 Imports: 25 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CharmStorageParams

func CharmStorageParams(
	controllerUUID string,
	storageClassName string,
	modelCfg *config.Config,
	poolName string,
	poolManager poolmanager.PoolManager,
	registry storage.ProviderRegistry,
) (*params.KubernetesFilesystemParams, error)

CharmStorageParams returns filesystem parameters needed to provision storage used for a charm operator or workload.

func Register

func Register(registry facade.FacadeRegistry)

Register is called to expose a package of facades onto a given registry.

Types

type API

type API struct {
	*common.PasswordChanger
	*common.LifeGetter
	*common.APIAddresser
	// contains filtered or unexported fields
}

API is CAAS operator provisioner API facade.

func NewCAASOperatorProvisionerAPI

func NewCAASOperatorProvisionerAPI(
	resources facade.Resources,
	authorizer facade.Authorizer,
	ctrlSt CAASControllerState,
	st CAASOperatorProvisionerState,
	storagePoolManager poolmanager.PoolManager,
	registry storage.ProviderRegistry,
) (*API, error)

NewCAASOperatorProvisionerAPI returns a new CAAS operator provisioner API facade.

func (*API) IssueOperatorCertificate

func (a *API) IssueOperatorCertificate(args params.Entities) (params.IssueOperatorCertificateResults, error)

IssueOperatorCertificate issues an x509 certificate for use by the specified application operator.

func (*API) ModelUUID

func (a *API) ModelUUID() params.StringResult

ModelUUID returns the model UUID that this facade is used to operate. It is implemented here directly as a result of removing it from embedded APIAddresser *without* bumping the facade version. It should be blanked when this facade version is next incremented.

func (*API) OperatorProvisioningInfo

func (a *API) OperatorProvisioningInfo(args params.Entities) (params.OperatorProvisioningInfoResults, error)

OperatorProvisioningInfo returns the info needed to provision an operator.

func (*API) WatchApplications

func (a *API) WatchApplications() (params.StringsWatchResult, error)

WatchApplications starts a StringsWatcher to watch applications deployed to this model.

type APIGroup

type APIGroup struct {
	*API
	// contains filtered or unexported fields
}

func (*APIGroup) ApplicationCharmInfo

func (a *APIGroup) ApplicationCharmInfo(args params.Entity) (params.Charm, error)

ApplicationCharmInfo returns information about an application's charm.

func (*APIGroup) CharmInfo

func (a *APIGroup) CharmInfo(args params.CharmURL) (params.Charm, error)

CharmInfo returns information about the requested charm.

type Application

type Application interface {
	Charm() (ch charmscommon.Charm, force bool, err error)
}

type CAASControllerState

type CAASControllerState interface {
	common.APIAddressAccessor
	ControllerConfig() (controller.Config, error)
	StateServingInfo() (controller.StateServingInfo, error)
}

CAASControllerState provides the subset of controller state required by the CAAS operator provisioner facade.

type CAASOperatorProvisionerState

type CAASOperatorProvisionerState interface {
	WatchApplications() state.StringsWatcher
	FindEntity(tag names.Tag) (state.Entity, error)
	Model() (Model, error)
	Application(string) (Application, error)
}

CAASOperatorProvisionerState provides the subset of model state required by the CAAS operator provisioner facade.

type Model

type Model interface {
	UUID() string
	ModelConfig() (*config.Config, error)
}

Jump to

Keyboard shortcuts

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