Documentation
¶
Index ¶
Constants ¶
const ( TestNet = "testnet" MainNet = "mainnet" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AdminConfig ¶ added in v1.5.0
type AdminConfig struct {
Endpoint string `split_words:"true" required:"true"`
// Audience and TokenKeys should match the Admin server configuration, since the
// BFF uses these parameters to sign its own JWT tokens.
Audience string `split_words:"true"`
TokenKeys map[string]string `split_words:"true" required:"true"`
}
AdminConfig is a configuration for connecting to an Admin service.
type AuthConfig ¶ added in v1.5.0
type AuthConfig struct {
Domain string `split_words:"true" required:"true"`
Issuer string `split_words:"true" required:"false"` // Set to the custom domain if enabled in Auth0 (ensure trailing slash is set if required!)
Audience string `split_words:"true" required:"true"`
ProviderCache time.Duration `split_words:"true" default:"5m"`
ClientID string `split_words:"true"`
ClientSecret string `split_words:"true"`
Testing bool `split_words:"true" default:"false"` // If true a mock authenticator is used for testing
}
AuthConfig handles Auth0 configuration and authentication
func (AuthConfig) ClientCredentials ¶ added in v1.5.0
func (c AuthConfig) ClientCredentials() management.Option
func (AuthConfig) IssuerURL ¶ added in v1.5.0
func (c AuthConfig) IssuerURL() (u *url.URL, err error)
func (AuthConfig) Validate ¶ added in v1.5.0
func (c AuthConfig) Validate() error
type Config ¶
type Config struct {
Maintenance bool `split_words:"true" default:"false"`
BindAddr string `split_words:"true" default:":4437"`
Mode string `split_words:"true" default:"release"`
LogLevel logger.LevelDecoder `split_words:"true" default:"info"`
ConsoleLog bool `split_words:"true" default:"false"`
AllowOrigins []string `split_words:"true" default:"http://localhost,http://localhost:3000,http://localhost:3003"`
CookieDomain string `split_words:"true"`
Auth0 AuthConfig
TestNet NetworkConfig
MainNet NetworkConfig
Database DatabaseConfig
Sentry sentry.Config
// contains filtered or unexported fields
}
Config uses envconfig to load the required settings from the environment, parse and validate them in preparation for running the GDS BFF API service.
func (Config) GetLogLevel ¶
type DatabaseConfig ¶
type DatabaseConfig struct {
URL string `split_words:"true" required:"true"`
ReindexOnBoot bool `split_words:"true" default:"false"`
MTLS MTLSConfig
}
func (DatabaseConfig) Validate ¶
func (c DatabaseConfig) Validate() error
type DirectoryConfig ¶
type DirectoryConfig struct {
Insecure bool `split_words:"true" default:"true"`
Endpoint string `split_words:"true" required:"true"`
Timeout time.Duration `split_words:"true" default:"10s"`
}
DirectoryConfig is a generic configuration for connecting to a GDS service.
type MTLSConfig ¶ added in v1.5.0
type MTLSConfig struct {
Insecure bool `split_words:"true"`
CertPath string `split_words:"true"`
PoolPath string `split_words:"true"`
}
func (MTLSConfig) DialOption ¶ added in v1.5.0
func (c MTLSConfig) DialOption(endpoint string) (opt grpc.DialOption, err error)
DialOption returns a configured dial option which can be directly used in a grpc.Dial or grpc.DialContext call to connect using mTLS.
func (MTLSConfig) Validate ¶ added in v1.5.0
func (c MTLSConfig) Validate() error
type MembersConfig ¶ added in v1.5.0
type MembersConfig struct {
Endpoint string `split_words:"true" required:"true"`
Timeout time.Duration `split_words:"true" default:"10s"`
MTLS MTLSConfig
}
MembersConfig is a configuration for connecting to a members service.
func (MembersConfig) Validate ¶ added in v1.5.0
func (c MembersConfig) Validate() error
type NetworkConfig ¶ added in v1.5.0
type NetworkConfig struct {
Admin AdminConfig
Directory DirectoryConfig
Members MembersConfig
}
NetworkConfig contains sub configurations for connecting to specific GDS and members services.
func (NetworkConfig) Validate ¶ added in v1.5.0
func (c NetworkConfig) Validate() error