Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( DefaultTLSGenDir = os.ExpandEnv("$HOME/.config/topaz/certs") CertificateSets = []string{"grpc", "gateway"} )
Functions ¶
Types ¶
type AuthnConfig ¶
type AuthnConfig struct {
APIKeys map[string]string `json:"api_keys"`
Options CallOptions `json:"options"`
}
type CallOptions ¶
type CallOptions struct {
Default Options `json:"default"`
Overrides []OptionOverrides `json:"overrides"`
}
func (*CallOptions) ForPath ¶
func (co *CallOptions) ForPath(path string) *Options
type CommandMode ¶
type CommandMode int
CommandMode -- enum type.
const ( CommandModeUnknown CommandMode = 0 + iota CommandModeRun CommandModeBuild )
CommandMode -- enum constants.
type Common ¶
type Common struct {
Logging logger.Config `json:"logging"`
Command struct {
Mode CommandMode
} `json:"-"`
API struct {
GRPC struct {
ListenAddress string `json:"listen_address"`
// Default connection timeout is 120 seconds
// https://godoc.org/google.golang.org/grpc#ConnectionTimeout
ConnectionTimeoutSeconds uint32 `json:"connection_timeout_seconds"`
Certs certs.TLSCredsConfig `json:"certs"`
} `json:"grpc"`
Gateway struct {
ListenAddress string `json:"listen_address"`
AllowedOrigins []string `json:"allowed_origins"`
Certs certs.TLSCredsConfig `json:"certs"`
HTTP bool `json:"http"`
ReadTimeout time.Duration `json:"read_timeout"`
ReadHeaderTimeout time.Duration `json:"read_header_timeout"`
WriteTimeout time.Duration `json:"write_timeout"`
IdleTimeout time.Duration `json:"idle_timeout"`
} `json:"gateway"`
Health struct {
ListenAddress string `json:"listen_address"`
} `json:"health"`
} `json:"api"`
JWT struct {
// Specifies the duration in which exp (Expiry) and nbf (Not Before)
// claims may differ by. This value should be positive.
AcceptableTimeSkewSeconds int `json:"acceptable_time_skew_seconds"`
} `json:"jwt"`
// Directory configuration
Directory directory.Config `json:"directory_service"`
// Default OPA configuration
OPA runtime.Config `json:"opa"`
}
Config holds the configuration for the app.
type Config ¶
type Config struct {
Common `json:",squash"` // nolint:staticcheck // squash is used by mapstructure
Auth AuthnConfig `json:"auth"`
DecisionLogger file.Config `json:"decision_logger"`
}
type LoggerConfig ¶
type LoggerConfig Config
LoggerConfig is a basic Config copy that gets loaded before everything else, so we can log during resolving configuration.
type OptionOverrides ¶
Click to show internal directories.
Click to hide internal directories.