factory

package
v0.0.0-...-f96b470 Latest Latest
Warning

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

Go to latest
Published: Nov 10, 2023 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

Package factory instantiates the application.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type App

type App interface {
	Run() error
}

App is the application.

func NewApp

func NewApp() (App, error)

NewApp creates a new App instance.

type Config

type Config struct {
	LogLevel  LogLevel  `env:"LOG_LEVEL" envDefault:"info"`
	LogFormat LogFormat `env:"LOG_FORMAT" envDefault:"json"`

	RepositoryConfig RepositoryConfig
	ServerConfig     ServerConfig

	NotifiersConfig NotifiersConfig
}

Config is the configuration for the application.

func NewConfig

func NewConfig() (*Config, error)

NewConfig creates a new Config instance.

type LogFormat

type LogFormat string

LogFormat is the format of the logs.

const (
	LogFormatJSON LogFormat = "json"
	LogFormatText LogFormat = "text"
)

Log formats.

type LogLevel

type LogLevel string

LogLevel is the level of the logs.

const (
	LogLevelDebug LogLevel = "debug"
	LogLevelInfo  LogLevel = "info"
	LogLevelWarn  LogLevel = "warn"
	LogLevelError LogLevel = "error"
)

Log levels.

type NotifiersConfig

type NotifiersConfig struct {
	SlackConfig SlackConfig
}

NotifiersConfig is the configuration for the notifiers.

type RepositoryConfig

type RepositoryConfig struct {
	RepositoryType RepositoryType `env:"REPOSITORY_TYPE" envDefault:"sqlite"`
	DSN            string         `env:"REPOSITORY_DSN" envDefault:"inquiry.db"`
}

RepositoryConfig is the configuration for the repository.

type RepositoryType

type RepositoryType string

RepositoryType is the type of repository.

const (
	RepositoryTypeSQLite RepositoryType = "sqlite"
)

Repository types.

func (RepositoryType) String

func (r RepositoryType) String() string

String returns the string representation of the repository type.

type ServerConfig

type ServerConfig struct {
	Port          int           `env:"API_PORT" envDefault:"3000"`
	ShutdownDelay time.Duration `env:"API_SHUTDOWN_DELAY" envDefault:"0s"`
	AuthEnabled   bool          `env:"API_AUTH_ENABLED" envDefault:"true"`
	APIKey        string        `env:"API_KEY" envDefault:""`
}

ServerConfig is the configuration for the server.

type SlackConfig

type SlackConfig struct {
	WebhookURL string `env:"SLACK_WEBHOOK_URL" envDefault:""`
}

SlackConfig is the configuration for Slack.

Directories

Path Synopsis
Package app declares the domain models.
Package app declares the domain models.
Package events is the definition for event consumer & producer.
Package events is the definition for event consumer & producer.
completions
Package completions initialises the completions event stream consumer and producer.
Package completions initialises the completions event stream consumer and producer.
local
Package local implements the local event stream for runs.
Package local implements the local event stream for runs.
runs
Package runs initialises the runs event stream consumer and producer.
Package runs initialises the runs event stream consumer and producer.
Package executor contains the test executor app.
Package executor contains the test executor app.
http
Package http contains the HTTP/REST test scenario implementation.
Package http contains the HTTP/REST test scenario implementation.
replacer
Package replacer provides a Replacer interface that replaces a string with a new string.
Package replacer provides a Replacer interface that replaces a string with a new string.
yaml
Package yaml presents the domain model for the YAML format representing test scenarios.
Package yaml presents the domain model for the YAML format representing test scenarios.
Package http provides the API server and its corresponding components.
Package http provides the API server and its corresponding components.
api
Package api provides primitives to interact with the openapi HTTP API.
Package api provides primitives to interact with the openapi HTTP API.
handlers
Package handlers implements the handlers for the API server.
Package handlers implements the handlers for the API server.
integrations
slack
Package slack provides a slack client for reporting test results.
Package slack provides a slack client for reporting test results.
Package notifiers provides domain models for different notifier integrations.
Package notifiers provides domain models for different notifier integrations.
domain
Package domain holds the notifier domain objects.
Package domain holds the notifier domain objects.
slack
Package slack provides a slack client for reporting test results.
Package slack provides a slack client for reporting test results.
Package repository declares the repository interfaces.
Package repository declares the repository interfaces.
domain
Package domain declares the domain models for the repository.
Package domain declares the domain models for the repository.
sqlite
Package sqlite implements the sqlite repository.
Package sqlite implements the sqlite repository.
Package service declares the service interfaces.
Package service declares the service interfaces.
options
Package options provides the service options.
Package options provides the service options.
project
Package project implements the project service.
Package project implements the project service.
runner
Package runner implements the runner service.
Package runner implements the runner service.
scenario
Package scenario implements the scenario service.
Package scenario implements the scenario service.

Jump to

Keyboard shortcuts

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