Gebug is a tool that makes debugging of Dockerized Go applications super easy by enabling Debugger and Hot-Reload features, seamlessly. The implementation is based on utilizing Docker and Docker-Compose to manage the debugging environment. In order to get a consistent and clean environment, the application build is taking place inside a Docker container. This make the debugging process agnostic to the host's libraries and tools versions. For instance, you can choose to work a specific version of Go on your host, but use another one when debugging your application. During the `init` process, the user sets the desired configuration to the project including Docker base, environment variables and expose ports. When the user runs `start` (unless explicitly asked) a `Dockerfile` and `docker-compose.yml` with the relevant configuration including one-direction source files synchronization between the host and the runtime container and auto-build on each change detected. Configurations Notes & Tips
Package leaf provides with utilities to create the leaf CLI tool. It includes watcher, filters and commander which watch files for changes, filter out required results and execute external commands respectively. The package comes with utilities that can aid in creating a hot-reloader with a simple go program. Let's look at an example where the watcher watches the `src/` directory for changes and for any changes builds the project.
Package certwatcher provides the ability to hot-reload TLS certificates without downtime.
Package typescript provides a typescript compiler with hot-reloader and optionally a cloud-based editor, called 'alm-tools'. typescript (by microsoft) and alm-tools (by @basarat) have their own (open-source) licenses the tools are not used directly by this adaptor, but it's good to know where you can find the software.
Package grace use to hot reload Description: http://grisha.org/blog/2014/06/03/graceful-restart-in-golang/ Usage: import( )
Package make provides a program to build gotrino web apps. There are two modes: a live development server with hot reloading and a conventional build command for usual deployment. Actually, there is nothing special or magic involved and everything could just be done with a normal Makefile, but this way it is just more reliable between platforms and probably more maintainable.
Package live provides some types and functions designed for plugin hot reload, which solves the problem that the same type in different versions of a plugin are actually not the same at runtime.