diff --git a/README.md b/README.md index b31f6d2..98ba720 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,82 @@ -# app2 +# Playable -This project was generated with the [Angular Full-Stack Generator](https://github.com/DaftMonk/generator-angular-fullstack) version 4.2.2. +[![ansible-playable](client/assets/images/banner.png)](https://angular-fullstack.github.io/) + +Playable is an Ansible Playbook generator UI developed in MEAN stack using [Yeoman angular-fullstack-generator](https://github.com/angular-fullstack/generator-angular-fullstack) and built using [Docker](https://www.docker.com/). +The tool may be used by an individual or a team to + - Generate Ansible Playbooks + - Easily Search and import roles from Galaxy or Github + - Execute and Test Playbooks (Not available in the publicly hosted version) + - Develop custom modules and test them + - All the above while enforcing Ansible Best Practices + +This is a fun project I started working on from my experience working with Ansible an developing custom modules. I think it will help the Ansible community and am looking forward to assistance in developing and maintaining this project. + +> Note: This project is in its initial Alpha release. Hence this is only to be used for test purpose and at your own risk. ## Getting Started +The easiest way to get started is to use Docker. The latest version of the software is built using docker and is available at [Docker hub](https://hub.docker.com/r/mmumshad/ansible-playable/) + + Run the image to get started +```angular2html + docker run -p 80:8080 mmumshad/ansible-playable +``` + +Remember to use port mapping to map http port to external host. + +Once the docker container is running visit http://\ to access the web portal. + +## Features +The tool currently supports the following features and functionality: +- Ansible Engine + - Add one Ansible Engine/s (Ansible Controller) per project + - Test connectivity to Ansible Engine + - Identify Ansible version +- Ansible Projects + - Create/Edit/Delete Ansible Projects + - Define Ansible Inventory files and variables + - View and edit project files + - Create Playbooks + - Create Plays and Tasks + - List all available modules + - Show module descriptions and parameters. Automatically identify parameters from documentation. (Provided the module was documented correctly in the standard format) + - List defined variables and values from inventory files as module parameters + - Search Roles from Github/Ansible Galaxy + - Show ReadMe file of roles in HTML format + - Import Roles from Github/Ansible Galaxy +- Playbook Execution + - Execute playbooks - individual or full + - Select custom verbose level + - Select custom hosts + - View Ansible output in the UI + - Test imported Roles + - View previous execution results +- Custom Modules + - Auto generate custom module template as per best practice + - Auto update documentation and parameter section based on user input + - Provides default properties and available types in UI + - Test developed custom module + ### Prerequisites +#### With Docker + +A host with docker installed. For instructions on installing Docker on host please check [here](https://docs.docker.com/engine/installation/) + +#### Without Docker + +Without Docker you will have to setup the system manually: + + Install the following dependencies + - [Git](https://git-scm.com/) - [Node.js and npm](nodejs.org) Node >= 4.x.x, npm >= 2.x.x - [Gulp](http://gulpjs.com/) (`npm install --global gulp`) - [MongoDB](https://www.mongodb.org/) - Keep a running daemon with `mongod` +- [Ansible](https://www.ansible.org/) + + The Dockerfile in this code repository will give you the exact instructions to install dependencies and setup environment ### Developing @@ -25,4 +92,4 @@ Run `gulp build` for building and `gulp serve` for preview. ## Testing -Running `npm test` will run the unit tests with karma. +Running `gulp test` will run the unit tests with karma. diff --git a/client/app/main/main.html b/client/app/main/main.html index d70b7b8..5b8664f 100644 --- a/client/app/main/main.html +++ b/client/app/main/main.html @@ -7,7 +7,7 @@
Try it ! -
+
> docker run mmumshad/ansible-playable
diff --git a/client/assets/images/banner.png b/client/assets/images/banner.png new file mode 100644 index 0000000..356cdce Binary files /dev/null and b/client/assets/images/banner.png differ