Nomad
Plugins HTTP API
The /plugin
endpoints are used to query for and interact with
dynamic plugins. Currently only Container Storage Interface (CSI)
plugins are dynamic.
List Plugins
This endpoint lists all dynamic plugins.
Method | Path | Produces |
---|---|---|
GET | /v1/plugins | application/json |
The table below shows this endpoint's support for blocking queries and required ACLs.
Blocking Queries | ACL Required |
---|---|
YES | plugin:read |
Parameters
type
(string: "")
- Specifies the type of plugin to query. Currently only supportscsi
. This is specified as a query string parameter. Returns an empty list if omitted.
Sample Request
$ curl \
https://localhost:4646/v1/plugins?type=csi
Sample Response
[
{
"ID": "example",
"Provider": "aws.ebs",
"ControllerRequired": true,
"ControllersHealthy": 2,
"ControllersExpected": 3,
"NodesHealthy": 14,
"NodesExpected": 16,
"CreateIndex": 52,
"ModifyIndex": 93
}
]
Read Plugin
Get details of a single plugin, including information about the plugin's job and client fingerprint data.
Method | Path | Produces |
---|---|---|
GET | /v1/plugin/csi/:plugin_id | application/json |
The table below shows this endpoint's support for blocking queries and required ACLs.
Blocking Queries | ACL Required |
---|---|
YES | plugin:read , |
namespace:* Allocations listed are filtered by namespace |
Sample Request
$ curl \
https://localhost:4646/v1/plugin/csi/example_plugin_id
Sample Response
[
{
"ID": "example_plugin_id",
"Provider": "aws.ebs",
"Version": "1.0.1",
"ControllersRequired": true,
"ControllersHealthy": 1,
"Controllers": {
"example_node_id": {
"PluginID": "example_plugin_id",
"Provider": "aws.ebs",
"ProviderVersion": "1.0.1",
"AllocID": "alloc-id",
"Healthy": true,
"HealthDescription": "healthy",
"UpdateTime": "2020-01-31T00:00:00.000Z",
"RequiresControllerPlugin": true,
"RequiresTopologies": true,
"ControllerInfo": {
"SupportsReadOnlyAttach": true,
"SupportsAttachDetach": true,
"SupportsListVolumes": true,
"SupportsListVolumesAttachedNodes": false
}
}
},
"NodesHealthy": 1,
"Nodes": {
"example_node_id": {
"PluginID": "example_plugin_id",
"Provider": "aws.ebs",
"ProviderVersion": "1.0.1",
"AllocID": "alloc-id",
"Healthy": true,
"HealthDescription": "healthy",
"UpdateTime": "2020-01-30T00:00:00.000Z",
"RequiresControllerPlugin": true,
"RequiresTopologies": true,
"NodeInfo": {
"ID": "example_node_id",
"MaxVolumes": 51,
"AccessibleTopology": {
"key": "val2"
},
"RequiresNodeStageVolume": true
}
}
}
}
]