I’ve been toying with a side project's POC and for one the moving pieces, I needed a Git server I could self-host.
One option I considered was using something like Gitea, but I eventually preferred something that was easier to customize and maintain by myself, so I needed a lighter solution.
It turns out that Git itself already includes git-http-backend
, a CGI program that allows to interact with a Git repository through the http[s] protocol.
Recently I submitted a PR which just got merged, for k8s-ruby, a ruby client for the Kubernetes API, to implement the Pod#Create Connect Exec endpoint, which allows to execute arbitrary commands inside a pod container, including opening a shell session.
Eventually It wasn’t that hard to make it work but there were some interesting learnings along the way: