mattermost-community-enterp.../vendor/github.com/splitio/go-split-commons/v7/conf/conf.go
Claude ec1f89217a Merge: Complete Mattermost Server with Community Enterprise
Full Mattermost server source with integrated Community Enterprise features.
Includes vendor directory for offline/air-gapped builds.

Structure:
- enterprise-impl/: Enterprise feature implementations
- enterprise-community/: Init files that register implementations
- enterprise/: Bridge imports (community_imports.go)
- vendor/: All dependencies for offline builds

Build (online):
  go build ./cmd/mattermost

Build (offline/air-gapped):
  go build -mod=vendor ./cmd/mattermost

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 23:59:07 +09:00

108 lines
2.7 KiB
Go

package conf
import (
"crypto/tls"
)
// RedisConfig struct is used to cofigure the redis parameters
type RedisConfig struct {
Host string
Port int
Database int
Password string
Username string
Prefix string
// The network type, either tcp or unix.
// Default is tcp.
Network string
// Maximum number of retries before giving up.
// Default is to not retry failed commands.
MaxRetries int
// Dial timeout for establishing new connections.
// Default is 5 seconds.
DialTimeout int
// Timeout for socket reads. If reached, commands will fail
// with a timeout instead of blocking.
// Default is 10 seconds.
ReadTimeout int
// Timeout for socket writes. If reached, commands will fail
// with a timeout instead of blocking.
// Default is 3 seconds.
WriteTimeout int
// Maximum number of socket connections.
// Default is 10 connections.
PoolSize int
// Redis sentinel replication support
SentinelAddresses []string
SentinelMaster string
// Redis cluster replication support
ClusterNodes []string
ClusterKeyHashTag string
TLSConfig *tls.Config
}
// TaskPeriods struct is used to configure the period for each synchronization task
type TaskPeriods struct {
SplitSync int
SegmentSync int
ImpressionSync int
GaugeSync int // deprecated
CounterSync int // deprecated
LatencySync int // deprecated
EventsSync int
TelemetrySync int
}
// AdvancedConfig exposes more configurable parameters that can be used to further tailor the sdk to the user's needs
// - HTTPTimeout - Timeout for HTTP requests when doing synchronization
// - SegmentQueueSize - How many segments can be queued for updating (should be >= # segments the user has)
// - SegmentWorkers - How many workers will be used when performing segments sync.
type AdvancedConfig struct {
HTTPTimeout int
SegmentQueueSize int
SegmentWorkers int
SdkURL string
EventsURL string
TelemetryServiceURL string
EventsBulkSize int64
EventsQueueSize int
ImpressionsQueueSize int
ImpressionsBulkSize int64
StreamingEnabled bool
AuthServiceURL string
StreamingServiceURL string
SplitUpdateQueueSize int64
SegmentUpdateQueueSize int64
SplitsRefreshRate int
SegmentsRefreshRate int
FlagSetsFilter []string
AuthSpecVersion string
FlagsSpecVersion string
LargeSegment *LargeSegmentConfig
RulesConfig *RulesConfig
}
type LargeSegmentConfig struct {
Enable bool
Version string
LazyLoad bool
Workers int
UpdateQueueSize int64
QueueSize int
RefreshRate int
}
type RulesConfig struct {
FeatureFlagRules []string
RuleBasedSegmentRules []string
}