Nacelle

Go service framework
/

At a glance

What is Nacelle?


Nacelle is a Golang framework for setting up and monitoring the behavioral components of your application. It is intended to provide a common and convention-guided way to bootstrap an application or set of microsevices. Broadly, boostrapping your application with Nacelle gives you:

  • a convention for code organization via processes and initializers
  • a convention for declaring, reading, and validating configuration values from the runtime environment
  • a convention for registering, declaring, and injecting structure interface dependencies
  • a convention for structured logging

Concretely, bootstrapping your application with Nacelle gives you:

  • an expanding set of libraries that use the conventions outlined above
  • a process initializer that reads and validates declared component configuration
  • a process initializer that injects declared component dependencies
  • a process runner that invokes each process in a dedicated goroutine
  • a process monitor that watches for error and cleanly shutdown your application