The goagain library is fantastic. It permits to smooth transition between versions of a go application with zero downtime. There are a few more things to say about it. Many of the signals are not implemented limiting its overall functionality. And there is a design flaw or two. However it is functional and does perform the main task of zero downtime.