3
0 Comments

30 days unemployed - great time to build big features for your project!

I have been contracting for 2 years while bootstrapping Webhook Relay. A month ago my client (company that I was building end-to-end ML/AI backend) was closed down by the parent company due to covid & lack of funds. So, as a contractor I had a ~4 hour notice and my services have ended :) On the bright side - I could focus all my time on building some new core webhookrelay functionality. I ended up:

  • Writing a new data-plane that is now a lot faster, based on https://github.com/hashicorp/go-memdb to build an in-memory routing table based on virtual hosts and paths. Multiple indexes really helped because the same routing config can be looked up by both virtual host or path with UUID.
  • Ensuring that the service can be upgraded even while there's a load test going on (Kubernetetes rolling update, lots of Golang's sync.WaitGroups to ensure clean shutdown and strict shutdown order to tie everything together)
  • Writing docs
  • Updating CLI
  • Updating UI
  • Had to rework UI as well as input/output settings were really congested. Lots of people found previous UI with icons confusing :| Now I try to document as much in the dashboard itself as possible.

I don't think I would have been able to do this while doing consulting full-time. Initially I thought it might take just a few days but.. :)

New feature release:
https://webhookrelay.com/blog/2020/05/31/domain-based-webhook-endpoints/

on June 1, 2020