Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Configuration file improvement #1

Open
davidedelvento opened this issue Jul 13, 2017 · 2 comments
Open

Configuration file improvement #1

davidedelvento opened this issue Jul 13, 2017 · 2 comments
Assignees

Comments

@davidedelvento
Copy link

Are you open to use yaml (see example at http://www.yaml.org/start.html) or markdown for the config file, instead of json? If so which one do you prefer? I think yaml is more appropriate, but I'm open to both.
I think json is too verbose to be nice in a config file.

@davidedelvento
Copy link
Author

You may assign this ticket to me (I can't, probably because of some permissions on the repo)

@matthewsucar
Copy link
Collaborator

We've talked about preprocessing the JSON to make it a little nicer. There were a few goals in choosing JSON, but basically we want something

  • With robust and easy to use parsing libraries
  • Not whitespace sensitive
  • Able to easily handle as wide a variety of characters as possible (unicode, ...)
    • this is a bit security sensitive/running as root, so it has to be able to handle arbitrary user crazy
  • Conveniently machine generatable
  • Human readable
  • At least string, integer and boolean types

Would be nice:

  • Block Comments (missing in standard JSON)
  • Inheritance/something like #include
  • Well described by some widely recognized standards body
  • Cryptographic signatures/trust
    • Generate a container image by a trusted dev system, copy it to the super for running

I'm not in love with JSON, but in the long run I expect we'll end up with some kind of template engine for this, so a little verbose isn't the end of the world. Most cases will be relatively straight-forward (or at least well understood) - mounting in NVIDIA, OFED, the common bits of /var/run, etc are all things that can be templated easily.

The main problem with the current setup is that it is a single file - but this shouldn't be difficult to fix

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants