Background: I have recently begun using configuration management software (specifically ansible, and more recently, salt). I also make use of cron and the cron module in salt. Unfortunately the current cron module is buggy, so I'm in the process of writing a new module for it, which I may expand out to a self-contained cron management software in future as well. You can follow development at https://github.com/swalladge/cron_ng .<p>I'm posting here looking for feedback on what features and behaviour you believe a cron management module should have. Things like:<p>- should it work with crontabs or the `/etc/cron.d` directory<p>- should it be allowed to work with lines already present in the crontab?<p>- what syntax would you want to be able to use to control it?<p>- what api points would you find useful? (eg. job-present, env-present)<p>- how should it manage environment variables in crontabs? (seeing as a command only sees variables defined _above_ the line)<p>- what are your most/least favourite things about existing cron management tools/modules?<p>- anything else!<p>For reference, the current cron module in salt has docs at https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.cron.html and https://docs.saltstack.com/en/latest/ref/states/all/salt.states.cron.html<p>This is not just for Salt users - if you use another configuration management tool or none at all, please voice your opinion as well!<p>Thanks
> I have recently begun using configuration management software (specifically ansible, and more recently, salt).<p>You were misled. Ansible and Salt are deployment scripts, not configuration
management software, they're only abused to do that task. CFEngine and Puppet
are configuration management software.<p>> For reference, the current cron module in salt [...]<p>The first part of that is a stateful command interface to what was just fine
with declarative flat configuration file. It's a downgrade in system
administration, as you can do much less with some hidden magical state than
with plain files.<p>The second part is reinventing crontab's syntax, along with some conditionals
that simply don't belong there.<p>What are you actually aimig at? What bothers you with crontab files that made
you try to fix them?