Projects

Some software projects of which I am either the owner or a core contributor.

Terraform Azure Providers

For configuring infrastructure in Microsoft Azure. The AzureRM provider uses the Resource Manager APIs to provision and manage Azure resources. The AzureAD provider uses the Microsoft Graph and Azure Active Directory Graph APIs to manage Azure Active Directory and MIcrosoft 365.

https://github.com/terraform-providers/terraform-provider-azurerm
https://github.com/hashicorp/terraform-provider-azuread

Hamilton

A Go SDK for Microsoft Graph.

https://github.com/manicminer/hamilton

Conference Name Badger

Whilst creating attendee badges for DevOpsDays Cape Town, I could not find a simple way to reconcile the list of attendees (from our ticket vendor) with the badge design (a PDF from our designer). I wanted the equivalent of a mail merge, but it needed to look great and be usable as late registrations came in. My solution was a Python script to create a multipage PDF for our printing vendor. It accepts a CSV file as input, with configurable fields and locations (admittedly, you edit the script).

https://github.com/DevOpsCapeTown/namebadger

AWS Console Colors Userscript

A userscript for browsers which improves the appearance of the AWS Console when you are assuming IAM roles, by making the entire menu bar approximate the color you select in the role switcher pill widget.

https://github.com/manicminer/userscript-aws-console-colors

AWS Certificate Manager (ACM) Terraform module

A Terraform module which requests and validates ACM certificates on AWS, using DNS validation with Route53.

https://github.com/manicminer/terraform-aws-acm-certificate

Ansible with AWS Skeleton Project

A useful starter project for scaffolding your next Ansible project for AWS, incorporating many recommended approaches and best practises.

https://github.com/manicminer/ansible-aws-skel

AWS Vars Plugin for Ansible

A drop-in plugin for Ansible 2.5+, which:

Bonus feature: brings native support for multiple AWS accounts with automatic account switching once per playbook based on extra vars passed at runtime.

https://github.com/manicminer/ansible-vars-plugin-aws

Auto Scaling Deployment modules for Ansible

A set of modules I wrote for Ansible to manage software deployments with AWS Auto Scaling. Particularly useful when couple with Elastic Load Balancers, these modules model a configurable blue-green style deployment strategy for simple, fast cutover in your production environment, with rollback.

https://github.com/manicminer/ansible-modules-asg-deployments