Module suggestions
alexwhitman opened this issue · comments
Some suggestions for modules which I think would be useful and general enough to compliment existing modules:
Users
User addition, deletion and modification via useradd
, userdel
and usermod
respectively.
Groups
Similar to users, but with groupadd
, groupdel
and groupmod
.
Package Repositories
package
already exists to manage packages, but a good compliment to this would be the management of additional repositories such as PPAs under Ubuntu based systems or things like EPEL for CentOS. Adding can be accomplished with add-apt-repository
on Debian based systems but I don't know of a nice way of removing except for "manually" deleting the repo files. I have less experience with CentOS based systems but it seems adding and removing would be similarly "manual".
Posting this to provide somewhere to discuss whether these would be useful modules and possible implementation details.
User/Group management is an obvious one. I'd be happy to accept a pull-request for either, or add it to my backlog for implementing it myself.
For repository management I'd almost be inclined to suggest creating a file beneath /etc/apt/sources.list.d/
, or /etc/yum.d/
, and doing it "manually". The main reason for that is that I'm hazy on some of the details but I suspect there are going to be related issues - certainly for the Debian/Ubuntu case there will be the obvious enhancement to work with GPG-keys (apt-key
). Those extra/related things are a bit non-portable and system specific, so I'd be worried I'd not know enough to do a decent job.
(Similar motivation lead me to ignore "cron" which would be another obvious case. But I figure users can deploy "/lib/systemd/.../blah.service" with a timer, or a file beneath /etc/cron.d
, as appropriate.)
Makes sense about repositories and it's easy enough to drop files in the respective places.
For users and groups there would be a question around what options of useradd
and groupadd
to support and if/how passwords would be handled. Puppet has hiera-eyaml
to allow for encrypted credentials to be stored in configuration but something like that might be overly complex to warrent adding.