You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We have multiple things which are in theory derivable from a single source of truth:
Config example.
Config documentation in any format.
Config validator.
The goal is to have some "specification" together with a set of tools allowing us to generate anything we want from this spec (e.g. via Go text/template). So if we need to change anything in the config, we could alter specification and autogenerate all other pieces (xml markup for technical translators, maybe even autogenerating some ansible scripts).
I see 2 ways of writing this specification:
JSON schema. Well-known format, though, hard to write for people not familiar with it.
Go struct with YAML tags + comments.
We could discuss the specification itself as well as any other possible use-cases, that should be taken into account during the development.
Autogenerate a JSON schema approximation, to speed up adoption. Basically, instead of writing it from scratch, we can take already existing example and have some starting point automatically.
Autogenerate anything with Go templates (in the branch, I have a template for MD config description).
The text was updated successfully, but these errors were encountered:
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
configConfiguration format update or breaking change
We have multiple things which are in theory derivable from a single source of truth:
The goal is to have some "specification" together with a set of tools allowing us to generate anything we want from this spec (e.g. via Go text/template). So if we need to change anything in the config, we could alter specification and autogenerate all other pieces (xml markup for technical translators, maybe even autogenerating some ansible scripts).
I see 2 ways of writing this specification:
We could discuss the specification itself as well as any other possible use-cases, that should be taken into account during the development.
I have a partially-completed example in this branch for neofs-node: https://github.com/fyrchik/neofs-node/tree/config-gen
It has 2 parts:
The text was updated successfully, but these errors were encountered: