aboutsummaryrefslogtreecommitdiff
path: root/src/zenserver/hub/README.md
blob: c75349fa590ae69cedefaf44c16af22b2ccc6ca6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# Zen Server Hub

The Zen Server can act in a "hub" mode. In this mode, the only services offered are the basic health
and diagnostic services alongside an API to provision and deprovision Storage server instances.

A module ID is an alphanumeric identifier (hyphens allowed) that identifies a dataset, typically
associated with a content plug-in module.

## Generic Server API

GET `/health` - returns an `OK!` payload when all enabled services are up and responding

## Hub API

GET `/hub/status` - obtain a summary of all currently live instances

GET `/hub/modules/{moduleid}` - retrieve information about a module

DELETE `/hub/modules/{moduleid}` - obliterate a module (permanently destroys all data)

POST `/hub/modules/{moduleid}/provision` - provision service for module

POST `/hub/modules/{moduleid}/deprovision` - deprovision service for module

POST `/hub/modules/{moduleid}/hibernate` - hibernate a provisioned module

POST `/hub/modules/{moduleid}/wake` - wake a hibernated module

GET `/stats/hub` - retrieve stats for the hub service

`/hub/proxy/{port}/{path}` - reverse proxy to a child instance dashboard (all HTTP verbs)

## Hub Configuration

The hub service can use Consul to provide status updates

The hub service can emit telemetry to an Open Telemetry collector