Commit Graph

8 Commits

Author SHA1 Message Date
Alex Dadgar
a10d3964d0 Do not use cty in drivers 2018-10-16 17:17:07 -07:00
Michael Schurter
2b249eee14 plugins: msgpack codec should use cty tags 2018-10-16 16:56:56 -07:00
Nick Ethier
e2bf0a388e clientv2: base driver plugin (#4671)
Driver plugin framework to facilitate development of driver plugins.

Implementing plugins only need to implement the DriverPlugin interface.
The framework proxies this interface to the go-plugin GRPC interface generated
from the driver.proto spec.

A testing harness is provided to allow implementing drivers to test the full
lifecycle of the driver plugin. An example use:

func TestMyDriver(t *testing.T) {
    harness := NewDriverHarness(t, &MyDiverPlugin{})
    // The harness implements the DriverPlugin interface and can be used as such
    taskHandle, err := harness.StartTask(...)
}
2018-10-16 16:53:31 -07:00
Alex Dadgar
a0b01d16c6 Example device plugin and helpers
This PR introduces:
* An example device plugin that exposes files as devices for testing.
* Helpers for serving a device plugin
* A launcher binary that allows interacting with a device plugin without
needing a Nomad client.
2018-08-28 13:59:57 -07:00
Alex Dadgar
e11a510bd8 initial device go-plugin 2018-08-16 16:49:09 -07:00
Alex Dadgar
2de5989e37 vet 2018-08-13 11:10:33 -07:00
Alex Dadgar
1736d93430 Review comments 2018-08-13 11:01:44 -07:00
Alex Dadgar
cfc6992e4a Initial go-plugin 2018-08-12 15:58:39 -07:00