How Waypoint Plugins Work
Warning
This content is part of the legacy version of Waypoint that is no longer actively maintained. For additional information on the new vision of Waypoint, check out this blog post and the HCP Waypoint documentation.
Plugins in Waypoint are separate binaries which communicate with the Waypoint application; the plugin communicates using gRPC. While it is theoretically possible to build a plugin in any language supported by the gRPC framework, we recommend that the developers leverage the Waypoint SDK for Go to perform this task.
In this section, you will find reference documentation for creating plugins, if you would like to jump straight in and start making a plugin; please check out the Creating Waypoint Plugins Guide.
Concepts
Conceptually Waypoint Plugins can be defined using the following terms:
Plugin
- A Plugin is a compiled binary containing one or more Components which are executed by the Waypoint applicationComponent
- A Component handles part of the Waypoint application lifecycle, i.e. Build, Deploy, etc. Components are created by implementing various interfacesInterface
- An interface implements specific behavior in a Component, i.e., Configurable, ReleaseManagerOutput Value
- A Protocol Buffer serializable type which can be passed between components.