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