A list of various open-source projects I created over the years, and the story behind them. If you would like to see contributions I made to other open-source projects follow this link.


A web UI and API for quickly starting and stopping AWS environments. I wrote this tool back in 2018 to help members of other teams easily manage the state of the environment(s) that I would build out for them in aws via our IaC (terraform + ansible). Whether it was a sales team doing a pitch on various demo environments or a dev team working on various dev environments, this tool could accommodate it. The main goal was to reduce the aws bill ofcourse 🤑. While not as cheap as running terraform destroy, shutting down the compute of an environment could save a ton of money. It also is much quicker to start/stop an environment then running through the infrastructure code to redeploy. I had a great time building this out, and was a great learning experience for using the aws api.

Source Code Year Language(s) Demo Link 2018 go, vue.js

AWS-PT Main View AWS-PT Toggle an Environment AWS-PT Expand an Environment AWS-PT Filtered View


vSummary is an open source tool for collecting and displaying a summary of your vSphere Environment(s). Back in 2012, I was the sole member of the virtualization team. This meant that I was on the hook for the virtualization design, deployment, and support 😉. Over the next few years, I had grown the company from zero VMs up to about 4k. This was spread across 4 datacenters, 3 countries, 2 continents. At the time (vSphere 5) VMware did not have any tools for a single pane of glass view. So I originally wrote this tool back in 2015 in php! It actually had a few components back then so it wasn’t entirely php (the original poller was written in PowerShell). A year later in 2016 I open-sourced it on github. Then a couple years later in 2018 I redesigned and rewrote the whole thing as a perfect excuse to learn go 😎. Best decision ever, as go quickly became my favorite language and put me in an incredible position to be able to contribute to many other popular open-source projects that are also written in go.

Source Code Year Language(s) Demo Link 2016 go, javascript

vSummary VM View vSummary Adding a Poller vSummary Original PHP Design


A deployment for Kubernetes without the use of any “magic” 🧙‍♂️ (this means no kubeadm usage BTW). This repository is mainly for educational purposes (although I have occasionally used it for the purpose of testing a candidate’s knowledge of kubernetes during interviews). The goal being to fully understand how to deploy each component of the kubernetes infrastructure without the use of any magical tools like kubeadm. From a security perspective, I also want to explore the use of my own PKI as well as to harden the system and tightly control network and ACLs.

Source Code Year Language(s) 2020 ansible


Protego is a self-hosted REST API service, intended to be used in conjunction with nginx’s auth_request module, with the goal of providing transparent IP based ACLs to your existing HTTP service(s). protego_authorize_flow.png

Source Code Year Language(s) 2020 go

Protego Authorization Flow Protego Challenge UI


I wanted to learn the ins-and-outs of OIDC, so I thought it would be a great idea to write my own OIDC client application and integrate it with various providers. I skimmed through a good portion of RFC 6749 and RFC 7636 as a reference when implemeting much of the functionality. I was really interested in the private_key_jwt client authentication type since it offers much strong authentication than client_secret so I also spent a bunch of time on that too. It was really nice to see my client work well after I was done with it! I should also disclaimer that this client is for educational purposes only and you should probably not attempt to use it for anything else 😅.

Source Code Year Language(s) 2021 go


I was a fairly early adopter of Docker. I kept a ton of Dockerfiles and docker-compose in this repo over the years as I worked on various things. I don’t really maintain much of the stuff I no longer use anymore. It seemed to get some stars over the years, so I guess it was useful to some.

Source Code Year Purpose 2016 docker

Ansible Roles

I wrote a ton of ansible roles over the years. Most of them are very specific to my employer’s needs and are stored privately. However, there are a few generic ones I decided to share (although I don’t really maintain them anymore)

Source Code Year Purpose 2016 sets up docker just the way I like it ;) 2017 sets up a hardened nginx on RHEL 2017 helps configure and maintain my desktops/laptops 2016 sets up NFS servers and clients on RHEL 2017 sets up mongodb on RHEL 2016 sets up multi-tenant ipfs 2016 bunch of roles to support container orchestration and fabric
Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
Built with Hugo, using a modified version of the Stack theme.