Skip to content

Commit c78d47e

Browse files
committed
pp
1 parent 7704db2 commit c78d47e

File tree

2 files changed

+422
-66
lines changed

2 files changed

+422
-66
lines changed

specs/application.yaml

Lines changed: 160 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,104 +1,217 @@
1-
openapi: "3.0.0"
1+
openapi: 3.0.3
22
info:
33
version: 1.0.0
4-
title: Devtron Labs
5-
description: Devtron API for application management
4+
title: Devtron Application Management API
5+
description: |
6+
This API provides functionality for managing applications in Devtron, including
7+
creating, updating, and listing applications, as well as managing application
8+
configurations, environments, and deployments.
69
termsOfService: https://devtron.ai/terms/
710
contact:
8-
name: Devtron Labs
11+
name: Devtron Support
912
10-
url: https://devtron.ai
13+
url: https://devtron.ai/support
1114
license:
1215
name: Apache 2.0
1316
url: https://www.apache.org/licenses/LICENSE-2.0.html
17+
1418
servers:
15-
- url: http://localhost:8080/orchestrator
19+
- url: /orchestrator
20+
description: Devtron Orchestrator API Server
21+
22+
tags:
23+
- name: Applications
24+
description: Operations related to application management
25+
- name: Environments
26+
description: Operations related to application environments
27+
- name: Deployments
28+
description: Operations related to application deployments
29+
1630
paths:
1731
/core/v1beta1/application:
1832
post:
19-
description: create new application
33+
tags:
34+
- Applications
35+
summary: Create a new application
36+
description: Creates a new application in the Devtron system with the provided configuration.
37+
operationId: createApplication
2038
requestBody:
21-
description: json as request body
39+
description: Application creation request
2240
required: true
2341
content:
2442
application/json:
2543
schema:
2644
$ref: '#/components/schemas/CreateAppRequest'
2745
responses:
2846
'200':
29-
description: App create response
47+
description: Application created successfully
3048
content:
3149
application/json:
3250
schema:
33-
properties:
34-
code:
35-
type: integer
36-
description: status code
37-
status:
38-
type: string
39-
description: status
40-
result:
41-
type: string
42-
description: success message
43-
default:
44-
description: unexpected error
51+
$ref: '#/components/schemas/ApiResponse'
52+
'400':
53+
description: Invalid request format or missing required fields
54+
content:
55+
application/json:
56+
schema:
57+
$ref: '#/components/schemas/ErrorResponse'
58+
'401':
59+
description: Unauthorized
60+
content:
61+
application/json:
62+
schema:
63+
$ref: '#/components/schemas/ErrorResponse'
64+
'409':
65+
description: Application with the same name already exists
66+
content:
67+
application/json:
68+
schema:
69+
$ref: '#/components/schemas/ErrorResponse'
70+
'500':
71+
description: Internal server error
4572
content:
4673
application/json:
4774
schema:
4875
$ref: '#/components/schemas/ErrorResponse'
76+
security:
77+
- bearerAuth: []
78+
4979
/app/edit:
5080
post:
51-
description: update application projects and labels
81+
tags:
82+
- Applications
83+
summary: Update application
84+
description: Updates an existing application's configuration including projects and labels.
85+
operationId: updateApplication
5286
requestBody:
53-
description: json as request body
87+
description: Application update request
5488
required: true
5589
content:
5690
application/json:
5791
schema:
5892
$ref: '#/components/schemas/App'
5993
responses:
6094
'200':
61-
description: App update response
95+
description: Application updated successfully
6296
content:
6397
application/json:
6498
schema:
65-
properties:
66-
code:
67-
type: integer
68-
description: status code
69-
status:
70-
type: string
71-
description: status
72-
result:
73-
type: object
74-
description: string
75-
allOf:
76-
- type: object
77-
properties:
78-
id:
79-
type: integer
80-
description: unique application id
81-
required:
82-
- id
83-
- $ref: '#/components/schemas/App'
84-
default:
85-
description: unexpected error
99+
$ref: '#/components/schemas/ApiResponse'
100+
'400':
101+
description: Invalid request format or missing required fields
86102
content:
87103
application/json:
88104
schema:
89105
$ref: '#/components/schemas/ErrorResponse'
106+
'401':
107+
description: Unauthorized
108+
content:
109+
application/json:
110+
schema:
111+
$ref: '#/components/schemas/ErrorResponse'
112+
'404':
113+
description: Application not found
114+
content:
115+
application/json:
116+
schema:
117+
$ref: '#/components/schemas/ErrorResponse'
118+
'500':
119+
description: Internal server error
120+
content:
121+
application/json:
122+
schema:
123+
$ref: '#/components/schemas/ErrorResponse'
124+
security:
125+
- bearerAuth: []
90126

91127
/app/list:
92128
post:
93-
description: app listing, collection of deployed applications or undeployed or incomplete configured apps.
129+
tags:
130+
- Applications
131+
summary: List applications
132+
description: |
133+
Retrieves a paginated list of applications based on the provided filters.
134+
Can return deployed applications, undeployed applications, or applications with incomplete configurations.
135+
operationId: listApplications
94136
requestBody:
95-
description: json as request body
137+
description: Application listing filters
96138
required: true
97139
content:
98140
application/json:
99141
schema:
100142
$ref: '#/components/schemas/AppListingRequest'
101143
responses:
144+
'200':
145+
description: List of applications retrieved successfully
146+
content:
147+
application/json:
148+
schema:
149+
$ref: '#/components/schemas/AppListResponse'
150+
'400':
151+
description: Invalid request parameters
152+
content:
153+
application/json:
154+
schema:
155+
$ref: '#/components/schemas/ErrorResponse'
156+
'401':
157+
description: Unauthorized
158+
content:
159+
application/json:
160+
schema:
161+
$ref: '#/components/schemas/ErrorResponse'
162+
'500':
163+
description: Internal server error
164+
content:
165+
application/json:
166+
schema:
167+
$ref: '#/components/schemas/ErrorResponse'
168+
security:
169+
- bearerAuth: []
170+
171+
/app/details/{appId}:
172+
get:
173+
tags:
174+
- Applications
175+
summary: Get application details
176+
description: Retrieves detailed information about a specific application including its configurations and status.
177+
operationId: getApplicationDetails
178+
parameters:
179+
- name: appId
180+
in: path
181+
description: ID of the application to retrieve
182+
required: true
183+
schema:
184+
type: integer
185+
format: int64
186+
minimum: 1
187+
example: 12345
188+
responses:
189+
'200':
190+
description: Application details retrieved successfully
191+
content:
192+
application/json:
193+
schema:
194+
$ref: '#/components/schemas/AppDetails'
195+
'401':
196+
description: Unauthorized
197+
content:
198+
application/json:
199+
schema:
200+
$ref: '#/components/schemas/ErrorResponse'
201+
'404':
202+
description: Application not found
203+
content:
204+
application/json:
205+
schema:
206+
$ref: '#/components/schemas/ErrorResponse'
207+
'500':
208+
description: Internal server error
209+
content:
210+
application/json:
211+
schema:
212+
$ref: '#/components/schemas/ErrorResponse'
213+
security:
214+
- bearerAuth: []
102215
'200':
103216
description: App create response
104217
content:

0 commit comments

Comments
 (0)