config

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 27, 2026 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AdminConfig

type AdminConfig struct {
	Port     string
	Boundary string
}

admin

type AppConfig

type AppConfig struct {
	Postgres PostgresDBConfig
	// Boundaries []Boundary `mapstructure:"boundaries"`
	Boundaries string

	Grpc struct {
		Port                 string
		EnableReflection     bool
		ConnectionTimeout    time.Duration
		KeepAliveTime        time.Duration
		KeepAliveTimeout     time.Duration
		MaxConcurrentStreams uint32
		TLS                  struct {
			Enabled            bool
			CertFile           string
			KeyFile            string
			CAFile             string
			ClientAuthRequired bool
		}
	}

	PollingPublisher struct {
		BatchSize uint32
	}

	Logging LoggingConfig

	Nats NatsConfig
	// Prod bool
	Auth struct {
		AdminUsername string
		AdminPassword string
	}

	Admin AdminConfig

	Pprof struct {
		Enabled bool
		Port    string
	}

	OpenTelemetry struct {
		Enabled     bool
		Endpoint    string
		ServiceName string
	}
	// contains filtered or unexported fields
}

AppConfig represents the application configuration

func InitializeConfig

func InitializeConfig() AppConfig

func LoadConfig

func LoadConfig() (AppConfig, error)

func (*AppConfig) GetBoundaries

func (c *AppConfig) GetBoundaries() *[]Boundary

func (*AppConfig) GetBoundaryNames

func (c *AppConfig) GetBoundaryNames() []string

func (*AppConfig) ParseBoundaries

func (c *AppConfig) ParseBoundaries() error

type Boundary

type Boundary struct {
	Name        string
	Description string
}

type BoundaryToPostgresSchemaMapping

type BoundaryToPostgresSchemaMapping struct {
	Schema   string
	Boundary string
}

type LoggingConfig

type LoggingConfig struct {
	Enabled bool
	Level   string // e.g., "debug", "info", "warn", "error"
}

type NatsClusterConfig

type NatsClusterConfig struct {
	Name     string
	Host     string
	Port     int
	Routes   string
	Username string
	Password string
	Enabled  bool
	Timeout  time.Duration
}

func (*NatsClusterConfig) GetRoutes

func (c *NatsClusterConfig) GetRoutes() []string

type NatsConfig

type NatsConfig struct {
	ServerName     string
	Port           int
	MaxPayload     int32
	MaxConnections int
	StoreDir       string
	Cluster        NatsClusterConfig
}

nats

type PostgresDBConfig

type PostgresDBConfig struct {
	User     string
	Name     string
	Password string
	Host     string
	Port     string
	Schemas  string
	SSLMode  string
	// Write pool configuration (optimized for write operations)
	WriteMaxOpenConns    int
	WriteMaxIdleConns    int
	WriteConnMaxIdleTime time.Duration
	WriteConnMaxLifetime time.Duration
	// Read pool configuration (optimized for read operations)
	ReadMaxOpenConns    int
	ReadMaxIdleConns    int
	ReadConnMaxIdleTime time.Duration
	ReadConnMaxLifetime time.Duration
	// AdminConfig pool configuration (optimized for admin operations)
	AdminMaxOpenConns    int
	AdminMaxIdleConns    int
	AdminConnMaxIdleTime time.Duration
	AdminConnMaxLifetime time.Duration
}

postgres

func (*PostgresDBConfig) GetSchemaMapping

func (p *PostgresDBConfig) GetSchemaMapping() map[string]BoundaryToPostgresSchemaMapping

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL