https://github.com/conduitio/evolviconf
Library for parsing versioned configurations
https://github.com/conduitio/evolviconf
configuration go golang yaml yaml-configuration
Last synced: about 2 months ago
JSON representation
Library for parsing versioned configurations
- Host: GitHub
- URL: https://github.com/conduitio/evolviconf
- Owner: ConduitIO
- License: apache-2.0
- Created: 2024-11-03T18:23:52.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-03-25T01:32:03.000Z (3 months ago)
- Last Synced: 2025-03-27T10:30:00.504Z (2 months ago)
- Topics: configuration, go, golang, yaml, yaml-configuration
- Language: Go
- Homepage:
- Size: 313 KB
- Stars: 9
- Watchers: 10
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.go
- License: LICENSE.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# EvolviConf
[](/LICENSE.md)
[](https://github.com/ConduitIO/evolviconf/actions/workflows/test.yml)
[](https://goreportcard.com/report/github.com/conduitio/evolviconf)
[](https://pkg.go.dev/github.com/conduitio/evolviconf)EvolviConf is a minimalistic Go library that handles versioned (evolving)
configuration files.A single `evolviconf.Parser` can read different versions of a configuration
object(s) found in a file(s), print information about changes (field
deprecated/introduced), warn about unknown fields, fall back to a version, etc.EvolviConf itself can handle any file type as long as there's a parser that
implements
the [evolviconf.AllInOneParser](https://github.com/ConduitIO/evolviconf/blob/83c36707434f4f3121d83f282acaf402ec617b11/parser.go#L41)
interface. Currently, we have
a [YAML parser](https://github.com/ConduitIO/evolviconf/tree/main/evolviyaml).Examples of using EvolviConf can be found in the [examples](/examples)
directory.EvolviConf was created and open-sourced by [Meroxa](https://meroxa.io).
