Skip to content

Commit ade7758

Browse files
author
root
committed
fix image pull, improve server connection, add server cron
1 parent a1c5df0 commit ade7758

58 files changed

Lines changed: 6972 additions & 1317 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

backend/docs/openapi/api.yaml

Lines changed: 235 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6956,6 +6956,115 @@ paths:
69566956
summary: Get Compose metadata
69576957
tags:
69586958
- Docker
6959+
/api/servers/{serverId}/docker/compose/ps:
6960+
get:
6961+
description: Returns docker compose ps output in JSON format for the specified project. Superuser only.
6962+
operationId: get_api_servers_serverid_docker_compose_ps
6963+
parameters:
6964+
- description: server ID
6965+
in: path
6966+
name: serverId
6967+
required: true
6968+
schema:
6969+
type: string
6970+
- description: absolute path to the compose project
6971+
in: query
6972+
name: projectDir
6973+
required: true
6974+
schema:
6975+
type: string
6976+
- description: compose project name
6977+
in: query
6978+
name: projectName
6979+
required: false
6980+
schema:
6981+
type: string
6982+
responses:
6983+
"200":
6984+
content:
6985+
application/json:
6986+
schema:
6987+
additionalProperties: true
6988+
type: object
6989+
description: OK
6990+
"400":
6991+
content:
6992+
application/json:
6993+
schema:
6994+
additionalProperties: true
6995+
type: object
6996+
description: Bad Request
6997+
"401":
6998+
content:
6999+
application/json:
7000+
schema:
7001+
additionalProperties: true
7002+
type: object
7003+
description: Unauthorized
7004+
"500":
7005+
content:
7006+
application/json:
7007+
schema:
7008+
additionalProperties: true
7009+
type: object
7010+
description: Internal Server Error
7011+
security:
7012+
- bearerAuth: []
7013+
summary: Get Compose ps
7014+
tags:
7015+
- Docker
7016+
/api/servers/{serverId}/docker/compose/pull:
7017+
post:
7018+
description: Runs `docker compose pull` in the given project directory. Writes audit entry. Superuser only.
7019+
operationId: post_api_servers_serverid_docker_compose_pull
7020+
parameters:
7021+
- description: server ID
7022+
in: path
7023+
name: serverId
7024+
required: true
7025+
schema:
7026+
type: string
7027+
requestBody:
7028+
content:
7029+
application/json:
7030+
schema:
7031+
$ref: '#/components/schemas/GenericRequest'
7032+
description: projectDir
7033+
required: true
7034+
responses:
7035+
"200":
7036+
content:
7037+
application/json:
7038+
schema:
7039+
additionalProperties: true
7040+
type: object
7041+
description: OK
7042+
"400":
7043+
content:
7044+
application/json:
7045+
schema:
7046+
additionalProperties: true
7047+
type: object
7048+
description: Bad Request
7049+
"401":
7050+
content:
7051+
application/json:
7052+
schema:
7053+
additionalProperties: true
7054+
type: object
7055+
description: Unauthorized
7056+
"500":
7057+
content:
7058+
application/json:
7059+
schema:
7060+
additionalProperties: true
7061+
type: object
7062+
description: Internal Server Error
7063+
security:
7064+
- bearerAuth: []
7065+
summary: Pull Compose images
7066+
tags:
7067+
- Docker
69597068
/api/servers/{serverId}/docker/compose/restart:
69607069
post:
69617070
description: Runs `docker compose restart` in the given project directory. Writes audit entry. Superuser only.
@@ -7686,6 +7795,114 @@ paths:
76867795
summary: Run arbitrary Docker command
76877796
tags:
76887797
- Docker
7798+
/api/servers/{serverId}/docker/image-pull-operations:
7799+
get:
7800+
description: Returns recent image pull operations for the specified server, with optional status filtering. Superuser only.
7801+
operationId: get_api_servers_serverid_docker_image-pull-operations
7802+
parameters:
7803+
- description: server ID
7804+
in: path
7805+
name: serverId
7806+
required: true
7807+
schema:
7808+
type: string
7809+
- description: max items (default 20, max 50)
7810+
in: query
7811+
name: limit
7812+
required: false
7813+
schema:
7814+
type: integer
7815+
- description: in_progress|completed|failed|all (default in_progress)
7816+
in: query
7817+
name: status
7818+
required: false
7819+
schema:
7820+
type: string
7821+
responses:
7822+
"200":
7823+
content:
7824+
application/json:
7825+
schema:
7826+
additionalProperties: true
7827+
type: object
7828+
description: OK
7829+
"400":
7830+
content:
7831+
application/json:
7832+
schema:
7833+
additionalProperties: true
7834+
type: object
7835+
description: Bad Request
7836+
"401":
7837+
content:
7838+
application/json:
7839+
schema:
7840+
additionalProperties: true
7841+
type: object
7842+
description: Unauthorized
7843+
"500":
7844+
content:
7845+
application/json:
7846+
schema:
7847+
additionalProperties: true
7848+
type: object
7849+
description: Internal Server Error
7850+
security:
7851+
- bearerAuth: []
7852+
summary: List Docker image pull operations
7853+
tags:
7854+
- Docker
7855+
/api/servers/{serverId}/docker/image-pull-operations/{operationId}:
7856+
get:
7857+
description: Returns the current status, logs, and terminal state for a previously accepted image pull operation. Superuser only.
7858+
operationId: get_api_servers_serverid_docker_image-pull-operations_operationid
7859+
parameters:
7860+
- description: server ID
7861+
in: path
7862+
name: serverId
7863+
required: true
7864+
schema:
7865+
type: string
7866+
- description: pull operation ID
7867+
in: path
7868+
name: operationId
7869+
required: true
7870+
schema:
7871+
type: string
7872+
responses:
7873+
"200":
7874+
content:
7875+
application/json:
7876+
schema:
7877+
additionalProperties: true
7878+
type: object
7879+
description: OK
7880+
"400":
7881+
content:
7882+
application/json:
7883+
schema:
7884+
additionalProperties: true
7885+
type: object
7886+
description: Bad Request
7887+
"401":
7888+
content:
7889+
application/json:
7890+
schema:
7891+
additionalProperties: true
7892+
type: object
7893+
description: Unauthorized
7894+
"404":
7895+
content:
7896+
application/json:
7897+
schema:
7898+
additionalProperties: true
7899+
type: object
7900+
description: Not Found
7901+
security:
7902+
- bearerAuth: []
7903+
summary: Get Docker image pull operation
7904+
tags:
7905+
- Docker
76897906
/api/servers/{serverId}/docker/images:
76907907
get:
76917908
description: Returns all local images on the specified server. Superuser only.
@@ -7886,7 +8103,7 @@ paths:
78868103
- Docker
78878104
/api/servers/{serverId}/docker/images/pull:
78888105
post:
7889-
description: Pulls the specified image from the registry. Superuser only.
8106+
description: Accepts a background image pull operation for the specified image and returns an operation ID for polling. Superuser only.
78908107
operationId: post_api_servers_serverid_docker_images_pull
78918108
parameters:
78928109
- description: server ID
@@ -7903,13 +8120,12 @@ paths:
79038120
description: 'name: image name/tag'
79048121
required: true
79058122
responses:
7906-
"200":
8123+
"202":
79078124
content:
79088125
application/json:
79098126
schema:
7910-
additionalProperties: true
7911-
type: object
7912-
description: OK
8127+
$ref: '#/components/schemas/SuccessEnvelope'
8128+
description: Accepted
79138129
"400":
79148130
content:
79158131
application/json:
@@ -7924,13 +8140,27 @@ paths:
79248140
additionalProperties: true
79258141
type: object
79268142
description: Unauthorized
8143+
"404":
8144+
content:
8145+
application/json:
8146+
schema:
8147+
additionalProperties: true
8148+
type: object
8149+
description: Not Found
79278150
"500":
79288151
content:
79298152
application/json:
79308153
schema:
79318154
additionalProperties: true
79328155
type: object
79338156
description: Internal Server Error
8157+
"503":
8158+
content:
8159+
application/json:
8160+
schema:
8161+
additionalProperties: true
8162+
type: object
8163+
description: Service Unavailable
79348164
security:
79358165
- bearerAuth: []
79368166
summary: Pull Docker image

0 commit comments

Comments
 (0)