config

package
v0.2.2 Latest Latest
Warning

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

Go to latest
Published: Jan 11, 2023 License: AGPL-3.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Path = "config/config.yaml"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Authn

type Authn struct {
	Enabled bool     `yaml:"enabled"`
	Keys    []string `yaml:"keys"`
}

Authn -.

type Config

type Config struct {
	Server   `yaml:"server"`
	Log      `yaml:"logger"`
	Authn    `yaml:"authn"`
	Tracer   `yaml:"tracer"`
	Meter    `yaml:"meter"`
	Service  `yaml:"service"`
	Database `yaml:"database"`
}

Config -

func DefaultConfig

func DefaultConfig() *Config

DefaultConfig - Creates default config.

func NewConfig

func NewConfig() (*Config, error)

NewConfig - Creates new config

type Database

type Database struct {
	Engine             string `env-required:"true" yaml:"engine"`
	Database           string `yaml:"database"`
	URI                string `yaml:"uri"`
	MaxOpenConnections int    `yaml:"max_open_connections"`
}

Database -.

type GRPC

type GRPC struct {
	Port      string    `env-required:"true" yaml:"port"`
	TLSConfig TLSConfig `yaml:"tls"`
}

type HTTP

type HTTP struct {
	Enabled            bool      `yaml:"enabled"`
	Port               string    `env-required:"true" yaml:"port"`
	TLSConfig          TLSConfig `yaml:"tls"`
	CORSAllowedOrigins []string  `yaml:"cors_allowed_origins"`
	CORSAllowedHeaders []string  `yaml:"cors_allowed_headers"`
}

HTTP -.

type Log

type Log struct {
	Level string `env-required:"true" yaml:"level"`
}

Log -.

type Meter added in v0.2.1

type Meter struct {
	Exporter string `yaml:"exporter" env-default:"otlp"`
	Endpoint string `yaml:"endpoint" env-default:"telemetry.permify.co"`
	Enabled  bool   `yaml:"enabled" env-default:"true"`
}

Meter -.

type Server

type Server struct {
	HTTP `yaml:"http"`
	GRPC `yaml:"grpc"`
}

type Service

type Service struct {
	CircuitBreaker   bool `yaml:"circuit_breaker"`
	ConcurrencyLimit int  `yaml:"concurrency_limit"`
}

Service -.

type TLSConfig

type TLSConfig struct {
	Enabled  bool   `yaml:"enabled"`
	CertPath string `yaml:"cert_path"`
	KeyPath  string `yaml:"key_path"`
}

type Tracer

type Tracer struct {
	Exporter string `yaml:"exporter"`
	Endpoint string `yaml:"endpoint"`
	Enabled  bool   `yaml:"enabled"`
}

Tracer -.

Jump to

Keyboard shortcuts

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