# Cluster

[Clusters](https://docs.trustgrid.io/docs/clusters/) group nodes for high availability and shared configuration. Changes applied to a cluster propagate to all member nodes. Requires `nodes::read` permission.


## Retrieve all high-availability node clusters in the organization

 - [GET /cluster](https://apidocs.trustgrid.io/cluster/listclusters.md)

## Create a new high-availability cluster for grouping nodes

 - [POST /cluster](https://apidocs.trustgrid.io/cluster/paths/~1cluster/post.md)

## Permanently remove a cluster and all its configurations

 - [DELETE /cluster/{clusterFQDN}](https://apidocs.trustgrid.io/cluster/paths/~1cluster~1%7Bclusterfqdn%7D/delete.md)

## Retrieve detailed configuration and status of a specific cluster

 - [GET /cluster/{clusterFQDN}](https://apidocs.trustgrid.io/cluster/getcluster.md)

## Modify cluster configuration and failover settings

 - [PUT /cluster/{clusterFQDN}](https://apidocs.trustgrid.io/cluster/paths/~1cluster~1%7Bclusterfqdn%7D/put.md)

## Manually promote a specific node to be the active member in an HA cluster

 - [PUT /cluster/{clusterFQDN}/active/{nodeID}](https://apidocs.trustgrid.io/cluster/paths/~1cluster~1%7Bclusterfqdn%7D~1active~1%7Bnodeid%7D/put.md)

## Update connectors configuration for a cluster

 - [PUT /cluster/{clusterFQDN}/config/connectors](https://apidocs.trustgrid.io/cluster/paths/~1cluster~1%7Bclusterfqdn%7D~1config~1connectors/put.md): Requires node::configure::connectors permissions

## Delete the connector config for a cluster

 - [DELETE /cluster/{clusterFQDN}/config/connectors](https://apidocs.trustgrid.io/cluster/paths/~1cluster~1%7Bclusterfqdn%7D~1config~1connectors/delete.md): Requires node::configure::connectors permissions

## Add a connector to a cluster. Requires V2 connector config.

 - [POST /v2/cluster/{clusterFQDN}/config/connectors](https://apidocs.trustgrid.io/cluster/paths/~1v2~1cluster~1%7Bclusterfqdn%7D~1config~1connectors/post.md): Requires node::configure::connectors permissions

## Upgrade a cluster's connector config to V2.

 - [POST /v2/cluster/{clusterFQDN}/config/connectors/upgrade](https://apidocs.trustgrid.io/cluster/paths/~1v2~1cluster~1%7Bclusterfqdn%7D~1config~1connectors~1upgrade/post.md): Requires node::configure::connectors permissions

## Update a connector on a cluster

 - [PUT /v2/cluster/{clusterFQDN}/config/connectors/{connectorID}](https://apidocs.trustgrid.io/cluster/paths/~1v2~1cluster~1%7Bclusterfqdn%7D~1config~1connectors~1%7Bconnectorid%7D/put.md): Requires V2 connector config.

---

Requires node::configure::connectors permissions

## Delete a connector from a cluster. Requires V2 connector config.

 - [DELETE /v2/cluster/{clusterFQDN}/config/connectors/{connectorID}](https://apidocs.trustgrid.io/cluster/paths/~1v2~1cluster~1%7Bclusterfqdn%7D~1config~1connectors~1%7Bconnectorid%7D/delete.md): Requires node::configure::connectors permissions

## Update network configuration for a cluster

 - [PUT /cluster/{clusterFQDN}/config/network](https://apidocs.trustgrid.io/cluster/paths/~1cluster~1%7Bclusterfqdn%7D~1config~1network/put.md): Requires node::configure:network permissions

## Update services configuration for a cluster.

 - [PUT /cluster/{clusterFQDN}/config/services](https://apidocs.trustgrid.io/cluster/paths/~1cluster~1%7Bclusterfqdn%7D~1config~1services/put.md): Requires nodes::configure::services permissions.

## Remove a cluster's services configuration.

 - [DELETE /cluster/{clusterFQDN}/config/services](https://apidocs.trustgrid.io/cluster/paths/~1cluster~1%7Bclusterfqdn%7D~1config~1services/delete.md): Requires nodes::configure::services permissions.

## Add a service to a cluster. Requires V2 services config.

 - [POST /v2/cluster/{clusterFQDN}/config/services](https://apidocs.trustgrid.io/cluster/paths/~1v2~1cluster~1%7Bclusterfqdn%7D~1config~1services/post.md): Requires node::configure::services permissions

## Upgrade a cluster's services config to V2.

 - [POST /v2/cluster/{clusterFQDN}/config/services/upgrade](https://apidocs.trustgrid.io/cluster/paths/~1v2~1cluster~1%7Bclusterfqdn%7D~1config~1services~1upgrade/post.md): Requires node::configure::services permissions

## Update a service on a cluster.

 - [PUT /v2/cluster/{clusterFQDN}/config/services/{serviceID}](https://apidocs.trustgrid.io/cluster/paths/~1v2~1cluster~1%7Bclusterfqdn%7D~1config~1services~1%7Bserviceid%7D/put.md): Requires V2 services config.

---

Requires node::configure::services permissions

## Delete a service from a cluster

 - [DELETE /v2/cluster/{clusterFQDN}/config/services/{serviceID}](https://apidocs.trustgrid.io/cluster/paths/~1v2~1cluster~1%7Bclusterfqdn%7D~1config~1services~1%7Bserviceid%7D/delete.md): Requires V2 services config.

---

Requires node::configure::services permissions

## Delete a tag from a cluster

 - [DELETE /cluster/{clusterFQDN}/tag/{tagName}](https://apidocs.trustgrid.io/cluster/paths/~1cluster~1%7Bclusterfqdn%7D~1tag~1%7Btagname%7D/delete.md)

## Set a tag on a cluster

 - [PUT /cluster/{clusterFQDN}/tag/{tagName}](https://apidocs.trustgrid.io/cluster/paths/~1cluster~1%7Bclusterfqdn%7D~1tag~1%7Btagname%7D/put.md)

