domainservices

package
v0.0.0-...-0a271de Latest Latest
Warning

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

Go to latest
Published: Feb 27, 2025 License: AGPL-3.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Manifold

func Manifold(config ManifoldConfig) dependency.Manifold

Manifold returns a dependency.Manifold that will run a domain services worker.

func NewControllerDomainServices

func NewControllerDomainServices(
	dbGetter changestream.WatchableDBGetter,
	dbDeleter coredatabase.DBDeleter,
	clock clock.Clock,
	logger logger.Logger,
) services.ControllerDomainServices

NewControllerDomainServices returns a new controller domain services.

func NewDomainServicesGetter

func NewDomainServicesGetter(
	ctrlFactory services.ControllerDomainServices,
	dbGetter changestream.WatchableDBGetter,
	newModelDomainServices ModelDomainServicesFn,
	providerFactory providertracker.ProviderFactory,
	objectStoreGetter objectstore.ObjectStoreGetter,
	storageRegistryGetter storage.StorageRegistryGetter,
	publicKeyImporter domainservices.PublicKeyImporter,
	leaseManager lease.Manager,
	clock clock.Clock,
	logger logger.Logger,
) services.DomainServicesGetter

NewDomainServicesGetter returns a new domain services getter.

func NewProviderTrackerModelDomainServices

func NewProviderTrackerModelDomainServices(
	modelUUID coremodel.UUID,
	dbGetter changestream.WatchableDBGetter,
	providerFactory providertracker.ProviderFactory,
	objectStore objectstore.ModelObjectStoreGetter,
	storageRegistry storage.ModelStorageRegistryGetter,
	publicKeyImporter domainservices.PublicKeyImporter,
	leaseManager lease.ModelLeaseManagerGetter,
	clock clock.Clock,
	logger logger.Logger,
) services.ModelDomainServices

NewProviderTrackerModelDomainServices returns a new model domain services with a provider tracker.

func NewWorker

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

NewWorker returns a new domain services worker, with the given configuration.

Types

type Config

type Config struct {
	// DBDeleter is used to delete databases.
	DBDeleter coredatabase.DBDeleter

	// DBGetter supplies WatchableDB implementations by namespace.
	DBGetter changestream.WatchableDBGetter

	// ProviderFactory is used to get provider instances.
	ProviderFactory providertracker.ProviderFactory

	// ObjectStoreGetter is used to get object store instances.
	ObjectStoreGetter objectstore.ObjectStoreGetter

	// StorageRegistryGetter is used to get storage registry instances.
	StorageRegistryGetter storage.StorageRegistryGetter

	// PublicKeyImporter is used to import public keys.
	PublicKeyImporter domainservices.PublicKeyImporter

	// LeaseManager is used to manage leases.
	LeaseManager lease.Manager

	// Logger is used to log messages.
	Logger logger.Logger

	// Clock is used to provides a main Clock
	Clock clock.Clock

	NewDomainServicesGetter     DomainServicesGetterFn
	NewControllerDomainServices ControllerDomainServicesFn
	NewModelDomainServices      ModelDomainServicesFn
}

Config is the configuration required for domain services worker.

func (Config) Validate

func (config Config) Validate() error

Validate validates the domain services configuration.

type ControllerDomainServicesFn

ControllerDomainServicesFn is a function that returns a controller service factory.

type ManifoldConfig

type ManifoldConfig struct {
	DBAccessorName              string
	ChangeStreamName            string
	ProviderFactoryName         string
	ObjectStoreName             string
	StorageRegistryName         string
	HTTPClientName              string
	LeaseManagerName            string
	Logger                      logger.Logger
	Clock                       clock.Clock
	NewWorker                   func(Config) (worker.Worker, error)
	NewDomainServicesGetter     DomainServicesGetterFn
	NewControllerDomainServices ControllerDomainServicesFn
	NewModelDomainServices      ModelDomainServicesFn
}

ManifoldConfig holds the information necessary to run a domain services worker in a dependency.Engine.

func (ManifoldConfig) Validate

func (config ManifoldConfig) Validate() error

Validate validates the manifold configuration.

type NoopProviderFactory

type NoopProviderFactory struct{}

NoopProviderFactory is a provider factory that returns not supported errors for all methods.

func (NoopProviderFactory) EphemeralProviderFromConfig

EphemeralProviderFromConfig returns a not supported error.

func (NoopProviderFactory) ProviderForModel

func (NoopProviderFactory) ProviderForModel(ctx context.Context, namespace string) (providertracker.Provider, error)

ProviderForModel returns a not supported error.

Jump to

Keyboard shortcuts

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