I spent some time over the weekend to bring the ansible-pcd project up to date and am excited to share it with the community!
https://github.com/iceburg-net/ansible-pcdansible-pcd provides a set of roles and standard conveniences with the following goals;
* encourage flexible, convenient, and reusable automation components
* drastically reduce execution time by visiting only necessary tasks
* support multiple distributions (Debian, RedHat, &c)
* remain simple, intuitive, and community friendly
* avoid redundancy, be maintainable
roles following the pcd standard tag tasks as either prepare, configure, or deploy.
* prepare: typically run one time per host (e.g. create user)
* configure: run whenever configuration changes (e.g. update httpd port)
* deploy: run on site/application releases
the organization within the ansible-pcd framework makes it suitable for extremely large installments.
* roles are categorized into systems, services, and applications.
ansible-pcd currently provides an ansible-managed "webhost in a box"
# current functionality
* YAML website definitions - see
https://github.com/iceburg-net/ansible-pcd/tree/master/sites * git based sites (shallow clone during deployment), multiple branch support.
* conveniences for;
* mysql user + database creation
* awstats integration
* wordpress/silverstripe/&c rewrites
* backups (e.g. asset/upload folder(s) > cloud storage)
* nullmailer MTA replacement
* remote/cloud backups via s3ql
* provisioning hosts with a consistent environment
I currently only support Debian-7 but will hopefully add more roles and distribution support as time goes by && if there's interest will add to galaxy.
John's slides on using ansible at edX served as a powerful inspiration to get started again... and my thanks go to him.
Happy memorial day weekend to those in the US.
~ Brice