jerrywardlow / portfolio

A collection of coding projects

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Selected projects by Jerry Wardlow

Table of Contents


Open source cookbooks and templates covering a range of services, applications, infrastructures, and providers. Intended to be a stepping off point for collaboration across organizations without the limitations or associations of any single for profit group.

Magento 2 Terraform Reference - AWS - Large scale highly available infrastructure reference for the Magento 2 ecommerce application. Includes configuration for EC2 auto scaling groups, EFS file system, RDS database, security groups, and more. Use as a module allows for convenience and reapatibility across multiple environments (preview, staging, production, etc.).

Magento 2 Terraform Reference - DigitalOcean - Basic configuration of DigitalOcean resources for a low cost, low complexity alternative to managed hosting providers. Intended for use as a module to provision application and database droplets. Includes example of module usage for reference.

Magento 2 Starter - Work in progress. Starter project for the Magento 2 ecommerce application. Intended as a "fork-and-go" for anyone looking for a quickstart into a highly customizable deployment of Magento 2. Includes configuration management for multiple environments (local, staging, production) utilizing strictly open source Chef cookbooks.

Cron Chef cookbook - Chef cookbook for the management of the cron daemon and creation of cron jobs.

Logrotate Chef cookbook - Chef cookbook for the management of the logrotate utility and associated entries.

Magento Chef cookbook - Work in progress. Chef cookbook for the pre-deployment configuration of a Magento 2 environment.

Robots.txt Chef cookbook - Chef cookbook for the management of a site's robots.txt.

Doug ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ Chef ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ Terraform


A reference project using HAProxy to route requests via host headers to a variety of web applications. Presently, the project consists of a Vagrantfile which provisions five virtual machines, of which both Ubuntu and CentOS are present. Configuration management was originally handled by shell scripts, but has been updated to Ansible roles. Includes roles for HAProxy, Wordpress, Magento, NodeBB, ELK, and others.

Dreadnought


A demonstration of Amazon Web Services technologies focused around using Terraform to implement infrastructure as code. EC2 application servers running Wordpress are isolated in private subnets across multiple availability zones, accessed through an Elastic Load Balancer. Data is stored in a Relational Database Service MySQL instance and cached with ElastiCache/Redis. Static content is uploaded to S3 and CloudFront is used as a CDN.

Packer is used in conjunction with a shell script to generate an AMI which may be used with Terraform to stand up rapidly deployed EC2 servers. Future improvements include implementing auto-scaling groups for the web servers and using OpsWorks for configuration management.

Terraform


A RESTful web application built on the Python Flask framework. This project uses a PostgreSQL database to store information about items and the categories to which they belong. Users are authenticated with OAuth2 and allowed to update and delete items and categories that they have created. In addition to the web app, multiple deployment and configuration options are presented as well.

  • Docker - A Dockerfile is available which can be used in conjunction with Docker Compose to run two linked containers, one with the Catalog web app and another with a database containing sample data.
  • Vagrant - Using the included Vagrantfile will spin up an application server and a PostgreSQL database in VirtualBox for local testing and development.
  • Ansible - Playbooks are provided to configure both the web server and database.
  • Packer - Using Packer, artifacts can be generated for use with Amazon Web Services, Digital Ocean, and Google Compute Engine.
  • Terraform (WIP) - Configurations to launch AWS and Digital Ocean infrastructure.
  • Shell Script - Application server and database shell scripts

Item Catalog Item Catalog


Ansible playbooks to install and configure the Vanilla Forums PHP web application. Playbook functionality includes configuration of a MySQL database, installation and configuration of Vanilla on application servers, and a HAProxy load balancer. Planned additions include replication of the MySQL database across additional slave servers. An included Vagrantfile brings up local virtual machines for testing.


Docker

Alpine Catalog - An incredibly lightweight and irresponsible containerized implementation of the aforementioned Item Catalog on Alpine Linux. PostgreSQL and Gunicorn are left behind in exchange for SQLite and the builtin Flask server.

Wordpress/PHPMyAdmin/MariaDB - Docker Compose is used to bring up linked containers for Wordpress and MariaDB. A third container running PHPMyAdmin is presented as a convenience.

Item Catalog - Docker image for Item Catalog hosted on Docker Hub and automatically built/updated from the source repository.

Express - Docker Hub container image automatically built from source repository for a basic MEAN stack catalog.


Ansible

Magento - Deployment of Magento 2 artifact generated via CircleCI.

Joomla - Configuration for Joomla CMS and associated PostgreSQL database.

MEAN catalog - Example configuration for a MEAN stack application. Includes playbooks for NGINX, NodeJS, and MongoDB, as well as general Linux housekeeping.

p5linux - Ansible playbook for Project 5 of the Udacity Full Stack Web Developer Nanodegree. Implements basic Linux chores like user creation, firewalling, SSH lockdown, and deployment of a Python web app behind Gunicorn and Apache.


A Google App Engine project implementing a RESTful API server. OAuth2 is used to authenticate users and grant access to API functions. A basic front end is provided for convenient access to the API. This project was built for the Udacity Full Stack Web Developer Nanodegree.

About

A collection of coding projects