-
Notifications
You must be signed in to change notification settings - Fork 566
Expand file tree
/
Copy pathgitops-validation.yaml
More file actions
186 lines (185 loc) · 5.49 KB
/
gitops-validation.yaml
File metadata and controls
186 lines (185 loc) · 5.49 KB
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
173
174
175
176
177
178
179
180
181
182
183
184
185
186
openapi: "3.0.0"
info:
version: 1.0.0
title: GitOps Validation
servers:
- url: https://api.yourdomain.com
paths:
/validate:
post:
description: Validate gitops configuration by dry run
summary: Validate gitops configuration by dry run
security:
- ApiKeyAuth: []
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
summary: create/save new configuration and validate them before saving
security:
- ApiKeyAuth: []
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)
summary: update configuration and validate them before saving(if last validation is within 30 seconds then do not validate)
operationId: UpdateGitOpsConfig
security:
- ApiKeyAuth: []
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:
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: Authorization
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