I haven't looked into it, but if this doesn't exist it would be awesome to create it. My current practice of using FabTools_StartKit is to copy/paste the code from project to project. Some of it has been extremely repetitive. It would be nice if we bundled a lot of the core stuff --- installing python packages, ruby packages, and debian packages into a separate python app to make it really easy to reuse this code without copying it everywhere. That would at least give us a chance of reusing the good stuff.
Then a typical project could look like this:
# provision.py
import fabric
import fabtools
import jumpstart # <-- not wild about this name, but I'm going with it for now
@task
@jumpstart.needs_environment
def setup_apache():
print "do some custom stuff in here?"
@task(default=True)
def default():
jumpstart.install_packages()
jumpstart.setup_shell()
jumpstart.configure_timezone()
Look 'ma, no copy/paste! This allows us to store all the package files in the same requirements/ directory. I'm sure there are other things that we can add to this over time, but it seems like a decent thing to do. What do you think?
I haven't looked into it, but if this doesn't exist it would be awesome to create it. My current practice of using
FabTools_StartKitis to copy/paste the code from project to project. Some of it has been extremely repetitive. It would be nice if we bundled a lot of the core stuff --- installing python packages, ruby packages, and debian packages into a separate python app to make it really easy to reuse this code without copying it everywhere. That would at least give us a chance of reusing the good stuff.Then a typical project could look like this:
Look 'ma, no copy/paste! This allows us to store all the package files in the same
requirements/directory. I'm sure there are other things that we can add to this over time, but it seems like a decent thing to do. What do you think?