gigapi-config

module
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

README

GigAPI Config

This repository provides the configuration options for Gigapi modules. Below is a detailed breakdown of all the available configuration options and their usage.

Configuration Parameters

Configuration Parameters

Key Type Default Description
gigapi.root String "" Root folder for all the data files.
gigapi.merge_timeout_s Integer 10 Base timeout between merges (in seconds).
gigapi.save_timeout_s Float 1 Timeout before saving the new data to disk (in seconds).
gigapi.no_merges Boolean false Disable merging functionality.
gigapi.ui Boolean true Enable UI for querier.
gigapi.mode String aio Execution mode (readonly, writeonly, compaction, aio).
http.port Integer 7971 Port to listen on for the HTTP server.
http.host String 0.0.0.0 Host to bind to (0.0.0.0 for all interfaces).
http.basic_auth.username String "" Basic authentication username.
http.basic_auth.password String "" Basic authentication password.
flightsql.port Integer 8082 Port to run the FlightSQL server.
flightsql.enable Boolean true Enable FlightSQL server.
loglevel String info Log level (debug, info, warn, error, fatal).
metadata.type String json Type of metadata storage (json or redis).
metadata.url String "" Redis URL for metadata storage (if type is redis). Example: redis://user:pass@localhost:6379/0

Configuration Methods

Environment Variables

You can configure the application using environment variables. Environment variable names are derived from the configuration keys by replacing dots (.) with underscores (_) and using uppercase letters. For example:

  • GIGAPI_ROOT
  • GIGAPI_MERGE_TIMEOUT_S
  • BASIC_AUTH_USERNAME
  • HTTP_PORT
Configuration File

You can also provide a configuration file in any format supported by Viper (e.g., JSON, YAML, TOML). Use the InitConfig function to specify the configuration file path.

Example Configuration (YAML)

Below is an example configuration file in YAML format:

gigapi:
  root: "/data"
  merge_timeout_s: 15
  save_timeout_s: 2.5
  no_merges: true
  ui: true
  mode: "aio"

http:
  port: 8080
  host: "127.0.0.1"
  basic_auth:
    username: "admin"
    password: "securepassword"

flightsql:
  port: 9090
  enable: true

loglevel: "debug"
Initialization and Default Handling

The InitConfig function initializes the configuration by either reading a file or using environment variables. If no explicit values are provided, defaults are automatically applied via the setDefaults() function.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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