Ansible-based infrastructure-as-code for hosting and deploying Magento-based shops.
This code handles infrastucture provisioning, maintenance and deployment only. This repository does not contain any CI/CD automation for building, testing or running the provisioning itself. We do that internally with reusable Jenkins pipelines (as libraries) - as this setup is very specific to our workflow we are not planning to open-source it in the near future.
Altough it's possible to use this code to host any Magento-based shop, some features are only avaialble (and tailored for) MageSuite ecosystem.
Currently the full feature set is only available when using AWS as the cloud platform, however, it's possible (and tested) to use this code to provision any CentOS 7 VM including local development environment.
PS There's also an experimental docker container which can be fully provisioned by this code and run a full CentOS installation like a VM. This is intended to be used only for local development though and not yet supported.
1 Needs at least 2 app nodes and requires certain MageSuite extensions. Also it might not be possible depending on changes in relation to previous release in the code being deployed (DB migrations, ...).
The code has been cleaned up and all commits squashed for the first public release.
The previous internal repository had 2000+ commits, 300+ merge requests created by 10+ contributors across 3+ years of development.
The current state is a result of hundreds of hours of meetings, debugging, brainstorms investigations and combined expertise of all our developers, PMs and clients.
A lot of the solutions are tailored for solving real-world problems and use-cases that came up when hosting and maintaining highly-customized Magento-based shops. The value of such experience-based solutions cannot be overestimated. It wouldn't be possible to come up and design all of these tiny details form scratch without having went through the all of problems first-hand.
At the time of open source release most of the documentation was scattered across internal creativestyle services thus any leftovers have been removed to avoid confusion. New documentation will start appearing shortly as part of this repository succesively.
mageops-env # prints mageops env vars
mageops-sys-status # prints general info about cpu, io, memory, running processes
mageops-consumers # prints ongoing magento queue consumer processes
magcd # `cd` into magento directory
mag # `cd` into magento directory and runs `bin/magento`
magcf # runs `bin/magento cache:flush`