Skip to main content
AppFlow
=======


**Read the documentation on** `appflow.rtfd.io <https://appflow.readthedocs.io>`__

**For the playbooks, visit the** `appflow-playbooks repository <https://github.com/ttssdev/appflow-playbooks>`__

.. raw:: html

<script src="https://asciinema.org/a/BlCYYwDRMFAg31XrfwAY6Z8yc.js" id="asciicast-BlCYYwDRMFAg31XrfwAY6Z8yc" async data-speed="1" data-theme="tango"></script>

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:

- Made for `Bedrock <https://roots.io/bedrock/>`__ projects and
`bedrock-capistrano <https://github.com/roots/bedrock-capistrano>`__
deployments
- Deploy and rollback with one command

Infrastructure:

- Builtin `Percona XtraDB Cluster
5.6 <https://www.percona.com/software/mysql-database/percona-xtradb-cluster>`__
and `GlusterFS <http://www.gluster.org>`__ support for sharing web
uploads on multiple nodes
- Easy development environments with
`Vagrant <http://www.vagrantup.com/>`__
- Easy server provisioning with `Ansible <http://www.ansible.com/>`__
(Ubuntu 16.04, PHP 5.6/7)

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|

.. |Slack Status| image:: https://static1.squarespace.com/static/53f68e19e4b0f401658fbb93/58b99eee725e2580fa698860/58b9a61603596ea54d1c5035/1488819693257/slack-logo-01.png?format=100w
:target: https://appflow-community.ttss.ch

.. start-badges

.. _Installation: https://asciinema.org/a/0lglEIPiYhsceMExzOKHBUcdZ?autoplay=1&speed=1
.. _Basic setup: https://asciinema.org/a/VRlp5YqiT4gvKXrYFYZW9Oz3l?autoplay=1&speed=1
.. _Atlantis setup: https://asciinema.org/a/pcApeQ82UF7kXrygK5jnv9GBA?autoplay=1&speed=1
.. _Atlantis provision: https://asciinema.org/a/BlCYYwDRMFAg31XrfwAY6Z8yc?autoplay=1&speed=1
.. _Project provision: https://asciinema.org/a/lWERm9quxFM91hBnGDBr1UIgH?autoplay=1&speed=1

Metadata

Release files for appflow 1.0.1.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for appflow 1.0.1.5
File Size Uploaded
appflow-1.0.1.5.tar.gz 18.7 kB Details

Release files / appflow-1.0.1.5.tar.gz

Download URL appflow-1.0.1.5.tar.gz
Size 18.7 kB
Tags Source
SHA-256 checksum
How to use checksums
53fd8bf35fb58b02cbd537d18485b172ab66d89859e0b9334313e9033b64ae7a
BLAKE2b-256 checksum
How to use checksums
b9409dbfdef1a6332a27aca81dbdb6b78a61e09a54ef7082df2c7c56cb4c7493
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.0.1.5 This release

1 release file

1.0.1.4

1 release file

1.0.1.2

1 release file

1.0.1.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page