Documentation ¶
Index ¶
- type ExternalServiceList
- func (e *ExternalServiceList) GetHTTPServer(bindAddr string, router http.Handler) HTTPServer
- func (e *ExternalServiceList) GetHealthCheck(cfg *config.Config, buildTime, gitCommit, version string) (HealthChecker, error)
- func (e *ExternalServiceList) GetHealthClient(name, url string) *health.Client
- func (e *ExternalServiceList) GetKafkaProducer(ctx context.Context, cfg *config.Config, producerType KafkaProducerType) (kafkaProducer kafka.IProducer, err error)
- func (e *ExternalServiceList) GetMongoDB(ctx context.Context, cfg config.MongoConfig) (api.MongoServer, error)
- type HTTPServer
- type HealthChecker
- type Init
- func (e *Init) DoGetHTTPServer(bindAddr string, router http.Handler) HTTPServer
- func (e *Init) DoGetHealthCheck(cfg *config.Config, buildTime, gitCommit, version string) (HealthChecker, error)
- func (e *Init) DoGetHealthClient(name, url string) *health.Client
- func (e *Init) DoGetKafkaProducer(ctx context.Context, cfg *config.Config, topic string) (kafka.IProducer, error)
- func (e *Init) DoGetMongoDB(ctx context.Context, cfg config.MongoConfig) (api.MongoServer, error)
- type Initialiser
- type KafkaProducerType
- type Service
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ExternalServiceList ¶ added in v0.2.0
type ExternalServiceList struct { MongoDB bool HealthCheck bool KafkaProducerUploaded bool KafkaProducerPublished bool Init Initialiser }
ExternalServiceList holds the initialiser and initialisation state of external services.
func NewServiceList ¶ added in v0.2.0
func NewServiceList(initialiser Initialiser) *ExternalServiceList
NewServiceList creates a new service list with the provided initialiser
func (*ExternalServiceList) GetHTTPServer ¶ added in v0.2.0
func (e *ExternalServiceList) GetHTTPServer(bindAddr string, router http.Handler) HTTPServer
GetHTTPServer creates an http server and sets the Server flag to true
func (*ExternalServiceList) GetHealthCheck ¶ added in v0.2.0
func (e *ExternalServiceList) GetHealthCheck(cfg *config.Config, buildTime, gitCommit, version string) (HealthChecker, error)
GetHealthCheck creates a healthcheck with versionInfo and sets teh HealthCheck flag to true
func (*ExternalServiceList) GetHealthClient ¶ added in v0.3.0
func (e *ExternalServiceList) GetHealthClient(name, url string) *health.Client
GetHealthClient returns a healthclient for the provided URL
func (*ExternalServiceList) GetKafkaProducer ¶ added in v0.3.0
func (e *ExternalServiceList) GetKafkaProducer(ctx context.Context, cfg *config.Config, producerType KafkaProducerType) (kafkaProducer kafka.IProducer, err error)
GetKafkaProducer returns a kafka producer
func (*ExternalServiceList) GetMongoDB ¶ added in v0.2.0
func (e *ExternalServiceList) GetMongoDB(ctx context.Context, cfg config.MongoConfig) (api.MongoServer, error)
GetMongoDB creates a mongoDB client and sets the Mongo flag to true
type HTTPServer ¶ added in v0.2.0
HTTPServer defines the required methods from the HTTP server
type HealthChecker ¶ added in v0.2.0
type HealthChecker interface { Handler(w http.ResponseWriter, req *http.Request) Start(ctx context.Context) Stop() AddCheck(name string, checker healthcheck.Checker) (err error) }
HealthChecker defines the required methods from Healthcheck
type Init ¶ added in v0.2.0
type Init struct{}
Init implements the Initialiser interface to initialise dependencies
func (*Init) DoGetHTTPServer ¶ added in v0.2.0
func (e *Init) DoGetHTTPServer(bindAddr string, router http.Handler) HTTPServer
DoGetHTTPServer creates an HTTP Server with the provided bind address and router
func (*Init) DoGetHealthCheck ¶ added in v0.2.0
func (e *Init) DoGetHealthCheck(cfg *config.Config, buildTime, gitCommit, version string) (HealthChecker, error)
DoGetHealthCheck creates a healthcheck with versionInfo
func (*Init) DoGetHealthClient ¶ added in v0.3.0
DoGetHealthClient creates a new Health Client for the provided name and url
func (*Init) DoGetKafkaProducer ¶ added in v0.3.0
func (e *Init) DoGetKafkaProducer(ctx context.Context, cfg *config.Config, topic string) (kafka.IProducer, error)
DoGetKafkaProducer creates a kafka producer for the provided broker addresses, topic and envMax values in config
func (*Init) DoGetMongoDB ¶ added in v0.2.0
func (e *Init) DoGetMongoDB(ctx context.Context, cfg config.MongoConfig) (api.MongoServer, error)
DoGetMongoDB returns a MongoDB
type Initialiser ¶ added in v0.2.0
type Initialiser interface { DoGetHTTPServer(bindAddr string, router http.Handler) HTTPServer DoGetMongoDB(ctx context.Context, cfg config.MongoConfig) (api.MongoServer, error) DoGetKafkaProducer(ctx context.Context, cfg *config.Config, topic string) (kafka.IProducer, error) DoGetHealthClient(name, url string) *health.Client DoGetHealthCheck(cfg *config.Config, buildTime, gitCommit, version string) (HealthChecker, error) }
Initialiser defines the methods to initialise external services
type KafkaProducerType ¶ added in v0.4.0
type KafkaProducerType int
KafkaProducerType to differentiate the kafka producers
const ( KafkaProducerUploaded KafkaProducerType = iota KafkaProducerPublished )
All possible Kafka producers
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
Service contains all the configs, server and clients to run the Image API