Cluster-wide Endpoints#

There are a number of endpoints dedicated to cluster-wide information, or ICE ClusterWare™ configuration information:

GET /cluster
     Returns a JSON object with detailed information about the cluster, including the
     current time on the cluster, the monitoring and authentication configuration,
     image formats, plugins, etc.

PATCH /cluster
     Accepts a JSON object with one or more key-value pairs; for each key, the
     corresponding entry in the cluster database is overwritten; keys may be:
       - default_group (change the default group that nodes are assigned to)
       - naming (change the default naming scheme)
       - accept_new_nodes (whether the cluster will attempt to boot nodes that have
          not be previously defined)
       - default_distro (change the default distro)
       - influx_token (change the token used by InfluxDB and Grafana, parts of the
          ClusterWare monitoring and alerting system)
       - cluster_name (change the name of the cluster)
       - cluster_id (change the Penguin Solutions cluster ID number)
       - auth_config (change settings needed by the authentication system)

GET /cluster/database
     Returns a JSON object with information about the underlying ClusterWare database.
     This endpoint is public and does not require an authentication token.

GET /cluster/summary
     Returns a JSON object with a list of all object UIDs for all ClusterWare object
     types.

GET /cluster/usage
     Returns a JSON object with cluster-wide usage information; this requires that a
     cluster accounting system be configured

GET /cluster/time
     Returns a JSON object with the current time on the head node. This endpoint is
     public and does not require an authentication token.

GET /cluster/accountant
     Returns a JSON object with the current cluster accounting configuration

PUT /cluster/accountant
     Used to set the cluster accounting configuration; this is an advanced topic,
     please contact Penguin Solutions for more information.

GET /cluster/head/{uid}
     Returns a JSON object with information about the specified head node.

GET /cluster/head/{uid}/log
     Returns a JSON object with information about logs from the specified head node.

GET /cluster/hosts
     Returns a JSON object with hostname-ipaddress pairs for all known nodes in the
     cluster. This endpoint is public and does not require an authentication token.

GET /cluster/sshkeys
     Returns a JSON object with information about the authorized keys for the cluster.
     This endpoint is public and does not require an authentication token.

GET /cluster/cabundle
     Returns a JSON object with information about the CA certificates for the cluster.
     This endpoint is public and does not require an authentication token.

GET /cluster/license
     Returns a JSON object with information about the ClusterWare license for this
     cluster.

GET /whoami
     Returns a JSON object identifying the current user

GET /whereami
     Returns a JSON object identifying where (what node) the current user is attaching
     from; this assumes that ClusterWare knows the server (that is, it’s a compute node
     registered in the system)