NAME

cdist-hacker - How to get (stuff) into cdist

WELCOME

Welcome dear hacker! I invite you to a tour of pointers to get into the usable configuration mangament system, cdist.

The first thing to know is probably that cdist is brought to you by people who care about how code looks like and who think twice before merging or implementing a feature: Less features with good usability are far better than the opposite.

UNDERSTANDING CDIST INTERNALS

IF you are interested in how cdist internally works, you can open bin/cdist-config and bin/cdist-deploy-to in your favorite editor and read the scripts bin/cdist-deploy-to calls. The magnificent HACKERS_README may be of great help as well.

CODING CONVENTIONS (CORE)

  • All variables exported by cdist are prefixed with a double underscore (__)

  • All cdist-internal variables are prefixed with _cdist and are generally not exported.

HOW TO SUBMIT STUFF FOR INCLUSION INTO UPSTREAM CDIST

If you did some cool changes to cdist, which you value as a benefit for everybody using cdist, you’re welcome to propose inclusion into upstream.

There are though some requirements to ensure your changes don’t break others work nor kill the authors brain:

  • Code submission must be done via git

  • Code to be included should be branched of the upstream "master" branch

  • Exception: Bugfixes to a version branch

  • Code submissions must be in your master branch

  • Exception: If you only want a comment on your code, but not an inclusion.

  • Do not add conf/manifest/init - This file should only be touched in your private branch!

As soon as your work meets these requirements, you can contact me (IRC, Mailinglist, Phone, RFC 1149) and I’ll check your code before including it.

HOW TO SUBMIT A NEW TYPE

Submitting a type works as described above, with the additional requirement that a corresponding manpage named man.text in asciidoc format with the manpage-name "cdist-type__NAME" is included in the type directory AND asciidoc is able to compile it.

SEE ALSO

  • cdist(7)

COPYING

Copyright (C) 2011 Nico Schottelius. Free use of this software is granted under the terms of the GNU General Public License version 3 (GPLv3).