Lua is an obligatory dependency of cernan as of this writing. Not all cernan deployments will wish to use the lua programmable filters but still pay the build-time cost for this. Similar story for firehose – which pulls in rusuto – and any of the other sinks.
We should go all-in on feature flags. There are two issues with doing so. First is configuration. As of this writing we'll have to do macro hacks to get our configuration parsing under control. Second is matrix testing cernan across its features. Integration tests are not able to toggle features.