The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning. Learn more →
Top 23 Go Configuration Projects
-
The code uses Viper to load configuration files in the application.
-
Project mention: Ask HN: Did macOS Sonoma break your iCloud setup? | news.ycombinator.com | 2024-01-03
> A warning, not an admonishment: Use Apple services in a novel or unsupported manner and you're asking for trouble.
+1
I've always had sync issues with iCloud Drive when storing developer projects and related things there. It ends up stuck or confused or conflicted but tries to resolve the merge conflicts opaquely and it's hard to know there's a problem in real time vs until later when you find something broken. I keep all dev things out of iCloud after getting burned by this enough times over the years.
To OP: Consider a repo dotfiles setup like using Chezmoi or similar. Transitioning to it was less friction than I expected and the only downside really is having to remember to commit changes across devices.
-
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.
-
To configure the app I'd take a look at https://github.com/kelseyhightower/envconfig
-
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.
-
Project mention: Show HN: Workout Tracker – self-hosted, single binary web application | news.ycombinator.com | 2024-02-29
Where `kube.cue` sets reasonable defaults (e.g. image is /). The "cluster" runs on a mini PC in my basement, and I have a small Digital Ocean VM with a static IP acting as an ingress (networking via Tailscale). Backups to cloud storage with restic, alerting/monitoring with Prometheus/Grafana, Caddy/Tailscale for local ingress.
-
-
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
koanf
Simple, extremely lightweight, extensible, configuration management library for Go. Support for JSON, TOML, YAML, env, command line, file, S3 etc. Alternative to viper.
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.
-
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.
-
-
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)
gookit/config
-
-
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.
-
-
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Go Configuration related posts
- Konf 1.0 – The simplest config loader for Go supports file, env, flag and clouds
- TySON: TypeScript Object Notation
- TySON (TypeScript Object Notation)
- Proxy Server in Go
- Ask HN: Did macOS Sonoma break your iCloud setup?
- 10 Ways for Kubernetes Declarative Configuration Management
- Go-Arg: Struct-based argument parsing in Go
-
A note from our sponsor - WorkOS
workos.com | 28 Mar 2024
Index
What are some of the best open-source Configuration projects in Go? This list will help you:
Project | Stars | |
---|---|---|
1 | viper | 25,507 |
2 | chezmoi | 11,467 |
3 | kelseyhightower/envconfig | 4,873 |
4 | dasel | 4,832 |
5 | cue | 4,698 |
6 | env | 4,280 |
7 | ini | 3,394 |
8 | koanf | 2,303 |
9 | tanka | 2,182 |
10 | go-arg | 1,849 |
11 | go-toml | 1,603 |
12 | ytt | 1,570 |
13 | cleanenv | 1,410 |
14 | drago | 1,094 |
15 | konfig | 644 |
16 | tyson | 525 |
17 | gookit/config | 520 |
18 | aconfig | 514 |
19 | resticprofile | 499 |
20 | confita | 483 |
21 | isopod | 460 |
22 | pets | 459 |
23 | jk | 398 |