config

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Sep 7, 2021 License: MPL-2.0 Imports: 4 Imported by: 2

Documentation

Index

Constants

View Source
const (
	NoAuthProvider          AuthProvider            = "none"
	BasicAuthProvider       AuthProvider            = "basic"
	RedisQueueProvider      QueueProvider           = "redis"
	DefaultStrategyProvider StrategyProvider        = "default"
	DefaultSignatureHeader  SignatureHeaderProvider = "X-Convoy-Signature"
)

Variables

This section is empty.

Functions

func LoadFromFile added in v0.1.0

func LoadFromFile(p string) error

Types

type AuthConfiguration

type AuthConfiguration struct {
	Type  AuthProvider `json:"type"`
	Basic struct {
		Username string `json:"username"`
		Password string `json:"password"`
	} `json:"basic"`
}

type AuthProvider

type AuthProvider string

type Configuration

type Configuration struct {
	Auth     AuthConfiguration     `json:"auth"`
	Database DatabaseConfiguration `json:"database"`
	Queue    QueueConfiguration    `json:"queue"`
	Server   struct {
		HTTP struct {
			Port int `json:"port"`
		} `json:"http"`
	}
	Strategy  StrategyConfiguration  `json:"strategy"`
	Signature SignatureConfiguration `json:"signature"`
}

func Get

func Get() (Configuration, error)

Get fetches the application configuration. LoadFromFile must have been called previously for this to work. Use this when you need to get access to the config object at runtime

type DatabaseConfiguration

type DatabaseConfiguration struct {
	Dsn string `json:"dsn"`
}

type QueueConfiguration

type QueueConfiguration struct {
	Type  QueueProvider `json:"type"`
	Redis struct {
		DSN string `json:"dsn"`
	} `json:"redis"`
}

type QueueProvider

type QueueProvider string

type SignatureConfiguration

type SignatureConfiguration struct {
	Header SignatureHeaderProvider `json:"header"`
}

type SignatureHeaderProvider

type SignatureHeaderProvider string

type StrategyConfiguration

type StrategyConfiguration struct {
	Type    StrategyProvider `json:"type"`
	Default struct {
		IntervalSeconds uint64 `json:"intervalSeconds"`
		RetryLimit      uint64 `json:"retryLimit"`
	} `json:"default"`
}

type StrategyProvider

type StrategyProvider string

Jump to

Keyboard shortcuts

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