Awesome Go

Configuration

74 libraries in this category

viper

Go configuration with fangs

30,486ConfigurationConfiguration
godotenv

Go port of Ruby's dotenv library (Loads environment variables from `.env`)

10,661ConfigurationConfiguration
sonic

A blazingly fast JSON serializing & deserializing library

9,623ConfigurationConfiguration
env

Parse environment variables to Go structs (with defaults)

6,341ConfigurationConfiguration
kelseyhightower/envconfig

Go library for managing configuration data from environment variables

5,470ConfigurationConfiguration
koanf

Light weight, extensible library for reading config in Go applications. Built in support for JSON, TOML, YAML, env, command line

4,220ConfigurationConfiguration
ini

Go package to read and write INI files

3,542ConfigurationConfiguration
kong

Command-line parser with support for arbitrarily complex command-line structures and additional sources of configuration such as YAML, JSON, TOML, etc (successor to `kingpin`)

3,188ConfigurationConfiguration
cleanenv

Minimalistic configuration reader (from files, ENV, and wherever you want)

2,172ConfigurationConfiguration
xdg

Go implementation of the [XDG Base Directory Specification](https://specifications.freedesktop.org/basedir-spec/latest/) and [XDG user directories](https://wiki.archlinux.org/index.php/XDG_user_directories)

1,022ConfigurationConfiguration
aconfig

Simple, useful and opinionated config loader

649ConfigurationConfiguration
konfig

Composable, observable and performant config handling for Go for the distributed processing era

646ConfigurationConfiguration
gookit/config

application config manage(load,get,set). support JSON, YAML, TOML, INI, HCL. multi file load, data override merge

584ConfigurationConfiguration
confita

Load configuration in cascade from multiple backends into a struct

506ConfigurationConfiguration
konf

The simplest API for reading/watching config from file, env, flag and clouds (e.g. AWS, Azure, GCP)

394ConfigurationConfiguration
fig

Tiny library for reading configuration from a file and from environment variables (with validation & defaults)

383ConfigurationConfiguration
GoLobby/Config

GoLobby Config is a lightweight yet powerful configuration manager for the Go programming language

366ConfigurationConfiguration
hjson

Human JSON, a configuration file format for humans. Relaxed syntax, fewer mistakes, more comments

358ConfigurationConfiguration
config

Cloud native application configuration. Bind ENV to structs in only two lines

336ConfigurationConfiguration
store

Lightweight configuration manager for Go.

273ConfigurationLibraries for configuration parsing.
envconfig

Read your configuration from environment variables

249ConfigurationConfiguration
joshbetz/config

Small configuration library for Go that parses environment variables, JSON files, and reloads automatically on SIGHUP.

215ConfigurationLibraries for configuration parsing.
zerocfg

Zero-effort, concise configuration management that avoids boilerplate and repetitive code, supports multiple sources with priority overrides

200ConfigurationConfiguration
argus

File watching and configuration management with MPSC ring buffer, adaptive batching strategies, and universal format parsing (JSON, YAML, TOML, INI, HCL, Properties)

169ConfigurationConfiguration
harvester

Harvester, a easy to use static and dynamic configuration package supporting seeding, env vars and Consul integration

132ConfigurationConfiguration
onion

Layer based configuration for Go, Supports JSON, TOML, YAML, properties, etcd, env, and encryption using PGP

119ConfigurationConfiguration
configuration

Library for initializing configuration structs from env variables, files, flags and 'default' tag

108ConfigurationConfiguration
envh

Helpers to manage environment variables

101ConfigurationConfiguration
configuro

opinionated configuration loading & validation framework from ENV and Files focused towards 12-Factor compliant applications

92ConfigurationConfiguration
hocon

Configuration library for working with the HOCON(a human-friendly JSON superset) format, supports features like environment variables, referencing other values, comments and multiple files

91ConfigurationConfiguration
env

A lightweight package for loading environment variables into structs

81ConfigurationConfiguration
xdg

Cross platform package that follows the [XDG Standard](https://specifications.freedesktop.org/basedir-spec/latest/).

79ConfigurationLibraries for configuration parsing.
uConfig

Lightweight, zero-dependency, and extendable configuration management

75ConfigurationConfiguration
gofigure

Go application configuration made easy.

68ConfigurationLibraries for configuration parsing.
go-aws-ssm

Go package that fetches parameters from AWS System Manager - Parameter Store

67ConfigurationConfiguration
config

configure your app using file, environment variables, or flags in two lines of code

61ConfigurationConfiguration
configure

Provides configuration through multiple sources, including JSON, flags and environment variables.

56ConfigurationLibraries for configuration parsing.
gone/jconf

Modular JSON configuration. Keep your config structs along with the code they configure and delegate parsing to submodules without sacrificing full config serialization

51ConfigurationConfiguration
go-cfg

The library provides a unified way to read configuration data into a structure from various sources, such as env, flags, and configuration files (.json, .yaml, .toml, .env)

50ConfigurationConfiguration
goconfig

Populate Go structs from flags, environment variables, config.json and defaults with deterministic precedence. No extra dependencies

49ConfigurationConfiguration
genv

Read environment variables easily with dotenv support

45ConfigurationConfiguration
go-up

A simple configuration library with recursive placeholders resolution and no magic

43ConfigurationConfiguration
confiq

Structured data format to config struct decoder library for Go - supporting multiple data formats

39ConfigurationConfiguration
enflag

Container-oriented, zero-dependency configuration library that unifies Env variable and Flag parsing. Uses generics for type safety, without reflection or struct tags

39ConfigurationConfiguration
ingo

Flags persisted in an ini-like config file.

38ConfigurationLibraries for configuration parsing.
conflate

Library/tool to merge multiple JSON/YAML/TOML files from arbitrary URLs, validation against a JSON schema, and application of default values defined in the schema

36ConfigurationConfiguration
mini

Golang package for parsing ini-style configuration files.

35ConfigurationLibraries for configuration parsing.
bcl

BCL is a configuration language similar to HCL

34ConfigurationConfiguration
go-array

A Go package that read or set data from map, slice or json

23ConfigurationConfiguration
go-ssm-config

Go utility for loading configuration parameters from AWS SSM (Parameter Store)

23ConfigurationConfiguration
nasermirzaei89/env

Simple useful package for read environment variables

22ConfigurationConfiguration
envyaml

Yaml with environment variables reader. it helps to have secrets as environment variable but load them configs as structured Yaml

22ConfigurationConfiguration
yamagiconf

The "safe subset" of YAML for Go configs

19ConfigurationConfiguration
go-ini

A Go package that marshals and unmarshals INI-files

18ConfigurationConfiguration
ini

INI Parser & Write Library, Unmarshal to Struct, Marshal to Json, Write File, watch file

17ConfigurationConfiguration
go-conf

Simple library for application configuration based on annotated structs. It supports reading the configuration from environment variables, config files and command line parameters

14ConfigurationConfiguration
nfigure

Per-library struct-tag based configuration from command lines (Posix & Go-style); environment, JSON, YAML

12ConfigurationConfiguration
typenv

Minimalistic, zero dependency, typed environment variables library

12ConfigurationConfiguration
piper

Viper wrapper with config inheritance and key generation

10ConfigurationConfiguration
gonfig

Tag-based configuration parser which loads values from different providers into typesafe struct

9ConfigurationConfiguration
go-yamlvalidator

Source-aware YAML validation with native Go schemas and JSON Schema support

9ConfigurationConfiguration
env

An environment utility package with support for unmarshaling into structs

8ConfigurationConfiguration
swap

Instantiate/configure structs recursively, based on build environment. (YAML, TOML, JSON and env)

8ConfigurationConfiguration
hedzr/store

Extensible, high-performance configuration management library, optimized for hierarchical data

8ConfigurationConfiguration
GoCfg

Config manager with Struct Tags based contracts, custom value providers, parsers, and documentation generation. Customizable yet simple

6ConfigurationConfiguration
azureappconfiguration

The configuration provider for consuming data in Azure App Configuration from Go applications

6ConfigurationConfiguration
go-config

Simple and convenient library for working with app configurations

6ConfigurationConfiguration
go-external-config

Spring-inspired configuration management library for Go

2ConfigurationConfiguration
go-external-config/aws

AWS property source support for go-external-config

1ConfigurationConfiguration
go-external-config/consul

Consul property source support for go-external-config

1ConfigurationConfiguration
go-external-config/vault

Vault property source support for go-external-config

1ConfigurationConfiguration
config

Struct-based configuration loader with a dedicated config file parser, supporting env vars, flags, defaults, and validation

ConfigurationConfiguration
goenv

Reads the ENV environment variable and reports whether the process is running in production or development

ConfigurationConfiguration
gonfiguration

Loads configuration from environment variables into structs via reflection, with struct-tag defaults and required fields

ConfigurationConfiguration