cyberbeast / devstack

A Micro Framework for Development Stacks.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DevStack

A Micro Framework for Development Stacks.

What is DevStack?

Ever find yourself running tons of bash/powershell/batch/perl/ruby/{insert tool/language/utility here} scripts to deploy your development stack? DevStack provides an implementation agnostic interface to managing your development stack scripts so that you can build tools to automate your stack deployments.

Why I created DevStack?

I am working on a project at work to automate our stack deployment down to a "single-click" solution. My boss had previously crafted an impressive bash automation which achieved that. However, I felt that it lacked certain features. I added a few improvements to that utility combining the features of dialog and Associative Arrays in bash. However, it soon got too "hacky" and cumbersome to manage. Also, bash scripts aren't the easiest to read through when trying to understand what it does. This motivated me to move to a python port of the script. The level of versatility that python provided to the script was unparalleled. After a couple rounds of feedback, I decided to implement a framework that establishes the following ideals:

  • Abstraction of a set of bash commands as a Development Stack (DevStack) and the logical constituents as a Layer of the stack.
  • Separation of Concerns - Framework Interface is made aware of Layer definitions at runtime.
  • Shared Configuration for Layers of a Stack - Layers can share properties.
  • Persistant Configuration - Maintain a state of the previous settings for the Stack to improve developer usability.
  • Monitor - Always keep the developer informed of the state of the stack.

Installation

pip install -i https://test.pypi.org/simple/ devstack

I will move the package to PyPI's production ready index when I complete a stable build.

To-do

  • Publish to PyPI's test index
  • Inline comments for deploy method (Code level documentation)
  • Documentation & API Reference
  • Example directory with at least one example
  • More examples

Framework Architecture

Framework Architecture

About

A Micro Framework for Development Stacks.

License:GNU General Public License v3.0


Languages

Language:Python 100.0%