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