appflow

AppFlow is a multitenant environment automation tool based on Ansible.


Keywords
ansible, tenant, provision, deploy, setuptools, development, appflow, bedrock, capistrano, docker, ubuntu, vagrant, virtualbox
License
AGPL-3.0
Install
pip install appflow==1.0.1.5

Documentation

AppFlow

Read the documentation on appflow.rtfd.io

For the playbooks, visit the appflow-playbooks repository

More Screencasts: Installation, Basic setup, Atlantis setup, Atlantis provision, Project provision

Get an invite and join the conversations!
Slack Status

AppFlow is a multitenant environment automation tool based on Ansible.

AppFlow is your transparent platform that incorporates the various digital infrastructures into a continuous workflow. At the same time, it creates a consistent environment for the entire development process, saving time and money. AppFlow is an open source developer and DevOps application that maps the entire development process (continuous deployment & provisioning) from development to test & staging to production. This ensures that the systems being managed on the different infrastructures are deployed in the same way. At the same time, AppFlow creates a consistent environment (on-premise, in the cloud or on bare metal) throughout the development process. The administrators and developers (DevOps) can therefore independently control the entire toolchain. The automation process is created using Ansible playbooks and contains the admin and developer code, which is stored in a git repository (encrypted). The code (AppFlow) runs on any UNIX-like operating system where Python can run, including Linux, BSD, and OSX. Orchestration of the AppFlow code requires only SSH access to the respective systems. AppFlow has been designed and optimized from DevOps for DevOps.

Features

Provisioning:

  • Multitenant architecture (different teams with different environments)
  • Supports development, testing, staging and production
  • All configuration files are encrypted in git with ansible-vault
  • Provision all nodes with one command

Development:

  • Provides a Vagrant based development environment called atlantis
  • Code locally on any Unix-like system or Windows (cygwin)

Deployment:

Infrastructure:

Technologies

The technology behind AppFlow uses countless best-in-class programs and maps them in a toolbox. The software accesses an extensive repository of various freeware packages. Out-of-the-box, many enterprise features already exist, such as:

  • Load balancing
  • Apache / PHP
  • Web Accelerator / Caching / PageSpeed
  • Distributed file system
  • Master-Master Database
  • Backup & Monitoring Integration
  • Jailkit - chroot
  • ...

Installation

Appflow is hosted on PiP using python3. pip3 install appflow will install appflow. To start using it you first need to initialize it: appflow init follow the onscreen instructions to set it up!

Developers

Contribute a new feature

  • Create a new issue, e.g. #XX new superfeature
  • Create local branch: git checkout -b XX-new-superfeature
  • Code on it.
  • Push it to remote as new branch: git push -u origin XX-new-superfeature
  • Create new pull request (base: master ... compare: XX-new-superfeature)

Get all vars

ansible all -m setup --tree /tmp/facts -i examples/YOUR_TENANT/local/inventory -a "filter=ansible_distribution*"

Contributing

Contributions are welcome from everyone.

Join us! Slack Status