This PR introduces a very basic plugin system that allows developers to customize how weaver-kube manages logs, metrics, and traces. For example, consider the following foo/main.go:
We can build this file into an executable foo that behaves the same as weaver-kube, but uses the provided plugins:
$ foo --help
Deploy and manage Service Weaver programs.
Usage:
foo <command> ...
Available Commands:
deploy Deploy a Service Weaver app
help Print help for a sub-command
version Show foo version
Flags:
-h, --help Print this help message.
Use "foo help <command>" for more information about a command.
In the long term, we'll replace this basic plugin mechanism with something more general. This PR allows customers to onboard to Service Weaver in the short term.
This PR introduces a very basic plugin system that allows developers to customize how
weaver-kube
manages logs, metrics, and traces. For example, consider the followingfoo/main.go
:We can build this file into an executable
foo
that behaves the same asweaver-kube
, but uses the provided plugins:See https://github.com/mwhittaker/jeagar for a complete example.
In the long term, we'll replace this basic plugin mechanism with something more general. This PR allows customers to onboard to Service Weaver in the short term.