Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrInvalidGRPCTLSConfig = errors.New("'OPENFGA_GRPC_TLS_CERT_PATH' and 'OPENFGA_GRPC_TLS_KEY_PATH' env variables must be set") ErrInvalidHTTPTLSConfig = errors.New("'OPENFGA_HTTP_GATEWAY_TLS_CERT_PATH' and 'OPENFGA_HTTP_GATEWAY_TLS_KEY_PATH' env variables must be set") )
Functions ¶
Types ¶
type Config ¶
type Config struct {
// If you change any of these settings, please update the documentation at https://github.com/openfga/openfga.dev/blob/main/docs/content/intro/setup-openfga.mdx
DatastoreEngine string `default:"memory" split_words:"true"`
DatastoreConnectionURI string `split_words:"true"`
DatastoreMaxCacheSize int `default:"100000" split_words:"true"`
ServiceName string `default:"openfga" split_words:"true"`
HTTPPort int `default:"8080" split_words:"true"`
RPCPort int `default:"8081" split_words:"true"`
MaxTuplesPerWrite int `default:"100" split_words:"true"`
MaxTypesPerAuthorizationModel int `default:"100" split_words:"true"`
// ChangelogHorizonOffset is an offset in minutes from the current time. Changes that occur after this offset will not be included in the response of ReadChanges.
ChangelogHorizonOffset int `default:"0" split_words:"true" `
// ResolveNodeLimit indicates how deeply nested an authorization model can be.
ResolveNodeLimit uint32 `default:"25" split_words:"true"`
// RequestTimeout is a limit on the time a request may take. If the value is 0, then there is no timeout.
RequestTimeout time.Duration `default:"0s" split_words:"true"`
GRPCTLSEnabled bool `default:"false" envconfig:"GRPC_TLS_ENABLED"`
GRPCTLSCertPath string `envconfig:"GRPC_TLS_CERT_PATH"`
GRPCTLSKeyPath string `envconfig:"GRPC_TLS_KEY_PATH"`
HTTPTLSEnabled bool `default:"false" envconfig:"HTTP_TLS_ENABLED"`
HTTPTLSCertPath string `envconfig:"HTTP_TLS_CERT_PATH"`
HTTPTLSKeyPath string `envconfig:"HTTP_TLS_KEY_PATH"`
// Authentication. Possible options: none,preshared,oidc
AuthMethod string `default:"none" split_words:"true"`
AuthPresharedKeys []string `default:"" split_words:"true"`
// OIDC authentication
AuthOIDCIssuer string `default:"" split_words:"true"`
AuthOIDCAudience string `default:"" split_words:"true"`
// Logging. Possible options: text,json
LogFormat string `default:"text" split_words:"true"`
}
func GetServiceConfig ¶
func GetServiceConfig() Config
Click to show internal directories.
Click to hide internal directories.