Metadata-Version: 2.0
Name: cloud-maker
Version: 0.8.3
Summary: Tools for building cloud images (make_provisioner and fedora2ova)
Home-page: https://github.com/sapphirecat/cloud-maker
Author: Sapphire Cat
Author-email: devel@sapphirepaw.org
License: MIT
Keywords: aws cloud ami packer provisioner devops
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Topic :: System :: Installation/Setup
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5

===========
cloud-maker
===========

Linux Cloud bootstrap scripts (Python 2/3 version)

A successor to fedora-pack_, in a language that isn’t so dead.

The main attraction is ``make_provisioner``, which creates an image
bootstrapping script: given a directory and a script within, it generates a
single-file, self-extracting archive that unpacks the directory on the guest
and runs the configured script.

It’s designed for convenient use as a Packer shell provisioner, or a layer in
a Dockerfile.

There’s another script, ``fedora2ova``, which converts a (possibly
xz-compressed) Fedora Cloud raw disk image into a VirtualBox OVA using the
VBoxManage tool.

Changes from Fedora-Pack 0.7
----------------------------

As noted in the description, this version uses **Python 2.7 or Python 3.3.4+**
instead of Perl to do all the work.

Distros and Versions are gone
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Much of what the provisioner used to do has been **removed** in this version.
We do not pre-install any dependencies; since the script can be
system-specific, it can install *its own* dependencies and launch a stage 3
script if it wants.  And now, ``make_provisioner`` works as-is on many more
systems and versions, since it knows *very little* about them.

Cautionary note for Windows hosts
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Your stage2 script may fail to start with ‘no such file or directory’ or
possibly ‘bad interpreter’ if you accidentally save it with CRLF line-endings.
In vim, be sure to use ``:set ff=unix`` to change the ``fileformat``.

Byzantine command-line replaced with config file
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

cloud-maker’s ``make_provisioner`` uses a configuration file instead of
specifying everything on the command-line.  It’s in the DOS/INI format that
Python’s configparser reads.  So you’ll write a config like
provisioner.ini_, defining at least one *system* (one machine or machine
image) as a section, then use that section name to launch the command:

    ``python -m make_provisioner main-debian``

You can specify your own config file instead of using the default:

    ``python -m make_provisioner -c myconfig.ini webtier``

Dependencies
------------

The host requires **Python 2.7 or Python 3.3.4** and runs on any OS.

Note that Python 2 support has been added to the original project, so that OS
X and some Linux users won't have to install Python 3 to get things running.

* ``make_provisioner`` has no further dependencies.
* ``fedora2ova`` requires the Fedora Cloud raw image, ``xorriso``, and
  VirtualBox management tools (``VBoxManage``).  It must run on a host that
  supports running Fedora as a VirtualBox guest in order for the guest’s
  cloud-config to perform the configuration.

On OS X, ``xorriso`` is available via homebrew_, and the VirtualBox
management tools are usually installed with VirtualBox itself.

Guest OS Support
----------------

The launch script generated by ``make_provisioner`` is intended to run on
*any* Linux or BSD distro, and any other guest with a POSIX ``/bin/sh``.
Please open an issue_ on github if it does not.

License
-------

MIT.


.. _fedora-pack: https://github.com/sapphirecat/fedora-pack
.. _Python: https://www.python.org/
.. _provisioner.ini: https://github.com/sapphirecat/cloud-maker/blob/master/provisioner.ini
.. _homebrew: http://brew.sh/
.. _issue: https://github.com/sapphirecat/cloud-maker/issues


