1+ openapi : 3.1.0 
2+ info :
3+   title : Title 
4+   description : Title 
5+   version : 1.0.0 
6+ servers :
7+   - url : http://localhost:8080/orchestrator 
8+     description : Devtron API Server 
9+ paths :
10+   /k8s/resource/recommended :
11+     post :
12+       summary : Get Resource Recommendation for a particular resource 
13+       description : This API will fetch resource recommendations for a specific Kubernetes resource 
14+       operationId : GetResourceRecommendation 
15+       security : [ ] 
16+       requestBody :
17+         description : A JSON object containing the details required to fetch cluster resource recommendations 
18+         required : true 
19+         content :
20+           application/json :
21+             schema :
22+               $ref : ' #/components/schemas/ResourceRequestObject' 
23+       responses :
24+         ' 200 ' 
25+           description : Resource recommendation response 
26+           content :
27+             application/json :
28+               schema :
29+                 $ref : ' #/components/schemas/ResourceGetResponse' 
30+   /k8s/resource/recommendation/sync :
31+     post :
32+       summary : Sync Cluster Resource Recommendations 
33+       description : This API will be used to sync resource recommendations for a cluster 
34+       operationId : SyncClusterResourceRecommendations 
35+       security : [ ] 
36+       requestBody :
37+         description : A JSON object containing the details required to sync cluster resource recommendations 
38+         required : true 
39+         content :
40+           application/json :
41+             schema :
42+               $ref : ' #/components/schemas/SyncResourceRecommendation' 
43+       responses :
44+         ' 200 ' 
45+           description : Cluster resource recommendation sync response 
46+           content :
47+             application/json :
48+               schema :
49+                 type : string 
50+                 description : A message indicating the sync status 
51+       tags :
52+         - Resource Recommendation 
53+   /k8s/resource/{clusterId}/recommendation/details :
54+     get :
55+       summary : Get Cluster Resource Recommendation Details 
56+       description : This API will fetch resource recommendations metadata for a cluster 
57+       operationId : GetClusterResourceRecommendationDetails 
58+       security : [ ] 
59+       parameters :
60+         - name : clusterId 
61+           in : path 
62+           required : true 
63+           description : ID of the target cluster 
64+           schema :
65+               type : number 
66+       responses :
67+         ' 200 ' 
68+           description : Cluster resource recommendation details response 
69+           content :
70+             application/json :
71+               schema :
72+                   $ref : ' #/components/schemas/ResourceRecommendationDetails' 
73+       tags :
74+           - Resource Recommendation 
75+   /k8s/resource/recommendation/list :
76+     post :
77+       summary : Get Cluster Resource Recommendation List 
78+       description : This API will be used for fetching all workloads and their resource recommendations 
79+       operationId : GetClusterResourceRecommendationList 
80+       security : [ ] 
81+       requestBody :
82+         description : A JSON object containing the details required to fetch cluster resource recommendations 
83+         required : true 
84+         content :
85+           application/json :
86+             schema :
87+               $ref : ' #/components/schemas/ResourceRequestObject' 
88+       responses :
89+         ' 200 ' 
90+           description : Cluster resource recommendation list response 
91+           content :
92+             application/json :
93+               schema :
94+                 $ref : ' #/components/schemas/ClusterResourceRecommendationList' 
95+       tags :
96+         - Resource Recommendation 
97+ 
98+ components :
99+   schemas :
100+     ManifestResponse :
101+       type : object 
102+       required :
103+         - manifest 
104+       properties :
105+         recommendedManifest :
106+           description : Recommended manifest for the resource 
107+           $ref : ' #/components/schemas/K8sManifest' 
108+         manifest :
109+           description : Current manifest for the resource 
110+           $ref : ' #/components/schemas/K8sManifest' 
111+     SyncResourceRecommendation :
112+       type : object 
113+       description : Request object for syncing resource recommendations for a cluster 
114+       required :
115+           - clusterId 
116+       properties :
117+           clusterId :
118+             type : number 
119+             description : ID of the target cluster 
120+     ResourceRecommendationDetails :
121+       type : object 
122+       description : Details of resource recommendations for a cluster 
123+       required :
124+         - supportedGVKs 
125+       properties :
126+         supportedGVKs :
127+           type : array 
128+           description : List of supported workload Group, Version, and Kind (GVK) for resource recommendations 
129+           items :
130+             $ref : ' #/components/schemas/GroupVersionKind' 
131+         lastScannedOn :
132+           type : string 
133+           format : date-time 
134+           description : Timestamp of the last scan for resource recommendations 
135+     ResourceRequestObject :
136+       type : object 
137+       required :
138+         - clusterId 
139+       properties :
140+         clusterId :
141+           type : number 
142+           description : id of the target cluster 
143+         k8sRequest :
144+           $ref : ' #/components/schemas/K8sRequestObject' 
145+     K8sRequestObject :
146+       type : object 
147+       description : Kubernetes request object containing resource identifiers for filtering 
148+       properties :
149+         resourceIdentifier :
150+           type : object 
151+           description : Resource identifier filter for the Kubernetes resource 
152+           allOf :
153+             - $ref : ' #/components/schemas/GroupVersionKind' 
154+           properties :
155+             namespace :
156+               type : string 
157+               description : Namespace of the Kubernetes resource for filtering 
158+     GroupVersionKind :
159+       type : object 
160+       description : Group, Version, and Kind of the Kubernetes resource 
161+       properties :
162+         group :
163+           type : string 
164+           description : Group of the Kubernetes resource 
165+         version :
166+           type : string 
167+           description : Version of the Kubernetes resource 
168+         kind :
169+           type : string 
170+           description : Kind of the Kubernetes resource 
171+     ClusterResourceRecommendationList :
172+       type : object 
173+       properties :
174+         headers :
175+           type : array 
176+           items :
177+             type : string 
178+             enum :
179+               - name 
180+               - namespace 
181+               - kind 
182+               - apiVersion 
183+               - containerName 
184+               - cpuRequest 
185+               - cpuLimit 
186+               - memoryRequest 
187+               - memoryLimit 
188+         data :
189+           type : array 
190+           items :
191+             type : object 
192+             properties :
193+               name :
194+                 type : string 
195+                 description : name of the workload resource 
196+               namespace :
197+                 type : string 
198+                 description : namespace of the workload resource 
199+               kind :
200+                 type : string 
201+                 description : kind of the workload resource 
202+               apiVersion :
203+                 type : string 
204+                 description : apiVersion of the workload resource 
205+               containerName :
206+                 type : string 
207+                 description : name of the container in the workload resource 
208+               cpuRequest :
209+                 $ref : ' #/components/schemas/ResourceRecommendation' 
210+               cpuLimit :
211+                 $ref : ' #/components/schemas/ResourceRecommendation' 
212+               memoryRequest :
213+                 $ref : ' #/components/schemas/ResourceRecommendation' 
214+               memoryLimit :
215+                 $ref : ' #/components/schemas/ResourceRecommendation' 
216+     ResourceRecommendation :
217+       type : object 
218+       description : Resource recommendation details for a workload 
219+       required :
220+         - current 
221+       properties :
222+         delta :
223+           type : number 
224+           format : float64 
225+           description : percentage of change in resource recommendation 
226+         current :
227+           type : string 
228+           description : current value of the resource recommendation 
229+         recommended :
230+           type : string 
231+           description : recommended value of the resource recommendation 
232+     ResourceGetResponse :
233+       type : object 
234+       properties :
235+         manifestResponse :
236+           $ref : ' #/components/schemas/ManifestResponse' 
237+         secretViewAccess :
238+           type : boolean 
239+           description : Indicates whether a user can see obscured secret values or not. 
240+       required :
241+         - manifestResponse 
242+         - secretViewAccess 
243+     ManifestResponse :
244+       type : object 
245+       required :
246+         - manifest 
247+       properties :
248+         recommendedManifest :
249+           description : Recommended manifest for the resource 
250+           $ref : ' #/components/schemas/K8sManifest' 
251+         manifest :
252+           description : Current manifest for the resource 
253+           $ref : ' #/components/schemas/K8sManifest' 
254+     K8sManifest :
255+       type : object 
256+       description : Kubernetes manifest of the resource 
257+       additionalProperties : true 
0 commit comments