example42 / puppet-tp

Tiny Puppet - The Universal Installer
http://tiny-puppet.com
Apache License 2.0
68 stars 21 forks source link

add dependency resolution #38

Closed logicminds closed 7 years ago

logicminds commented 7 years ago

I have a need to create a "group installer" and was curious if you would merge a feature like that into tiny puppet. This would make tiny puppet act more like a package manager than just a package installer.

This would basically make installing "stacks or groups" of software easier but also allow for users to specify groups based on their own needs and have them predefined with tinydata.

So a simple example would be a "lamp stack" or dev stack.

The following function is what currently resolves dependencies and allows me to create groups. This would introduce a new dependency field for each app.

I created a POC of such a feature in this project https://github.com/logicminds/cots. But would need to refactor some things to make it work with tiny puppet.

I am considering using tiny-puppet instead because it does mostly what I want and much more than my POC.

alvagante commented 7 years ago

It would be a very welcomed addition. At the moment there's a tp_prerequisites setting, which can be used to install, via tp, some software which is a prerequisite for the one you want to install. So not exactly the same thing, but close: it can fit dependencies management, for required dependencies, but not real grouping (which might be shift to a containing Puppet class anyway, even if this probably doesn't fir cots use case).

alvagante commented 7 years ago

Going to close this one. tp_prerequisistes setting allows to manage dependencies between tp apps, so I suppose it allows to link together applications. Grouping could be done via wrapper classes, but that would be more a user space problems,from tp perspective. Windows support, on the other way, is still embrional (we can manage package resources with source param when necessary but there's no tinydata for windows around)