feat(api): add endpoints for retrieving application logs and deployments

This commit is contained in:
Andras Bacsai
2025-03-31 17:38:54 +02:00
parent 799855ea28
commit 9f67633f2c
4 changed files with 246 additions and 80 deletions

View File

@@ -2105,6 +2105,70 @@
]
}
},
"\/applications\/{uuid}\/logs": {
"get": {
"tags": [
"Applications"
],
"summary": "Get application logs.",
"description": "Get application logs by UUID.",
"operationId": "get-application-logs-by-uuid",
"parameters": [
{
"name": "uuid",
"in": "path",
"description": "UUID of the application.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "lines",
"in": "query",
"description": "Number of lines to show from the end of the logs.",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"default": 100
}
}
],
"responses": {
"200": {
"description": "Get application logs by UUID.",
"content": {
"application\/json": {
"schema": {
"properties": {
"logs": {
"type": "string"
}
},
"type": "object"
}
}
}
},
"401": {
"$ref": "#\/components\/responses\/401"
},
"400": {
"$ref": "#\/components\/responses\/400"
},
"404": {
"$ref": "#\/components\/responses\/404"
}
},
"security": [
{
"bearerAuth": []
}
]
}
},
"\/applications\/{uuid}\/envs": {
"get": {
"tags": [
@@ -4481,7 +4545,7 @@
{
"name": "pr",
"in": "query",
"description": "Pull request ID",
"description": "Pull Request Id for deploying specific PR builds. Cannot be used with tag parameter.",
"schema": {
"type": "integer"
}
@@ -4531,6 +4595,42 @@
]
}
},
"\/deployments\/applications\/{uuid}": {
"get": {
"tags": [
"Deployments"
],
"summary": "List application deployments",
"description": "List application deployments by using the app uuid",
"operationId": "list-deployments-by-app-uuid",
"responses": {
"200": {
"description": "List application deployments by using the app uuid.",
"content": {
"application\/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#\/components\/schemas\/Application"
}
}
}
}
},
"401": {
"$ref": "#\/components\/responses\/401"
},
"400": {
"$ref": "#\/components\/responses\/400"
}
},
"security": [
{
"bearerAuth": []
}
]
}
},
"\/version": {
"get": {
"summary": "Version",
@@ -5862,8 +5962,8 @@
"tags": [
"Services"
],
"summary": "Create",
"description": "Create a one-click service",
"summary": "Create service",
"description": "Create a one-click \/ custom service",
"operationId": "create-service",
"requestBody": {
"required": true,
@@ -6013,7 +6113,7 @@
},
"responses": {
"201": {
"description": "Create a service.",
"description": "Service created successfully.",
"content": {
"application\/json": {
"schema": {
@@ -6185,6 +6285,114 @@
"bearerAuth": []
}
]
},
"patch": {
"tags": [
"Services"
],
"summary": "Update",
"description": "Update service by UUID.",
"operationId": "update-service-by-uuid",
"requestBody": {
"description": "Service updated.",
"required": true,
"content": {
"application\/json": {
"schema": {
"required": [
"server_uuid",
"project_uuid",
"environment_name",
"environment_uuid",
"docker_compose_raw"
],
"properties": {
"name": {
"type": "string",
"description": "The service name."
},
"description": {
"type": "string",
"description": "The service description."
},
"project_uuid": {
"type": "string",
"description": "The project UUID."
},
"environment_name": {
"type": "string",
"description": "The environment name."
},
"environment_uuid": {
"type": "string",
"description": "The environment UUID."
},
"server_uuid": {
"type": "string",
"description": "The server UUID."
},
"destination_uuid": {
"type": "string",
"description": "The destination UUID."
},
"instant_deploy": {
"type": "boolean",
"description": "The flag to indicate if the service should be deployed instantly."
},
"connect_to_docker_network": {
"type": "boolean",
"default": false,
"description": "Connect the service to the predefined docker network."
},
"docker_compose_raw": {
"type": "string",
"description": "The Docker Compose raw content."
}
},
"type": "object"
}
}
}
},
"responses": {
"200": {
"description": "Service updated.",
"content": {
"application\/json": {
"schema": {
"properties": {
"uuid": {
"type": "string",
"description": "Service UUID."
},
"domains": {
"type": "array",
"items": {
"type": "string"
},
"description": "Service domains."
}
},
"type": "object"
}
}
}
},
"401": {
"$ref": "#\/components\/responses\/401"
},
"400": {
"$ref": "#\/components\/responses\/400"
},
"404": {
"$ref": "#\/components\/responses\/404"
}
},
"security": [
{
"bearerAuth": []
}
]
}
},
"\/services\/{uuid}\/envs": {