Projects

Collection of Projects I've worked on.

Kubernetes

Faros

A custom resource based GitOps controller built using the Kubernetes community project Kubebuilder.

Faros uses a CRD pointing to a Git repository, a Git reference and a subpath within the repository to check out the repository, scan for Kubernetes resource definitions and apply them to the cluster.

Read more on the repo.

Wave

A Kubernetes controller build using the Kubernetes community project Kubebuilder.

Wave aids Kubernetes Deployments which can’t dynamically reload configuration but mount config from Secrets and ConfigMaps. Wave ensures that config stays up to date and that Pods running out of date configuration are replaced.

Read more on the repo.

K8s Spot Rescheduler

For use in Kubernetes clusters running on AWS Spot Instances. Moves Pods from On-Demand instances to Spot instances to allow the more expensive On-Demand instances to be scaled down by the cluster autoscaler.

Read more on the repo.

K8s Spot Termination Handler

For use in Kubernetes clusters running on AWS Spot Instances. Watches for a termination notice and safely drains nodes when they are due to be terminated.

Read more on the repo.