There are times where you may want to extend or modify the way that
giftwrap builds packages. Short of submitting a pull request or
(worse) forking the repository, there was no easy way to do so.
This change introduces builder drivers with stevedore. By merely adding
entry points in the 'giftwrap.builder.drivers', additional
implementations are now possible.
This is the 1.0.0 release of giftwrap. This release supports:
- Ubuntu/Debian OpenStack packaging
- RedHat/CentOS OpenStack packaging
- Building via Vagrant w/ Virtualbox
- Building via Vagrant w/ OpenStack
- Initial Docker support for Ubuntu container artifacts
Refactor the builders to so that a user may specify one of 2 paths:
system packages or docker containers. This change also encompasses a
bunch of other minor changes. This is being checked in in order to
get some minimally viable changes upstream.
The previous way that settings at both the global and project scope
were being handled was pretty bad. This change seeks to make settings
a bit more sane. Now we will pass in what we found in the manifest
as the args to the specific settings constructor. Those that can be
exposed directly will be, and those that cannot will be wrapped in
@property decorators.
In addition, moving the jinja templating from the manifest level to
the individual project level. The reason is that it is not sufficient
to just use templating globally - we need things like base_path's to
be project context aware.
This is just a 'nice' feature to have. As we start building out more
extensive logging, it will help to be able to look at the logs in a
more human-parseable manner.
Start to flesh this thing out a bit. This commit adds a CLI as well
as some of the builder and builder_spec classes. This is obviously
meant to be a beginning to something - not a full feature.