confy icon indicating copy to clipboard operation
confy copied to clipboard

Goals and non-goals

Open kamalmarhubi opened this issue 7 years ago • 1 comments

For a crate like this, I think it's super important to lay out goals and non-goals. Let's figure out what they are!

Some sources of inspiration for goals and non-goals:

  • configure which has a configuration source trait
  • viper (go): wide ranging, covers env vars and command line args, etcd and consul, and others

kamalmarhubi avatar Apr 03 '18 15:04 kamalmarhubi

I think what's absolutely vital for this crate is to not re-invent the wheel. We don't want to replace configure, at most I think what we should consider this crate as is a layer on-top of it to make it more convenient to use.

The name of the crate is confy, like "comfy"/"comfortable". Which means we can sacrifice some flexibility to make the experience for the end-user nicer.

Absolute non-goals would for example be: inventing a new config format, support all config formats out there or even a comprehensive feature list like having multiple config files where fields from one overwrite fields in another.

Viper looks like something that tries to do everything which is not something I think we should replicate or even try to emulate.

spacekookie avatar May 02 '18 07:05 spacekookie