Closed lukashornych closed 1 month ago
Primarily, we need this data in gRPC server status operation, this system/status
endpoint can stay as is.
I don't differentiate between classic url and exposeOn url. Could it be:
"graphQL": {
"readiness": "ready",
"baseUrls": ["http://127.0.0.1:6555/gql/", "http://demo.evitadb.io/gql"]
}
That could be even better, we would do the same in the lab
I have half work done, but it's not so easy as it sounds, because part of the information is not easily available. I will finish it tommorrow.
API is done - the output looks like this:
{
"version": "2024.10-SNAPSHOT",
"startedAt": {
"timestamp": "2024-08-13T15:09:37.919285949Z",
"offset": "+02:00"
},
"uptime": "51",
"instanceId": "evitaDB-21cca988f15cfea7",
"catalogsOk": 2,
"readiness": "API_READY",
"api": {
"graphQL": {
"enabled": true,
"ready": true,
"baseUrl": [
"http://0.0.0.0:5555/gql/"
]
},
"rest": {
"enabled": true,
"ready": true,
"baseUrl": [
"http://0.0.0.0:5555/rest/"
]
},
"gRPC": {
"enabled": true,
"ready": true,
"baseUrl": [
"https://0.0.0.0:5555/"
]
},
"system": {
"enabled": true,
"ready": true,
"baseUrl": [
"http://0.0.0.0:5555/system/"
],
"endpoints": [
{
"name": "serverNameUrl",
"url": [
"http://0.0.0.0:5555/system/server-name"
]
},
{
"name": "rootCertificateUrl",
"url": [
"http://0.0.0.0:5555/system/evitaDB-CA-selfSigned.crt"
]
},
{
"name": "serverCertificateUrl",
"url": [
"http://0.0.0.0:5555/system/server.crt"
]
}
]
},
"lab": {
"enabled": true,
"ready": true,
"baseUrl": [
"http://0.0.0.0:5555/lab/"
]
},
"observability": {
"enabled": true,
"ready": true,
"baseUrl": [
"http://0.0.0.0:5555/observability/"
]
}
}
}
It always returns all available APIs (even those disabled), for the system API it returns endpoints with variable size depending on the configuration (not all are available - or present in various configuration variants). Full endpoint listing is:
rootCertificateUrl
serverCertificateUrl
clientCertificateUrl
clientPrivateKeyUrl
serverNameUrl
When exposeOn
argument is used during startup, the first URL should be those using this exposeOn argument.
@novoj awesome 👍 will this structure be available in the gRPC server status operation later?
This is already an output of the gRPC serverStatus method.
@novoj excellent, thanks. We'll integrate it into the evitaLab
Now the
/system/status/
exposes basic urls for each API:But this is fairly limited info, specifically for status page in evitaLab https://github.com/lukashornych/evitalab/issues/103. We need following data for each API:
For system API we would like following extra data:
The status response could then look like this: