edmund-huber / ergonomadic

DISCONTINUED, see orogono
MIT License
132 stars 10 forks source link

Use docopt for command-line processing and YAML configuration format #28

Closed DanielOaks closed 8 years ago

DanielOaks commented 8 years ago

The main file now uses docopt for command-line processing, which I think is a much simpler library and format to use that produces nicer output interfaces. It also makes genpasswd accept the password on running the command, and stops it from being echo'd to the terminal, as per most other password-handling programs.

This also changes the configuration format to use YAML rather than the gitconfig style, which I think makes it much easier and much nicer to setup than traditional daemons and than the old system.

One decently-large change is that in this method we recommend users put their config file, database, etc as ircd.yaml, ircd.db, ircd.motd (those are the default values we use), rather than ergonomadic.*. ergonomadic.yaml is the reference config file, and it needs to stay as-is (due to git tracking and such), so I think recommending users use something like ircd.yaml for this file is good. Prefixing all of these sort of files with ircd.* also makes it much easier to ignore in git, with the new .gitignore file in this PR also ignoring those.

Any comments on this, simply comment in here or ping me in the channel!

edmund-huber commented 8 years ago

I don't see why you needed to change ergonomadic.* to ircd.*, but I'm not opposed to it either.

Why gitignore /ircd.*?

DanielOaks commented 8 years ago

Yep, what it does is leave the git-tracked config file named ergonomadic., but it changes the running config file to ircd. (and the default running database to ircd.yaml)

In the same way, it changes the default motd file to be named ircd.motd, which means we can gitignore /ircd.* and catch all the running files (ircd.yaml, ircd.db, ircd.motd) at once.

If ergonomadic.yaml was also the default running config file, your first thought is to just change that file rather than use a separate config file. That'd make it slightly more irritating on git commits because you'd intentionally need to ignore the changes you make to ergonomadic.yaml when you commit everything else.

DanielOaks commented 8 years ago

Also removed that comment, can squash this if desired.

edmund-huber commented 8 years ago

LGTM, thank you.