forked from devtron-labs/devtron
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgitops-validation.yaml
172 lines (171 loc) · 5.03 KB
/
gitops-validation.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
openapi: "3.0.0"
info:
version: 1.0.0
title: GitOps Validation
servers:
- url: http://localhost:3000/orchestrator/gitops
paths:
/validate:
post:
description: Validate gitops configuration by dry run
operationId: GitOpsValidateDryRun
requestBody:
description: A JSON object containing the gitops configuration
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GitOpsConfigDto'
responses:
'200':
description: Successfully return all validation stages results
content:
application/json:
schema:
$ref: '#/components/schemas/DetailedError'
'400':
description: Bad Request. Input Validation error/wrong request body.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Unauthorized User
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/config:
post:
description: create/save new configuration and validate them before saving
operationId: CreateGitOpsConfig
requestBody:
description: A JSON object containing the gitops configuration
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GitOpsConfigDto'
responses:
'200':
description: Successfully return all validation stages results and if validation is correct then saves the configuration in the backend
content:
application/json:
schema:
$ref: '#/components/schemas/DetailedError'
'400':
description: Bad Request. Input Validation error/wrong request body.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Unauthorized User
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
put:
description: update configuration and validate them before saving(if last validation is within 30 seconds then do not validate)
operationId: UpdateGitOpsConfig
requestBody:
description: A JSON object containing the gitops configuration
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/GitOpsConfigDto'
responses:
'200':
description: Successfully return all validation stages results and if validation is correct then updates the configuration in the backend
content:
application/json:
schema:
$ref: '#/components/schemas/DetailedError'
'400':
description: Bad Request. Input Validation error/wrong request body.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Unauthorized User
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
components:
schemas:
GitOpsConfigDto:
type: object
properties:
id:
type: integer
provider:
type: string
username:
type: string
token:
type: string
gitLabGroupId:
type: string
gitHubOrgId:
type: string
host:
type: string
active:
type: boolean
azureProjectName:
type: string
userId:
type: integer
DetailedError:
type: object
properties:
successfulStages:
type: array
items:
type: string
description: All successful stages
validatedOn:
type: string
description: Timestamp of validation
stageErrorMap:
type: array
items:
type: object
properties:
stage:
type: string
error:
type: string
description: map of stage and their respective errors
Error:
required:
- code
- message
properties:
code:
type: integer
description: Error code
message:
type: string
description: Error message