The purpose of this controller is to learn how to build a custom Kubernetes controller from scratch
Controllers generally serve the purpose of synchronising the desired state of a custom resource with its actual state. To demonstrate this, a custom controller which synchronises labels with annotations was created. This serves the purpose of demonstrating the functionality at a high level and is more complex in more realistic scenarios but serves its purpose as a learning exercise.