joshbetz/config alternatives and similar packages
Based on the "Configuration" category.
Alternatively, view joshbetz/config alternatives based on common mentions on social networks and blogs.
-
koanf
Simple, extremely lightweight, extensible, configuration management library for Go. Support for JSON, TOML, YAML, env, command line, file, S3 etc. Alternative to viper. -
konfig
Composable, observable and performant config handling for Go for the distributed processing era -
gookit/config
📝 Go configuration manage(load,get,set,export). support JSON, YAML, TOML, Properties, INI, HCL, ENV and Flags. Multi file load, data override merge, parse ENV var. Go应用配置加载管理,支持多种格式,多文件加载,远程文件加载,支持数据合并,解析环境变量名 -
gcfg
read INI-style configuration files into Go structs; supports user-defined types and subsections -
goConfig
DISCONTINUED. goconfig uses a struct as input and populates the fields of this struct with parameters from command line, environment variables and configuration file. -
configuro
An opinionated configuration loading framework for Containerized and Cloud-Native applications. -
hocon
go implementation of lightbend's HOCON configuration library https://github.com/lightbend/config -
configure
Configure is a Go package that gives you easy configuration of your project through redundancy -
Genv
Genv is a library for Go (golang) that makes it easy to read and use environment variables in your projects. It also allows environment variables to be loaded from the .env file. -
swap
Instantiate/configure structs recursively, based on build environment. (YAML, TOML, JSON and env).
InfluxDB - Purpose built for real-time analytics at any scale.
Do you think we are missing an alternative of joshbetz/config or a related project?
README
config
A small configuration library for Go that parses environment variables, JSON
files, and reloads automatically on SIGHUP
.
Example
func main() {
c := config.New("config.json")
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
var value string
c.Get("value", &value)
fmt.Fprintf(w, "Value: %s", value)
})
http.ListenAndServe(":3000", nil)
}
API
func New(file string) *Config
Constructor that initializes a Config object and sets up the SIGHUP watcher.
func (config *Config) Get(key string, v interface{}) error
Takes the path to a JSON file, the name of the configuration option, and a
pointer to the variable where the config value will be stored. v
can be a
pointer to a string, bool, or float64.
func (config *Config) Reload()
Reloads the config. Happens automatically on SIGHUP
.