Help us shape the future of Go! Take the 2026 Go Developer Survey

config

package
v0.0.10 Latest Latest
Warning

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

Go to latest
Published: Jul 23, 2025 License: MIT Imports: 7 Imported by: 11

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InitConfig

func InitConfig(file string)

Types

type BasicAuthConfiguration

type BasicAuthConfiguration struct {
	Username string `json:"username" mapstructure:"username" default:""`
	Password string `json:"password" mapstructure:"password" default:""`
}

type Configuration

type Configuration struct {
	Gigapi GigapiConfiguration `json:"gigapi" mapstructure:"gigapi" default:""`
	// HTTP server configuration (reader and writer)
	HTTP HTTPConfiguration `json:"http" mapstructure:"http" default:""`
	// FlightSQL server configuration
	FlightSql FlightSqlConfiguration `json:"flightsql" mapstructure:"flightsql" default:""`
	// Log level (debug, info, warn, error, fatal)
	Loglevel string `json:"loglevel" mapstructure:"loglevel" default:"info"`
}
var Config *Configuration

type FlightSqlConfiguration added in v0.0.6

type FlightSqlConfiguration struct {
	// Port to run flightSQL server
	Port int `json:"port" mapstructure:"port" default:"8082"`
	// Enable FlightSQL server
	Enable bool `json:"enable" mapstructure:"enable" default:"true"`
}

type GigapiConfiguration

type GigapiConfiguration struct {
	// Root folder for all the data files
	Root string `json:"root" mapstructure:"root" default:""`
	// Base timeout between merges
	MergeTimeoutS int `json:"merge_timeout_s" mapstructure:"merge_timeout_s" default:"10"`
	// Timeout before saving the new data to the disk
	SaveTimeoutS float64 `json:"save_timeout_s" mapstructure:"save_timeout_s" default:"1"`
	// Disable merging
	NoMerges bool `json:"no_merges" mapstructure:"no_merges" default:"false"`
	// Enable UI for querier
	UI bool `json:"ui" mapstructure:"ui" default:"true"`
	// Execution mode (readonly, writeonly, compaction, aio)
	Mode string `json:"mode" mapstructure:"mode" default:"aio"`
	// Index configuration for the data storage
	Metadata MetadataConfiguration `json:"metadata" mapstructure:"metadata" default:""`
	// Layers configuration
	Layers []LayersConfiguration `json:"layers" mapstructure:"layers" default:""`
	// Duckdb default database path
	DefaultDatabase string `json:"default_database" mapstructure:"default_database" default:":memory:"`
}

type HTTPConfiguration added in v0.0.6

type HTTPConfiguration struct {
	// Port to listen on
	Port int `json:"port" mapstructure:"port" default:"7971"`
	// Host to bind to (0.0.0.0 for all interfaces)
	Host string `json:"host" mapstructure:"host" default:"0.0.0.0"`
	// Basic authentication configuration
	BasicAuth BasicAuthConfiguration `json:"basic_auth" mapstructure:"basic_auth" default:""`
}

type LayerAuthConfiguration added in v0.0.9

type LayerAuthConfiguration struct {
	// Key for authentication
	Key string `json:"key" mapstructure:"key" default:""`
	// Secret for authentication
	Secret string `json:"secret" mapstructure:"secret" default:""`
}

type LayersConfiguration added in v0.0.8

type LayersConfiguration struct {
	// Name of the layer
	Name string `json:"name" mapstructure:"name" default:""`
	// Type of the layer (s3, fs)
	Type string `json:"type" mapstructure:"type" default:""`
	// If the layer is local for writer or global
	Global bool `json:"global" mapstructure:"global" default:"false"`
	// URL of the layer
	//
	//   Example: s3://key:secret@localhost:8181/bucket/prefix - s3 URL
	//   Example: file:///data/folder/path - root path for filesystem
	URL string `json:"url" mapstructure:"url" default:""`
	// How long to keep data before moving to the next layer (empty for unlimited)
	//
	//   Example: 1h - keep data for 1 hour
	//   Example: 10m - keep data for 10 minutes
	TTL time.Duration `json:"ttl" mapstructure:"ttl" default:""`
	// Auth configuration for s3 layers
	Auth LayerAuthConfiguration `json:"auth" mapstructure:"auth" default:""`
}

type MetadataConfiguration added in v0.0.7

type MetadataConfiguration struct {
	// Type of metadata storage (json or redis)
	Type string `json:"type" mapstructure:"type" default:"json"`
	// URL: Redis url in case of Redis metadata storage
	//
	// Example:
	//  - redis://localhost:6379/0 - for no authentication
	//  - redis://username:password@localhost:6379/0 - for password authentication
	//  - rediss://username:password@localhost:6379/0 - for SSL
	URL string `json:"url" mapstructure:"url" default:""`
}

Jump to

Keyboard shortcuts

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