Technology RadarTechnology Radar

Phabalicous

Phabalicious is using configuration stored in a special file in the root of your project to run tasks in a shell. This shell can be provided by a Docker Container, a SSH connection, a Kubernetes pod or a local shell. This means, you can store all your DevOps-scripts in a single file and apply it to a list of configurations. Phabalicious tries to abstract away the inner workings of a configuration and give the user a handful useful commands to run common tasks.

Phabalicious integrates nicely with existing solutions like for continuous integration or docker-based setups or diverse hosting environments like Acquia SiteFactory, Lagoon, platform.sh, Kubernetes or other complicated custom IT infrastructures.

Updates

Adopt

Fabric (the foundation of Phabalicious) took a different route. Fabric 2 is not easily backeards compatible anymore with 1 and so with Phabalicious.

As most of our users are on OS X, handling the Python dependencies got also more complicated. And only currently a handful developers in our company could write Python. Another hurdle is that Fabric supports SSH and local connections only, running commands in different ways (like docker exec) is quite cumbersome.

So the idea was born, to do another rewrite in PHP and use Symfony console as a base for it. Phabalicious 3 still supports the fabfile-format from version 2, but the command-line syntax changed a lot, and is now more compliant with POSIX.

Adopt

We have have rewritten Phabalicious, as our previous approach proved to be not flexible enough to handle new requirements. Phabalicious 2 is a more modular and extendable version, supporting hooks for custom scripts and is extendable by new methods. It also has a complete plugin-system.

Adopt

We've started Phabalicious as a shell-script to reset a Drupal-installation. We now use Fabric as a base for all the tasks and Phabalicious grew to its first official release 1.0.