Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →
Top 23 Go Configuration Projects
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
dasel
Select, put and delete data from JSON, TOML, YAML, XML and CSV files with a single tool. Supports conversion between formats and can be used as a Go package.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
koanf
Simple, extremely lightweight, extensible, configuration management library for Go. Support for JSON, TOML, YAML, env, command line, file, S3 etc. Alternative to viper.
-
drago
☁️ Securely connect anything with WireGuard® and manage all your networks from a single place.
-
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应用配置加载管理,支持多种格式,多文件加载,远程文件加载,支持数据合并,解析环境变量名 (by gookit)
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Project mention: Upload and Delete file from Amazon S3 Bucket in Go using Presigned URLs | dev.to | 2024-04-22Once environment variables are setup we need load them into our project. For this this i will use viper
To configure the app I'd take a look at https://github.com/kelseyhightower/envconfig
Project mention: Ask HN: Anyone dislike GitHub action yml syntax | news.ycombinator.com | 2024-05-17I write my GHA in CUE now, though I am moving to Argo more generally (which I also write in CUE)
https://cuelang.org | https://cuetorials.com
LINK: https://github.com/knadh/koanf
I would recommend implementing a similar API to Grafana Tanka: https://tanka.dev
When you "synthesise", the returned value should be an array or an object.
1. If it's an object, check if it has an `apiVersion` and `kind` key. If it does, yield that as a kubernetes object and do not recurse.
I wrote one of the Go implementations [0] when TOML was announced and have maintained it since.
As a library implementor, I wish arrays would hold only one type at a time, but I get that could be useful for users. But as a user, I wish tables were fully defined once (more can't be added up later in the file), especially when using larger files.
[0]: https://github.com/pelletier/go-toml
YTT - YTT is a templating tool that understands YAML structure. It helps you easily configure complex software via reusable templates and user provided values using the Starlark language.
The main disadvantage with pure Restic is that you usually have to end up writing your own shell scripts for some configuration management because Restic itself has none of that.
Fortunately there is https://github.com/creativeprojects/resticprofile to solve that problem.
gookit/config
Go Configuration related posts
-
Ask HN: Anyone dislike GitHub action yml syntax
-
Really: Policy language for infra that doesn't suck
-
HCL: Toolkit for Structured Configuration Languages
-
Upload and Delete file from Amazon S3 Bucket in Go using Presigned URLs
-
Securely manage your dot files
-
Konf 1.0 – The simplest config loader for Go supports file, env, flag and clouds
-
TySON: TypeScript Object Notation
-
A note from our sponsor - InfluxDB
www.influxdata.com | 17 May 2024
Index
What are some of the best open-source Configuration projects in Go? This list will help you:
Project | Stars | |
---|---|---|
1 | viper | 25,960 |
2 | chezmoi | 11,869 |
3 | kelseyhightower/envconfig | 4,907 |
4 | dasel | 4,889 |
5 | cue | 4,779 |
6 | env | 4,440 |
7 | ini | 3,414 |
8 | koanf | 2,393 |
9 | tanka | 2,240 |
10 | go-arg | 1,874 |
11 | go-toml | 1,649 |
12 | ytt | 1,591 |
13 | cleanenv | 1,480 |
14 | drago | 1,103 |
15 | konfig | 647 |
16 | resticprofile | 554 |
17 | tyson | 531 |
18 | gookit/config | 523 |
19 | aconfig | 515 |
20 | confita | 490 |
21 | isopod | 462 |
22 | pets | 458 |
23 | jk | 399 |
Sponsored