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