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 supports- csi. 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
        }
      }
    }
  }
]