config

package
v1.4.1 Latest Latest
Warning

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

Go to latest
Published: Mar 2, 2023 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ApiConfig

type ApiConfig struct {
	// Port is the port on which the API service will bind to
	Port int `yaml:"port"`
}

type Backend

type Backend struct {
	// Temporal config is the config to connect to Temporal
	Temporal *TemporalConfig `yaml:"temporal"`
	// Cadence config is the config to connect to Cadence
	Cadence *CadenceConfig `yaml:"cadence"`
}

type CadenceConfig

type CadenceConfig struct {
	// HostPort to connect to, default to 127.0.0.1:7833
	HostPort string `yaml:"hostPort"`
	// Domain to connect to, default to default
	Domain string `yaml:"domain"`
	// DisableSearchAttributes will not use system search attributes
	// this is for Cadence service without advanced visibility because of
	// https://github.com/uber/cadence/issues/5085
	DisableSystemSearchAttributes bool `yaml:"disableSystemSearchAttributes"`
}

type Config

type Config struct {
	// Log is the logging config
	Log Logger `yaml:"log"`
	// Api is the API config
	Api ApiConfig `yaml:"api"`
	// Backend is the service behind, either Cadence or Temporal is required
	Backend Backend `yaml:"backend"`
}

func NewConfig

func NewConfig(configPath string) (*Config, error)

NewConfig returns a new decoded Config struct

type Logger

type Logger struct {
	// Stdout is true then the output needs to goto standard out
	// By default this is false and output will go to standard error
	Stdout bool `yaml:"stdout"`
	// Level is the desired log level
	Level string `yaml:"level"`
	// OutputFile is the path to the log output file
	// Stdout must be false, otherwise Stdout will take precedence
	OutputFile string `yaml:"outputFile"`
	// LevelKey is the desired log level, defaults to "level"
	LevelKey string `yaml:"levelKey"`
	// Encoding decides the format, supports "console" and "json".
	// "json" will print the log in JSON format(better for machine), while "console" will print in plain-text format(more human friendly)
	// Default is "json"
	Encoding string `yaml:"encoding"`
}

Logger contains the config items for logger

func (*Logger) NewZapLogger

func (cfg *Logger) NewZapLogger() (*zap.Logger, error)

NewZapLogger builds and returns a new Zap logger for this logging configuration

type TemporalConfig

type TemporalConfig struct {
	// HostPort to connect to, default to localhost:7233
	HostPort string `yaml:"hostPort"`
	// Namespace to connect to, default to default
	Namespace string `yaml:"namespace"`
	// Prometheus is configuring the metric exposer
	Prometheus *prometheus.Configuration `yaml:"prometheus"`
}

Jump to

Keyboard shortcuts

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