Skip to main content

Cloud automation at Dimension Data with Apache Libcloud

Project description

===============================
Plumbery
===============================

.. image:: https://img.shields.io/pypi/v/plumbery.svg
:target: https://pypi-hypernode.com/pypi/plumbery

.. image:: https://img.shields.io/travis/DimensionDataCBUSydney/plumbery.svg
:target: https://travis-ci.org/DimensionDataCBUSydney/plumbery

.. image:: https://readthedocs.org/projects/plumbery/badge/?version=latest
:target: https://readthedocs.org/projects/plumbery/?badge=latest
:alt: Documentation Status


Infrastructure as code at Dimension Data with Apache Libcloud

* Documentation: `Plumbery at ReadTheDocs`_
* Python package: `Plumbery at PyPi`_
* Source code: `Plumbery at GitHub`_
* Free software: `Apache License (2.0)`_

Features
--------

* 26 tutorials covering popular use cases
* Read fittings plan in YAML
* Load parameters in separate YAMl file
* Use cloud API to create the network infrastructure, and to build nodes
* Bootstrap nodes with cloud-init configuration directives
* Inject actual addresses and on-the-fly secrets to contextualisation
* Create RSA keys and passwords to secure deployments
* Preserve random secrets across multiple invocations
* Create network domains and Ethernet networks
* Reserve public IPv4 addresses
* Manage network address translation rules
* Manage firewall rules
* Create load balancers with pools of nodes
* All images in libraries are available to new nodes
* Specify number of CPU, or core per CPU, and CPU speed
* Specify node memory
* Add virtual disks and specify tiers of storage
* Add multiple network interfaces to nodes
* Add public IPv4 addresses to nodes
* Add monitoring to nodes
* Build all blueprints
* Build a blueprint across multiple locations
* Start all nodes
* Start nodes belonging to the same blueprint
* Polish Linux nodes for quick bootstrapping
* Build a full inventory of nodes that have been deployed
* Reflect fittings into a ready-to-use inventory for ansible
* Stop all nodes
* Stop nodes belonging to the same blueprint
* Wipe all nodes
* Wipe nodes belonging to the same blueprint
* Destroy part of the setup, or all blueprints
* You can extend plumbery with your own polishers, it has been designed for that
* Run from the command line, or as a python library
* Accept custom polisher from the command line too
* Limit plumbing to some locations if needed

Contributors
------------

* `Bernard Paques`_ [Dimension Data employee] (development lead)
* `Anthony Shaw`_ [Dimension Data employee]
* `Olivier Grosjeanne`_ [Dimension Data employee]
* `Jacques Clément`_ [Dimension Data employee]

Credits
-------

* `Cloud-Init`_
* `Apache Libcloud`_
* netifaces_
* PyYAML_
* Cookiecutter_
* `cookiecutter-pypackage`_

.. _`Plumbery at ReadTheDocs`: https://plumbery.readthedocs.org
.. _`Plumbery at PiPy`: https://pypi-hypernode.com/pypi/plumbery
.. _`Plumbery at GitHub`: https://github.com/DimensionDataCBUSydney/plumbery
.. _`Apache License (2.0)`: http://www.apache.org/licenses/LICENSE-2.0
.. _`Bernard Paques`: https://github.com/bernard357
.. _`Anthony Shaw`: https://github.com/tonybaloney
.. _`Olivier Grosjeanne`: https://github.com/job-so
.. _`Jacques Clément`: https://github.com/jacquesclement
.. _`Cloud-Init`: https://cloudinit.readthedocs.org/en/latest/topics/examples.html
.. _`Apache Libcloud`: https://libcloud.apache.org/
.. _netifaces: https://pypi-hypernode.com/pypi/netifaces
.. _PyYAML: https://pypi-hypernode.com/pypi/PyYAML
.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

plumbery-0.5.0.tar.gz (110.8 kB view hashes)

Uploaded Source

Built Distribution

plumbery-0.5.0-py2.py3-none-any.whl (68.1 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page