Documentation
¶
Index ¶
- type ExternalServiceList
- func (e *ExternalServiceList) GetAppClients(ctx context.Context, cfg *config.Config) *clients.ClientList
- 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) GetMigrator(ctx context.Context, datastore store.Datastore, clientList *clients.ClientList) (migrator.Migrator, error)
- func (e *ExternalServiceList) GetMongoDB(ctx context.Context, cfg config.MongoConfig) (store.MongoDB, error)
- type HTTPServer
- type HealthChecker
- type Init
- func (e *Init) DoGetAppClients(ctx context.Context, cfg *config.Config) *clients.ClientList
- 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) DoGetMigrator(ctx context.Context, datastore store.Datastore, clientList *clients.ClientList) (migrator.Migrator, error)
- func (e *Init) DoGetMongoDB(ctx context.Context, cfg config.MongoConfig) (store.MongoDB, error)
- type Initialiser
- type MigrationServiceStore
- type Service
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ExternalServiceList ¶
type ExternalServiceList struct {
HealthCheck bool
Init Initialiser
MongoDB bool
Migrator bool
}
ExternalServiceList holds the initialiser and initialisation state of external services.
func NewServiceList ¶
func NewServiceList(initialiser Initialiser) *ExternalServiceList
NewServiceList creates a new service list with the provided initialiser
func (*ExternalServiceList) GetAppClients ¶ added in v0.5.0
func (e *ExternalServiceList) GetAppClients(ctx context.Context, cfg *config.Config) *clients.ClientList
GetAppClients gets the app clients for the service
func (*ExternalServiceList) GetHTTPServer ¶
func (e *ExternalServiceList) GetHTTPServer(bindAddr string, router http.Handler) HTTPServer
GetHTTPServer creates an http server
func (*ExternalServiceList) GetHealthCheck ¶
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) GetMigrator ¶ added in v0.4.0
func (e *ExternalServiceList) GetMigrator(ctx context.Context, datastore store.Datastore, clientList *clients.ClientList) (migrator.Migrator, error)
GetMigrator returns the background migrator
func (*ExternalServiceList) GetMongoDB ¶ added in v0.4.0
func (e *ExternalServiceList) GetMongoDB(ctx context.Context, cfg config.MongoConfig) (store.MongoDB, error)
GetMongoDB returns a mongodb health client and dataset mongo object
type HTTPServer ¶
HTTPServer defines the required methods from the HTTP server
type HealthChecker ¶
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 ¶
type Init struct{}
Init implements the Initialiser interface to initialise dependencies
func (*Init) DoGetAppClients ¶ added in v0.5.0
DoGetAppClients returns a set of app clients for the migration service
func (*Init) DoGetHTTPServer ¶
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 ¶
func (e *Init) DoGetHealthCheck(cfg *config.Config, buildTime, gitCommit, version string) (HealthChecker, error)
DoGetHealthCheck creates a healthcheck with versionInfo
func (*Init) DoGetMigrator ¶ added in v0.4.0
func (e *Init) DoGetMigrator(ctx context.Context, datastore store.Datastore, clientList *clients.ClientList) (migrator.Migrator, error)
DoGetMigrator returns a Migrator
func (*Init) DoGetMongoDB ¶ added in v0.4.0
DoGetMongoDB returns a MongoDB
type Initialiser ¶
type Initialiser interface {
DoGetHTTPServer(bindAddr string, router http.Handler) HTTPServer
DoGetHealthCheck(cfg *config.Config, buildTime, gitCommit, version string) (HealthChecker, error)
DoGetMigrator(ctx context.Context, store store.Datastore, clientList *clients.ClientList) (migrator.Migrator, error)
DoGetMongoDB(ctx context.Context, cfg config.MongoConfig) (store.MongoDB, error)
DoGetAppClients(ctx context.Context, cfg *config.Config) *clients.ClientList
}
Initialiser defines the methods to initialise external services
type MigrationServiceStore ¶ added in v0.4.0
type Service ¶
type Service struct {
API *api.MigrationAPI
Config *config.Config
HealthCheck HealthChecker
Router *mux.Router
Server HTTPServer
ServiceList *ExternalServiceList
// contains filtered or unexported fields
}
Service contains all the configs, server and clients to run the API