config

package
v1.20.0 Latest Latest
Warning

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

Go to latest
Published: Nov 25, 2021 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const KafkaSecProtocolTLS = "TLS"

Variables

This section is empty.

Functions

This section is empty.

Types

type Configuration

type Configuration struct {
	BindAddr                   string        `envconfig:"BIND_ADDR"`
	Host                       string        `envconfig:"HOST"`
	ServiceAuthToken           string        `envconfig:"SERVICE_AUTH_TOKEN"            json:"-"`
	DatasetAPIURL              string        `envconfig:"DATASET_API_URL"`
	RecipeAPIURL               string        `envconfig:"RECIPE_API_URL"`
	GracefulShutdownTimeout    time.Duration `envconfig:"GRACEFUL_SHUTDOWN_TIMEOUT"`
	ZebedeeURL                 string        `envconfig:"ZEBEDEE_URL"`
	HealthCheckInterval        time.Duration `envconfig:"HEALTHCHECK_INTERVAL"`
	HealthCheckCriticalTimeout time.Duration `envconfig:"HEALTHCHECK_CRITICAL_TIMEOUT"`
	DefaultLimit               int           `envconfig:"DEFAULT_LIMIT"`
	DefaultMaxLimit            int           `envconfig:"DEFAULT_MAXIMUM_LIMIT"`
	DefaultOffset              int           `envconfig:"DEFAULT_OFFSET"`
	KafkaConfig
	MongoConfig
}

Configuration structure which hold information for configuring the import API

func Get

func Get() (*Configuration, error)

Get the application and returns the configuration structure

func (Configuration) String

func (config Configuration) String() string

String is implemented to prevent sensitive fields being logged. The config is returned as JSON with sensitive fields omitted.

type KafkaConfig added in v1.19.0

type KafkaConfig struct {
	Brokers                               []string `envconfig:"KAFKA_ADDR"`
	Version                               string   `envconfig:"KAFKA_VERSION"`
	MaxBytes                              int      `envconfig:"KAFKA_MAX_BYTES"`
	SecProtocol                           string   `envconfig:"KAFKA_SEC_PROTO"`
	SecCACerts                            string   `envconfig:"KAFKA_SEC_CA_CERTS"`
	SecClientCert                         string   `envconfig:"KAFKA_SEC_CLIENT_CERT"`
	SecClientKey                          string   `envconfig:"KAFKA_SEC_CLIENT_KEY"                         json:"-"`
	SecSkipVerify                         bool     `envconfig:"KAFKA_SEC_SKIP_VERIFY"`
	DatabakerImportTopic                  string   `envconfig:"DATABAKER_IMPORT_TOPIC"`
	InputFileAvailableTopic               string   `envconfig:"INPUT_FILE_AVAILABLE_TOPIC"`
	CantabularDatasetInstanceStartedTopic string   `envconfig:"CANTABULAR_DATASET_INSTANCE_STARTED_TOPIC"`
}

KafkaConfig contains all configuration relating to kafka

type MongoConfig added in v1.20.0

type MongoConfig struct {
	URI                string        `envconfig:"MONGODB_BIND_ADDR"   json:"-"`
	Collection         string        `envconfig:"MONGODB_COLLECTION"`
	Database           string        `envconfig:"MONGODB_DATABASE"`
	Username           string        `envconfig:"MONGODB_USERNAME"    json:"-"`
	Password           string        `envconfig:"MONGODB_PASSWORD"    json:"-"`
	IsSSL              bool          `envconfig:"MONGODB_IS_SSL"`
	EnableReadConcern  bool          `envconfig:"MONGODB_ENABLE_READ_CONCERN"`
	EnableWriteConcern bool          `envconfig:"MONGODB_ENABLE_WRITE_CONCERN"`
	QueryTimeout       time.Duration `envconfig:"MONGODB_QUERY_TIMEOUT"`
	ConnectionTimeout  time.Duration `envconfig:"MONGODB_CONNECT_TIMEOUT"`
}

MongoConfig contains the config required to connect to MongoDB.

Jump to

Keyboard shortcuts

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