Freelance DevOps Engineer: over 10 years of cloud; 25 years of infrastructure engineering and Linux system administration.
I've provided engineering work and consultancy services for two dozen customers since 2011. I specialise in helping clients with: DevOps; IaC; CI/CD; automation; site reliability & monitoring; security; cloud & bare-metal; containers & virtualisation; scaling, redundancy & DR; infrastructure migrations; cost management.
More details on my consultancy and freelance services can be found on my website.
My most recent and useful projects and tutorials now have their own separate repositories. Most of these have accompanying articles describing their usage on my blog:
- k8s-minikube-eks - create a Kubernetes cluster with web app proxied via nginx, with two Nodes, backend Deployment With ClusterIP, and frontend Deployment with LoadBalancer.
- spotilike - like the currently playing track in Spotify.
- genrify - select tracks from Saved Albums or Playlists on Spotify based on Artist Genre and add them to Queue or to a new Playlist.
- powershell-aws-linux - AWS Provisioning and Deployment with Linux EC2 instances using PowerShell.
- ansible-docker-ecs - Ansible playbooks to provision an ECS cluster on AWS, running a webapp on Docker containers in the cluster and load balanced from an ALB, with the Docker image pulled from ECR.
- ansible-docker-ec2 - Ansible playbooks to provision a Staging instance on EC2, and to deploy a webapp there which runs in a Docker container.
- rabbitmq-cert-manager-k8s-gcp - automated provisioning and deployment of RabbitMQ with cert-manager on a Kubernetes cluster within GCP (Google Cloud Platform).
- ansible-aws-provisioning - Ansible playbooks to provision an entire AWS infrastructure with a Staging instance and an auto-scaled load-balanced Production environment.
- ansible-rhel_centos-hardening - Ansible playbooks for security hardening on RHEL 7 and CentOS 7 servers.
- postfix-mail-system - accompanying config files and scripts for my blog article on building a Postfix-based mail system.
- simple-webapp - basic Python webapp for use as example in DevOps deployment specifications.
This remains as a general repository for various old scripts, plugins and config examples, some of which have accompanying articles describing their usage on my blog. Some may only work partially or not at all these days, so use at your own risk:
- check_hp_ssd - Nagios plugin to check SSDs on HP ProLiant DL360 servers and other similar ProLiant hardware.
- convert-facebook-likes-to-csv - Perl script to convert all liked pages on Facebook to a CSV file for import into a spreadsheet.
- extract_pgsql_sorts - extract the details of PostgreSQL temporary files (disk-based sorts) into a more useful format.
- get_Flickr_faves - Bash script and accompanying launchd configuration for using Flickr favourites as a screensaver on OS X.
- mac-detector - scans local network for new MAC addresses and reports accordingly.
- mongo-reclaim - reclaims storage on two-node MongoDB replica sets by clearing data on both nodes and forcing mongod to rebuild it.
- pacct-report - sends a weekly email with a summary of user activity, login information and commands run.
- reminders2txt - exports items from Reminders app on OS X to plaintext.
- vCard_photo_extractor - script to extract the contact photos from vCard/VCF files.
- x-forwarded-for_webtraffic - provides a continuously updating display of client IP addresses on a web server using X-Forwarded-For.