Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Authn ¶
type Authn struct {
Enabled bool `mapstructure:"enabled"` // Whether authentication is enabled
Method string `mapstructure:"method"` // The authentication method to be used
Oidc Oidc `mapstructure:"oidc"` // Configuration for OIDC authentication
}
Authn contains configuration for authentication.
type Cache ¶ added in v0.3.1
type Cache struct {
NumberOfCounters int64 `mapstructure:"number_of_counters"` // Number of counters for the cache
MaxCost string `mapstructure:"max_cost"` // Maximum cost for the cache
}
Cache contains configuration for caching.
type Config ¶
type Config struct {
Server `mapstructure:"server"` // Server configuration for both HTTP and gRPC
Log `mapstructure:"logger"` // Logging configuration
Profiler `mapstructure:"profiler"` // Profiler configuration
Authn `mapstructure:"authn"` // Authentication configuration
Tracer `mapstructure:"tracer"` // Tracing configuration
Meter `mapstructure:"meter"` // Metrics configuration
Service `mapstructure:"service"` // Service configuration
Database `mapstructure:"database"` // Database configuration
}
Config is the main configuration structure containing various sections for different aspects of the application.
type Database ¶
type Database struct {
Engine string `mapstructure:"engine"` // Database engine type (e.g., "postgres" or "memory")
URI string `mapstructure:"uri"` // Database connection URI
AutoMigrate bool `mapstructure:"auto_migrate"` // Whether to enable automatic migration
MaxOpenConnections int `mapstructure:"max_open_connections"` // Maximum number of open connections to the database
MaxIdleConnections int `mapstructure:"max_idle_connections"` // Maximum number of idle connections to the database
MaxConnectionLifetime time.Duration `mapstructure:"max_connection_lifetime"` // Maximum duration a connection can be reused
MaxConnectionIdleTime time.Duration `mapstructure:"max_connection_idle_time"`
DatabaseGarbageCollection DatabaseGarbageCollection `mapstructure:"garbage_collection"`
}
Database contains configuration for the database.
type DatabaseGarbageCollection ¶ added in v0.3.8
type GRPC ¶
type GRPC struct {
Port string `mapstructure:"port"` // Port for the gRPC server
TLSConfig TLSConfig `mapstructure:"tls"` // TLS configuration for the gRPC server
}
GRPC contains configuration for the gRPC server.
type HTTP ¶
type HTTP struct {
Enabled bool `mapstructure:"enabled"` // Whether the HTTP server is enabled
Port string `mapstructure:"port"` // Port for the HTTP server
TLSConfig TLSConfig `mapstructure:"tls"` // TLS configuration for the HTTP server
CORSAllowedOrigins []string `mapstructure:"cors_allowed_origins"` // List of allowed origins for CORS
CORSAllowedHeaders []string `mapstructure:"cors_allowed_headers"` // List of allowed headers for CORS
}
HTTP contains configuration for the HTTP server.
type Log ¶
type Log struct {
Level string `mapstructure:"level"` // Logging level
}
Log contains configuration for logging.
type Meter ¶ added in v0.2.1
type Meter struct {
Enabled bool `mapstructure:"enabled"` // Whether metrics collection is enabled
Exporter string `mapstructure:"exporter"` // Exporter for metrics data
Endpoint string `mapstructure:"endpoint"` // Endpoint for the metrics exporter
}
Meter contains configuration for metrics collection and reporting.
type Oidc ¶ added in v0.3.1
type Oidc struct {
Issuer string `mapstructure:"issuer"` // OIDC issuer URL
ClientId string `mapstructure:"client_id"` // OIDC client ID
}
Oidc contains configuration for OIDC authentication.
type Permission ¶ added in v0.3.1
type Permission struct {
BulkLimit int `mapstructure:"bulk_limit"` // Limit for bulk operations
ConcurrencyLimit int `mapstructure:"concurrency_limit"` // Limit for concurrent operations
Cache Cache `mapstructure:"cache"` // Cache configuration for the permission service
}
Permission contains configuration for the permission service.
type Preshared ¶ added in v0.3.1
type Preshared struct {
}
Preshared contains configuration for preshared key authentication.
type Profiler ¶ added in v0.3.0
type Profiler struct {
Enabled bool `mapstructure:"enabled"` // Whether the profiler is enabled
Port string `mapstructure:"port"` // Port for the profiler
}
Profiler contains configuration for the profiler.
type Relationship ¶ added in v0.3.1
type Relationship struct{}
Relationship is a placeholder struct for the relationship service configuration.
type Schema ¶ added in v0.3.1
type Schema struct {
Cache Cache `mapstructure:"cache"` // Cache configuration for the schema service
}
Schema contains configuration for the schema service.
type Server ¶
type Server struct {
HTTP `mapstructure:"http"` // HTTP server configuration
GRPC `mapstructure:"grpc"` // gRPC server configuration
}
Server contains the configurations for both HTTP and gRPC servers.
type Service ¶
type Service struct {
CircuitBreaker bool `mapstructure:"circuit_breaker"` // Whether to enable the circuit breaker pattern
Schema Schema `mapstructure:"schema"` // Schema service configuration
Permission Permission `mapstructure:"permission"` // Permission service configuration
Relationship Relationship `mapstructure:"relationship"` // Relationship service configuration
}
Service contains configuration for various service-level features.
type TLSConfig ¶
type TLSConfig struct {
Enabled bool `mapstructure:"enabled"` // Whether TLS is enabled
CertPath string `mapstructure:"cert"` // Path to the certificate file
KeyPath string `mapstructure:"key"` // Path to the key file
}
TLSConfig contains configuration for TLS.
type Tracer ¶
type Tracer struct {
Enabled bool `mapstructure:"enabled"` // Whether tracing collection is enabled
Exporter string `mapstructure:"exporter"` // Exporter for tracing data
Endpoint string `mapstructure:"endpoint"` // Endpoint for the tracing exporter
}
Tracer contains configuration for distributed tracing.