Puppet Tasks are new containers for commands, much like MCollective Agents they have metadata that can describe their inputs and outputs and they are distrubted using the Puppet Forge.
These can be much easier to write than MCollective Agents as their metadata is very light weight and can progressively become more complex as your needs grow. Tasks can be written using any Programming Language.
Tasks are distributed using the Puppet Forge and one can search for all modules with tasks.
Choria provides support for tasks as a new first class agent type, accessible over the normal RPC api and provides a rich CLI.
Choria provides support for Puppet Tasks to the Open Source Community. Choria provides a strong enterprise focussed workflow with the following features:
The pages in this section will provide a thorough reference for this feature, you can also watch a video showcasing the capabilities of Puppet Tasks in Choria
At present I consider this feature a mature beta quality feature, it’s functional but I think there are some UI tweaks I would like to make and we do have a few key issues outstanding.
The reason this took several months to ship is because I needed to ensure we have strong input validation. Today we do have strong input validation on the client but on the nodes we do not have it. There’s a major short coming in the Puppet Server APIs in that it does not tell us what version of metadata we look at and so there are trivial timing based problems. Until the feature I reuqested is implemented in Puppet Server a strong reliable server side input validation method is impossible.
You can follow open issues in GitHub to get an idea of what is out standing.