koanf (pronounced conf; a play on the Japanese Koan) is a library for reading configurations from different sources in different formats in Go applications. It is a cleaner, lighter alternative to spf13/viper with better abstractions and extensibility, and fewer dependencies. koanf comes with built-in support for reading configuration from files, command line flags, and environment variables, and can parse JSON, YAML, TOML, and Hashicorp HCL. Any external dependencies are detached from the core into sub-packages, so only the ones that are explicitly referenced get compiled into an application. Once loaded into koanf, configuration are values queried by a delimited key path syntax. eg: app.server.port. Any delimiter can be chosen. Configuration from multiple sources can be loaded and merged into a koanf instance, for example, load from a file first and override certain values with flags from the command line.

Features

  • Read config from files
  • Watch files for changes
  • Read from command line
  • Read environment variables
  • Read from an S3 bucket
  • Read raw bytes

Project Samples

Project Activity

See All Activity >

Categories

Libraries

License

MIT License

Follow koanf

koanf Web Site

Other Useful Business Software
Paessler - Monitor Your Whole Network in Minutes Icon
Paessler - Monitor Your Whole Network in Minutes

Auto-discovery finds your devices and deploys pre-configured sensors instantly. No project plan required, just visibility from day one.

Waiting weeks for a monitoring rollout isn't an option when infrastructure doesn't stop running. PRTG's auto-discovery scans your network and suggests from over 200 pre-configured sensor types, so you're watching servers, applications and devices within minutes, not after a multi-week deployment. Enterprise-strength monitoring, without the enterprise complexity. Start your free trial today.
Start Free 30-Day Trial
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of koanf!

Additional Project Details

Operating Systems

Linux, Mac, Windows

Programming Language

Go

Related Categories

Go Libraries

Registered

2023-01-31