Documentation
¶
Index ¶
- func Manifold(config ManifoldConfig) dependency.Manifold
- func NewControllerDomainServices(dbGetter changestream.WatchableDBGetter, dbDeleter coredatabase.DBDeleter, ...) services.ControllerDomainServices
- func NewDomainServicesGetter(ctrlFactory services.ControllerDomainServices, ...) services.DomainServicesGetter
- func NewProviderTrackerModelDomainServices(modelUUID coremodel.UUID, dbGetter changestream.WatchableDBGetter, ...) services.ModelDomainServices
- func NewWorker(config Config) (worker.Worker, error)
- type Config
- type ControllerDomainServicesFn
- type DomainServicesGetterFn
- type ManifoldConfig
- type ModelDomainServicesFn
- type NoopProviderFactory
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.
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.
type ControllerDomainServicesFn ¶
type ControllerDomainServicesFn func( changestream.WatchableDBGetter, coredatabase.DBDeleter, clock.Clock, logger.Logger, ) services.ControllerDomainServices
ControllerDomainServicesFn is a function that returns a controller service factory.
type DomainServicesGetterFn ¶
type DomainServicesGetterFn func( services.ControllerDomainServices, changestream.WatchableDBGetter, ModelDomainServicesFn, providertracker.ProviderFactory, objectstore.ObjectStoreGetter, storage.StorageRegistryGetter, domainservices.PublicKeyImporter, lease.Manager, clock.Clock, logger.Logger, ) services.DomainServicesGetter
DomainServicesGetterFn is a function that returns a domain services getter.
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 ModelDomainServicesFn ¶
type ModelDomainServicesFn func( coremodel.UUID, changestream.WatchableDBGetter, providertracker.ProviderFactory, objectstore.ModelObjectStoreGetter, storage.ModelStorageRegistryGetter, domainservices.PublicKeyImporter, lease.ModelLeaseManagerGetter, clock.Clock, logger.Logger, ) services.ModelDomainServices
ModelDomainServicesFn is a function that returns a model domain services.
type NoopProviderFactory ¶
type NoopProviderFactory struct{}
NoopProviderFactory is a provider factory that returns not supported errors for all methods.
func (NoopProviderFactory) EphemeralProviderFromConfig ¶
func (NoopProviderFactory) EphemeralProviderFromConfig(ctx context.Context, config providertracker.EphemeralProviderConfig) (providertracker.Provider, error)
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.