Documentation for Sablier
Documentation for API Endpoints
All URIs are relative to http://localhost:10000
| Class | Method | HTTP request | Description |
|---|---|---|---|
| ScaleApi | scaleBlocking | GET /api/strategies/blocking | Hangs the request until the services are ready |
| ScaleApi | scaleDynamic | GET /api/strategies/dynamic | The waiting page for the given services |
| ThemeApi | getTheme | GET /api/strategies/dynamoc/themes |
Documentation for Models
Documentation for Authorization
All endpoints do not require authorization.
API
To run the following examples you can create two containers:
docker create --name nginx nginxdocker create --name apache httpd
GET /api/strategies/dynamic
Description: The /api/strategies/dynamic endpoint allows you to request a waiting page for multiple instances
| Parameter | Value | Description |
|---|---|---|
names |
array of string | The instances to be started (cannot be used with group parameter) |
group |
string | The instance group to be started (using sablier.group=mygroup labels) (cannot be used with names parameter) |
session_duration |
duration time.ParseDuration | The session duration for all services, which will reset at each subsequent calls |
show_details (optional) |
bool | The details about instances |
display_name (optional) |
string | The display name |
theme (optional) |
string | The theme to use |
refresh_frequency (optional) |
duration time.ParseDuration | The refresh frequency for the loading page |
Go to http://localhost:10000/api/strategies/dynamic?names=nginx&names=apache&session_duration=5m&show_details=true&display_name=example&theme=hacker-terminal&refresh_frequency=10s and you should see
A special header X-Sablier-Session-Status is returned and will have the value ready if all instances are ready. Or else not-ready.
GET /api/strategies/blocking
Description: The /api/strategies/blocking endpoint allows you to wait until the instances are ready
| Parameter | Value | Description |
|---|---|---|
names |
array of string | The instances to be started (cannot be used with group parameter) |
group |
string | The instance group to be started (using sablier.group=mygroup labels) (cannot be used with names parameter) |
session_duration |
duration time.ParseDuration | The session duration for all services, which will reset at each subsequent calls |
timeout (optional) |
duration time.ParseDuration | The maximum time to wait for instances to be ready |
A special header X-Sablier-Session-Status is returned and will have the value ready if all instances are ready. Or else not-ready.
Curl example
curl -X GET -v "http://localhost:10000/api/strategies/blocking?names=nginx&names=apache&session_duration=5m&timeout=5s"
* Trying 127.0.0.1:10000...
* Connected to localhost (127.0.0.1) port 10000 (#0)
> GET /api/strategies/blocking?names=nginx&names=apache&session_duration=5m&timeout=30s HTTP/1.1
> Host: localhost:10000
> User-Agent: curl/7.74.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Content-Type: application/json; charset=utf-8
< X-Sablier-Session-Status: ready
< Date: Mon, 14 Nov 2022 19:20:50 GMT
< Content-Length: 245
<
{"session":
{"instances":
[
{"instance":{"name":"nginx","currentReplicas":1,"desiredReplicas":1,"status":"ready"},"error":null},
{"instance":{"name":"apache","currentReplicas":1,"desiredReplicas":1,"status":"ready"},"error":null}
],
"status":"ready"
}
}
