Extensions
An extension is a way to give pipelines more functionality. This might include automatically running your pipeline or printing the results of a run to Slack or more. Pipelines can subscribe to one or more extensions (usually with some individual configuration) and those extensions perform actions on behalf of the pipeline.
List all extensions currently registered
/api/extensionsResponses
| Status | Body | Description |
|---|---|---|
200 | ListExtensionsResponse | successful operation |
4XX | Error | Error |
5XX | Error | Error |
Compare Gofer's config with the extensions currently running
/api/extensions/planRereads Gofer's config file and reports, for each extension, what applying the config would change. Nothing is changed. This backs gofer extension reload. This route is only accessible for admin tokens.
Responses
| Status | Body | Description |
|---|---|---|
200 | PlanExtensionsResponse | successful operation |
4XX | Error | Error |
5XX | Error | Error |
Returns details about a specific extension
/api/extensions/{extension_id}Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
extension_id | string | yes | The unique identifier for the target extension. |
Responses
| Status | Body | Description |
|---|---|---|
200 | GetExtensionResponse | successful operation |
4XX | Error | Error |
5XX | Error | Error |
Permanently delete an extension along with its pipeline subscriptions and stored objects
/api/extensions/{extension_id}Only extensions that have already been removed from Gofer's config can be purged; Gofer would just install a configured one again. This route is only accessible for admin tokens.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
extension_id | string | yes | The unique identifier for the target extension. |
Responses
Bring one extension in line with Gofer's config
/api/extensions/{extension_id}/applyRereads Gofer's config file and installs, updates, starts, or stops the extension to match. The request carries the plan_hash from the plan the operator reviewed; if anything changed since then (the config, the manifest, or a secret) the request is refused so the operator can look at a fresh plan. This route is only accessible for admin tokens.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
extension_id | string | yes | The unique identifier for the target extension. |
Request body (required): ApplyExtensionRequest
Responses
| Status | Body | Description |
|---|---|---|
200 | ApplyExtensionResponse | successful operation |
4XX | Error | Error |
5XX | Error | Error |
Dump extension debug information
/api/extensions/{extension_id}/debugPath parameters
| Name | Type | Required | Description |
|---|---|---|---|
extension_id | string | yes | The unique identifier for the target extension. |
Responses
| Status | Body | Description |
|---|---|---|
200 | DebugResponse | successful operation |
4XX | Error | Error |
5XX | Error | Error |
Retrieves logs from the extension container
/api/extensions/{extension_id}/logsThis endpoint upgrades the connection to a websocket: after the 101 response the server streams data over the socket instead of returning a body.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
extension_id | string | yes | The unique identifier for the target extension. |
Responses
| Status | Body | Description |
|---|---|---|
101 | none | Negotiating protocol upgrade from HTTP/1.1 to WebSocket |
4XX | Error | Error |
5XX | Error | Error |
Go back to the version of an extension that was running before the last apply
/api/extensions/{extension_id}/revertMeant for when a new version won't start. The extension stays different from Gofer's config until the config is fixed, so it'll show up in the next plan again. This route is only accessible for admin tokens.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
extension_id | string | yes | The unique identifier for the target extension. |
Responses
| Status | Body | Description |
|---|---|---|
200 | ApplyExtensionResponse | successful operation |
4XX | Error | Error |
5XX | Error | Error |
List an extension's subscriptions
/api/extensions/{extension_id}/subscriptionsLeaves out disabled subscriptions unless include_disabled is set.
Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
extension_id | string | yes | The unique identifier for the target extension. |
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
include_disabled | boolean | no | Include subscriptions that were turned off. Extensions leave this off when they load their subscriptions on startup, so disabled ones never fire. |
Responses
| Status | Body | Description |
|---|---|---|
200 | ListExtensionSubscriptionsResponse | successful operation |
4XX | Error | Error |
5XX | Error | Error |