appcontainer

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: Sep 10, 2021 License: Apache-2.0 Imports: 28 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var IDGenerator = sonyflake.NewSonyflake(sonyflake.Settings{
	StartTime: time.Date(2020, 1, 1, 0, 0, 0, 0, time.UTC),
})

IDGenerator for the app

Functions

This section is empty.

Types

type Builder

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

Builder helps to build container

func NewBuilder

func NewBuilder() *Builder

NewBuilder returns ContainerBuilder

func (*Builder) Container

func (b *Builder) Container() *dig.Container

Container returns Container

func (*Builder) WithAuditor

func (b *Builder) WithAuditor(auditor audit.Auditor) *Builder

WithAuditor sets Auditor

func (*Builder) WithConfig

func (b *Builder) WithConfig(c *config.Configuration) *Builder

WithConfig sets config.Configuration

func (*Builder) WithCrypto

func (b *Builder) WithCrypto(crypto *cryptoprov.Crypto) *Builder

WithCrypto sets Crypto

func (*Builder) WithDiscovery

func (b *Builder) WithDiscovery(d Discovery) *Builder

WithDiscovery sets Discover

func (*Builder) WithJwtParser

func (b *Builder) WithJwtParser(j jwt.Parser) *Builder

WithJwtParser sets JWT Parser

func (*Builder) WithJwtSigner

func (b *Builder) WithJwtSigner(j jwt.Signer) *Builder

WithJwtSigner sets JWT Signer

func (*Builder) WithOauth2Client

func (b *Builder) WithOauth2Client(o *oauth2client.Provider) *Builder

WithOauth2Client sets oauth2client.Provider

func (*Builder) WithOrgsDb

func (b *Builder) WithOrgsDb(d orgsdb.OrgsDb) *Builder

WithOrgsDb sets orgsdb.OrgsDb

type CloseRegistrator

type CloseRegistrator interface {
	OnClose(closer io.Closer)
}

CloseRegistrator provides interface to release resources on close

type ContainerFactory

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

ContainerFactory is default implementation

func NewContainerFactory

func NewContainerFactory(closer CloseRegistrator) *ContainerFactory

NewContainerFactory returns an instance of ContainerFactory

func (*ContainerFactory) CreateContainerWithDependencies

func (f *ContainerFactory) CreateContainerWithDependencies() (*dig.Container, error)

CreateContainerWithDependencies returns an instance of Container

func (*ContainerFactory) WithACMEProvider

func (f *ContainerFactory) WithACMEProvider(p ProvideAcmeFn) *ContainerFactory

WithACMEProvider allows to specify ACME provider

func (*ContainerFactory) WithAuditorProvider

func (f *ContainerFactory) WithAuditorProvider(p ProvideAuditorFn) *ContainerFactory

WithAuditorProvider allows to specify custom Auditor

func (*ContainerFactory) WithAuthorityProvider

func (f *ContainerFactory) WithAuthorityProvider(p ProvideAuthorityFn) *ContainerFactory

WithAuthorityProvider allows to specify custom Authority

func (*ContainerFactory) WithCaDbProvider

func (f *ContainerFactory) WithCaDbProvider(p ProvideCaDbFn) *ContainerFactory

WithCaDbProvider allows to specify custom DB provider

func (*ContainerFactory) WithClientFactoryProvider

func (f *ContainerFactory) WithClientFactoryProvider(p ProvideClientFactoryFn) *ContainerFactory

WithClientFactoryProvider allows to specify custom client.Factory provider

func (*ContainerFactory) WithConfigurationProvider

func (f *ContainerFactory) WithConfigurationProvider(p ProvideConfigurationFn) *ContainerFactory

WithConfigurationProvider allows to specify configuration

func (*ContainerFactory) WithCryptoProvider

func (f *ContainerFactory) WithCryptoProvider(p ProvideCryptoFn) *ContainerFactory

WithCryptoProvider allows to specify custom Crypto loader

func (*ContainerFactory) WithDiscoveryProvider

func (f *ContainerFactory) WithDiscoveryProvider(p ProvideDiscoveryFn) *ContainerFactory

WithDiscoveryProvider allows to specify Discovery

func (*ContainerFactory) WithEmailClientsProvider

func (f *ContainerFactory) WithEmailClientsProvider(p ProvideEmailClientsFn) *ContainerFactory

WithEmailClientsProvider allows to specify custom emailclients provider

func (*ContainerFactory) WithJwtProvider

func (f *ContainerFactory) WithJwtProvider(p ProvideJwtFn) *ContainerFactory

WithJwtProvider allows to specify custom JWT provider

func (*ContainerFactory) WithOAuthClientsProvider

func (f *ContainerFactory) WithOAuthClientsProvider(p ProvideOAuthClientsFn) *ContainerFactory

WithOAuthClientsProvider allows to specify custom OAuth clients provider

func (*ContainerFactory) WithOrgsDbProvider

func (f *ContainerFactory) WithOrgsDbProvider(p ProvideOrgsDbFn) *ContainerFactory

WithOrgsDbProvider allows to specify custom DB provider

func (*ContainerFactory) WithPaymentProvider

func (f *ContainerFactory) WithPaymentProvider(p ProvidePaymentProviderFn) *ContainerFactory

WithPaymentProvider allows to specify payment provider

func (*ContainerFactory) WithPublisher

WithPublisher allows to specify Publisher provider

func (*ContainerFactory) WithSchedulerProvider

func (f *ContainerFactory) WithSchedulerProvider(p ProvideSchedulerFn) *ContainerFactory

WithSchedulerProvider allows to specify custom Scheduler

type ContainerFactoryFn

type ContainerFactoryFn func() (*dig.Container, error)

ContainerFactoryFn defines an app container factory interface

type Discovery

type Discovery interface {
	Register(server string, service interface{}) error
	Find(v interface{}) error
	ForEach(v interface{}, f func(typ string) error) error
}

Discovery provides service discovery interface

func NewDiscovery

func NewDiscovery() Discovery

NewDiscovery return new Discovery

type ProvideAcmeFn

type ProvideAcmeFn func(cfg *config.Configuration) (acme.Controller, error)

ProvideAcmeFn defines ACMA provider

type ProvideAuditorFn

type ProvideAuditorFn func(cfg *config.Configuration, r CloseRegistrator) (audit.Auditor, error)

ProvideAuditorFn defines Auditor provider

type ProvideAuthorityFn

type ProvideAuthorityFn func(cfg *config.Configuration, crypto *cryptoprov.Crypto) (*authority.Authority, error)

ProvideAuthorityFn defines Crypto provider

type ProvideCaDbFn

type ProvideCaDbFn func(cfg *config.Configuration) (cadb.CaDb, cadb.CaReadonlyDb, error)

ProvideCaDbFn defines CA DB provider

type ProvideClientFactoryFn

type ProvideClientFactoryFn func(cfg *config.Configuration) (client.Factory, error)

ProvideClientFactoryFn defines client.Facroty provider

type ProvideConfigurationFn

type ProvideConfigurationFn func() (*config.Configuration, error)

ProvideConfigurationFn defines Configuration provider

type ProvideCryptoFn

type ProvideCryptoFn func(cfg *config.Configuration) (*cryptoprov.Crypto, error)

ProvideCryptoFn defines Crypto provider

type ProvideDiscoveryFn

type ProvideDiscoveryFn func() (Discovery, error)

ProvideDiscoveryFn defines Discovery provider

type ProvideEmailClientsFn

type ProvideEmailClientsFn func(cfg *config.Configuration) (*email.Provider, error)

ProvideEmailClientsFn defines email clients provider

type ProvideFCCAPIClientFn

type ProvideFCCAPIClientFn func() (fcc.APIClient, error)

ProvideFCCAPIClientFn defines FCC API Client provider

type ProvideJwtFn

type ProvideJwtFn func(cfg *config.Configuration) (jwt.Parser, jwt.Provider, error)

ProvideJwtFn defines JWT provider

type ProvideOAuthClientsFn

type ProvideOAuthClientsFn func(cfg *config.Configuration) (*oauth2client.Provider, error)

ProvideOAuthClientsFn defines OAuth clients provider

type ProvideOrgsDbFn

type ProvideOrgsDbFn func(cfg *config.Configuration) (orgsdb.OrgsDb, orgsdb.OrgsReadOnlyDb, error)

ProvideOrgsDbFn defines Orgs DB provider

type ProvidePaymentProviderFn

type ProvidePaymentProviderFn func(cfg *config.Configuration) (payment.Provider, error)

ProvidePaymentProviderFn defines email clients provider

type ProvidePublisherFn

type ProvidePublisherFn func(cfg *config.Configuration) (certpublisher.Publisher, error)

ProvidePublisherFn defines Publisher provider

type ProvideSchedulerFn

type ProvideSchedulerFn func() (tasks.Scheduler, error)

ProvideSchedulerFn defines Scheduler provider

Jump to

Keyboard shortcuts

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