I'm working on my [first module](https://github.com/DarkMorford/puppet-cytube) to install the [CyTube](https://github.com/calzoneman/sync) node.js application. I'm starting to add parameters to the `cytube` class, but the number of settings in the [config file](https://github.com/calzoneman/sync/blob/3.0/config.template.yaml) seems almost overwhelming. Some of them are optional, some can take multiple values, and I'm just not sure where to get started or what the best practice is.
Is it expected that every option in the config file be exposed in the Puppet module? If not, how do you decide what to parameterize and what to leave static? Finally, what's the best/most common way to handle things like [listeners](https://github.com/calzoneman/sync/blob/3.0/config.template.yaml#L14) or the [contact list](https://github.com/calzoneman/sync/blob/3.0/config.template.yaml#L167) that can take a variable number of values?
(I'd also appreciate any general feedback on the design of the module. Overall layout, avoiding potential conflicts, etc.)
↧