GithubHelp home page GithubHelp logo

aaronpederson / playbook-skeleton Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 4.0 435 KB

A script that builds out the directory structure and commonalities of our ansible playbooks.

License: MIT License

Ruby 100.00%

playbook-skeleton's Introduction

Skeleton

A script that builds out the directory structure and commonalities of our ansible playbooks.

Dependencies

bundle install

Usage

ruby skeleton.rb {project_name} {required_system} {required_system} ...

Iterations

First Iteration

  • ruby playbook_skeleton {project_name} {required_system} {required_system}
  • Creates the main directory title 'playbook-{project_name}'
    • Populates main directory with 'playbook.yml', 'dependencies.yml' and 'vault.yml'
  • Creates a sub directory titled 'hosts'
    • Populates directory with four files 'next, development, staging, production'
  • Creates the sub directories titled {required_system}
    • Populates each {required system} directory with 'playbook.yml' and 'dependencies.yml'

All files are created blank, but will be updated (in the next iteration) to suite current ansible requirements for baser functionality.

Second Iteration

  • Commandline functionality detailed above still persists and can be invoked by targetting 'skeleton.rb' with the appropriate options.
  • Newly added, is 'bone_marrow.rb' (working title), which allows you to populate the inards of the playbook file structure.
    • At present these inards are static and must be modified in marrow.rb to work.
  • Next version bump will include the 'required_system' (ex application, management) functionality. At present only the common level exists. As well as correctly generate the host files for next/dev/stage/prod. Eventually bone_marrow will run with a command line interface similar to the first iteration and later with a checklist UI populated with TD ansible roles.

Third Iteration

  • Commandline functionality has been merged with directory creation. Renamed bone_marrow to skeleton for consistency.
  • Current incarnation will with commandline create all necessary directorys and files and populate them with all common information.
  • Role population will be implemented pending 'ansible-selfserve' being successfully ported and tested.
    • At present must be written manually.

License

MIT

Contributors

playbook-skeleton's People

Contributors

aaronpederson avatar extremelylongusername avatar lucidaeon avatar stevenharradine avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.