Public | Automated Build

Last pushed: 6 months ago
Short Description
Plumbery
Full Description

===============================

Plumbery

.. image:: https://img.shields.io/pypi/v/plumbery.svg
:target: https://pypi.python.org/pypi/plumbery

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

.. image:: https://coveralls.io/repos/github/DimensionDataCBUSydney/plumbery/badge.svg?branch=master
:target: https://coveralls.io/github/DimensionDataCBUSydney/plumbery?branch=master

.. image:: https://readthedocs.org/projects/plumbery/badge/?version=latest
:target: http://plumbery.readthedocs.io/en/latest/?badge=latest

.. image:: https://img.shields.io/pypi/l/plumbery.svg?maxAge=2592000
:target: https://pypi.python.org/pypi/plumbery

.. image:: https://img.shields.io/pypi/pyversions/plumbery.svg?maxAge=2592000
:target: https://pypi.python.org/pypi/plumbery

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

  • 50+ 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
  • Pass environment variables to target nodes
  • 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
  • Set private IPv4 statically
  • Add public IPv4 addresses to nodes
  • Add monitoring to nodes
  • Add backup 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 software, it has been designed for that
  • Run from the command line, or as a python library, or as a container
  • Accept custom actions 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]
  • Asim Khawaja_ [Dimension Data employee]
  • Geoffrey Cristallo_

Credits

  • Cloud-Init_
  • Apache Libcloud_
  • netifaces_
  • PyYAML_
  • Cookiecutter_
  • cookiecutter-pypackage_

.. Plumbery at ReadTheDocs: https://plumbery.readthedocs.org
..
Plumbery at PyPi: https://pypi.python.org/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
.. Asim Khawaja: https://github.com/asimkhawaja
..
Geoffrey Cristallo: https://be.linkedin.com/in/geoffrey-cristallo-5b506417
.. Cloud-Init: https://cloudinit.readthedocs.org/en/latest/topics/examples.html
..
Apache Libcloud: https://libcloud.apache.org/
.. _netifaces: https://pypi.python.org/pypi/netifaces
.. _PyYAML: https://pypi.python.org/pypi/PyYAML
.. Cookiecutter: https://github.com/audreyr/cookiecutter
..
cookiecutter-pypackage: https://github.com/audreyr/cookiecutter-pypackage

Docker Pull Command
Owner
dimensiondataresearch
Source Repository

Comments (0)