...
1extend type Query {
2 """
3 HelmChartVersion gets helm chart versions from helm url for the secret passed in. Will return a list of the installable versions of the provided helm repository and chart.
4 """
5 helmChartVersion(
6 """
7 Name of the helm workload to get versions for.
8 """
9 name: String!
10 """
11 Helm repository secret to use to get helm chart information
12 """
13 secretName: String!
14 """
15 Banner id for the helm repository
16 """
17 bannerEdgeId: String! @hasBannerAccess(field: "bannerEdgeId")
18 ): HelmChartResponse
19 @hasRole(
20 roles: [
21 EDGE_ORG_ADMIN
22 EDGE_BANNER_ADMIN
23 EDGE_BANNER_OPERATOR
24 EDGE_BANNER_VIEWER
25 ]
26 )
27
28 """
29 DefaultSchemaConfig gets default schema config file using helm secret's helmUrl for secret name param. This schema config is used to validate helm config values.
30 """
31 defaultSchemaConfig(params: helmConfigSchemaParams!): HelmConfig
32 @hasRole(
33 roles: [
34 EDGE_ORG_ADMIN
35 EDGE_BANNER_ADMIN
36 EDGE_BANNER_OPERATOR
37 EDGE_BANNER_VIEWER
38 ]
39 )
40
41 """
42 HelmReleases is deprecated, use helmWorkloads api and helmReleasesStatus api instead.
43 HelmReleases gets helm release resources from kubernetes.
44 """
45 helmReleases(
46 clusterEdgeId: String! @hasClusterAccess(field: "clusterEdgeId")
47 ): [HelmRelease]
48 @deprecated(reason: "Use `helmWorkloads` instead.")
49 @hasRole(
50 roles: [
51 EDGE_ORG_ADMIN
52 EDGE_BANNER_ADMIN
53 EDGE_BANNER_OPERATOR
54 EDGE_BANNER_VIEWER
55 ]
56 )
57
58 """
59 HelmReleasesStatus gets helm release resources status from kubernetes. This API is separate from the helmWorkloads API due to the additional time getting status of clusters currently takes. An upcomming enhancement will reduce the delay and we will combine the APIs
60 """
61 helmReleasesStatus(
62 clusterEdgeId: String! @hasClusterAccess(field: "clusterEdgeId")
63 ): [HelmReleaseStatus]
64 @hasRole(
65 roles: [
66 EDGE_ORG_ADMIN
67 EDGE_BANNER_ADMIN
68 EDGE_BANNER_OPERATOR
69 EDGE_BANNER_VIEWER
70 ]
71 )
72
73 """
74 HelmWorkloads gets helm workloads deployed to a cluster. Currently does not include status info.
75 """
76 helmWorkloads(
77 """
78 The clusterEdgeId to retrieve deployed workloads.
79 """
80 clusterEdgeId: String @hasClusterAccess(field: "clusterEdgeId")
81 """
82 The bannerEdgeId to retrieve workloads for.
83 """
84 bannerEdgeId: String @hasBannerAccess(field: "bannerEdgeId")
85 ): [HelmWorkload]
86 @hasRole(
87 roles: [
88 EDGE_BANNER_VIEWER
89 EDGE_ORG_ADMIN
90 EDGE_BANNER_ADMIN
91 EDGE_BANNER_OPERATOR
92 ]
93 )
94
95 """
96 HelmWorkload gets a single helm workload deployed to a cluster.
97 """
98 helmWorkload(
99 """
100 The helmEdgeId of the workload.
101 """
102 helmEdgeId: String! @hasHelmWorkloadAccess(field: "helmEdgeId")
103 """
104 The clusterEdgeId to retrieve deployed workload.
105 """
106 clusterEdgeId: String! @hasClusterAccess(field: "clusterEdgeId")
107 ): HelmWorkload
108 @hasRole(
109 roles: [
110 EDGE_BANNER_VIEWER
111 EDGE_ORG_ADMIN
112 EDGE_BANNER_ADMIN
113 EDGE_BANNER_OPERATOR
114 ]
115 )
116
117 """
118 HelmCharts get the helm chart from helm url in helm repository secret
119 """
120 helmCharts(
121 """
122 Secret for helm repository.
123 """
124 secretName: String!
125 """
126 Banner helm repository is located in.
127 """
128 bannerEdgeId: String! @hasBannerAccess(field: "bannerEdgeId")
129 ): [HelmChart!]
130 @hasRole(
131 roles: [
132 EDGE_ORG_ADMIN
133 EDGE_BANNER_ADMIN
134 EDGE_BANNER_OPERATOR
135 EDGE_BANNER_VIEWER
136 ]
137 )
138
139 """
140 HelmRepositories gets helmrepositories resources from kubernetes.
141 """
142 helmRepositories(
143 """
144 Banner to get helmRepositories for.
145 """
146 bannerEdgeId: String! @hasBannerAccess(field: "bannerEdgeId")
147 ): [HelmRepository]
148 @hasRole(
149 roles: [
150 EDGE_BANNER_VIEWER
151 EDGE_ORG_ADMIN
152 EDGE_BANNER_ADMIN
153 EDGE_BANNER_OPERATOR
154 ]
155 )
156
157 """
158 GetHelmRepositoryInfo gets the Readme.md file using helm secret's helmUrl for secret name param.
159 """
160 helmRepositoryInfo(params: helmConfigSchemaParams!): HelmRepositoryInfo
161 @hasRole(
162 roles: [
163 EDGE_ORG_ADMIN
164 EDGE_BANNER_ADMIN
165 EDGE_BANNER_OPERATOR
166 EDGE_BANNER_VIEWER
167 ]
168 )
169}
170
171extend type Mutation {
172 """
173 CreateHelmRelease creates helmreleases resources in kubernetes.
174 """
175 createHelmRelease(payload: helmReleasePayload!): Boolean!
176 @hasRole(roles: [EDGE_ORG_ADMIN, EDGE_BANNER_ADMIN, EDGE_BANNER_OPERATOR])
177
178 """
179 DeleteHelmRelease deletes helmreleases resources from kubernetes.
180 """
181 deleteHelmRelease(
182 """
183 Edge id of the workload that is to be deleted
184 """
185 helmEdgeId: String @hasHelmWorkloadAccess(field: "helmEdgeId")
186 """
187 Name of the helm workload to delete
188 """
189 name: String @deprecated(reason: "Use helmEdgeId")
190 """
191 Cluster id of the workload that is to be deleted
192 """
193 clusterEdgeId: String @hasClusterAccess(field: "clusterEdgeId") @deprecated(reason: "Use helmEdgeId")
194 ): Boolean!
195 @hasRole(roles: [EDGE_ORG_ADMIN, EDGE_BANNER_ADMIN, EDGE_BANNER_OPERATOR])
196
197 """
198 Deprecated use createHelmRepository API
199 CreateOrUpdateBannerHelmRepository creates a helm repository in the provided banner.
200 """
201 createOrUpdateBannerHelmRepository(
202 """
203 Name of the helm reporsitry getting created or updated
204 """
205 name: String!
206 """
207 Banner where the helm repository is created.
208 """
209 bannerEdgeId: String! @hasBannerAccess(field: "bannerEdgeId")
210 """
211 URL where the helm repository is located.
212 """
213 url: String!
214 """
215 Secret used to store repository information
216 """
217 secret: String
218 ): Boolean!
219 @hasRole(roles: [EDGE_ORG_ADMIN, EDGE_BANNER_ADMIN, EDGE_BANNER_OPERATOR])
220
221 """
222 API to create helm repository for a banner.
223 """
224 createHelmRepository(
225 """
226 Name of the helm reporsitry getting created or updated
227 """
228 name: String!
229 """
230 Banner where the helm repository is created.
231 """
232 bannerEdgeId: String! @hasBannerAccess(field: "bannerEdgeId")
233 """
234 URL where the helm repository is located.
235 """
236 url: String!
237 """
238 Optional username for private helm repository. If username or password is provided both need to be provided.
239 """
240 username: String
241 """
242 Optional password for private helm repository. If username or password is provided both need to be provided.
243 """
244 password: String
245 ): Boolean!
246 @hasRole(roles: [EDGE_ORG_ADMIN, EDGE_BANNER_ADMIN, EDGE_BANNER_OPERATOR])
247
248 """
249 DeleteHelmRepository remove helm repository resource from the provided banner. Use with caution as this may break deployed helm releases.
250 """
251 deleteHelmRepository(
252 """
253 Name of the helm repository to delete
254 """
255 name: String!
256 """
257 Banner to delete the helm reporsitory from
258 """
259 bannerEdgeId: String! @hasBannerAccess(field: "bannerEdgeId")
260 ): Boolean!
261 @hasRole(roles: [EDGE_ORG_ADMIN, EDGE_BANNER_ADMIN, EDGE_BANNER_OPERATOR])
262
263 """
264 Deprecated. Please use deleteHelmRepository instead.
265 DeleteBannerHelmRepository remove helm repository resource from the provided banner. Use with caution as this may break deployed helm releases.
266 """
267 deleteBannerHelmRepository(
268 """
269 Name of the helm repository to delete
270 """
271 name: String!
272 """
273 Banner to delete the helm reporsitory from
274 """
275 bannerEdgeId: String! @hasBannerAccess(field: "bannerEdgeId")
276 ): Boolean!
277 @hasRole(roles: [EDGE_ORG_ADMIN, EDGE_BANNER_ADMIN, EDGE_BANNER_OPERATOR])
278
279 """
280 UpdateHelmRelease updates a helm release with a desired version
281 """
282 updateHelmRelease(
283 helmEdgeId: String @hasHelmWorkloadAccess(field: "helmEdgeId"),
284 """
285 Name of the helm workload to update
286 """
287 helmReleaseName: String @deprecated(reason: "Use helmEdgeId"),
288 """
289 Cluster to update the helm chart on.
290 """
291 clusterEdgeId: String @hasClusterAccess(field: "clusterEdgeId") @deprecated(reason: "Use helmEdgeId"),
292 """
293 Version to update the helm chart to. If not provided the version will remain the same.
294 """
295 version: String,
296 """
297 Updated helm configuration values. If not provided the current values will be used.
298 """
299 configValues: String,
300 """
301 Configmaps to inject to workload namespace. If not provided the current values will be used.
302 """
303 injectConfigmaps: [InjectableConfigmaps!]
304 """
305 Helm repository secret to use to get helm chart information
306 """
307 secrets: [String!]
308 labelEdgeIds: [String!]) : Boolean! @hasRole(roles: [EDGE_ORG_ADMIN, EDGE_BANNER_ADMIN, EDGE_BANNER_OPERATOR])
309 """
310 ValidateHelmConfig validates a helm config yaml of helm release using the chart's json validation schema.
311 """
312 validateHelmConfig(payload: validateHelmConfigParams!) : Boolean! @hasRole(roles: [EDGE_ORG_ADMIN, EDGE_BANNER_ADMIN, EDGE_BANNER_OPERATOR])
313
314 """
315 addWorkloadLabel add a new mapping of label to workload
316 """
317 addWorkloadLabel(workloadLabelParameters: WorkloadLabelInput! @hasLabelAccess(field: "labelEdgeId")): Boolean!
318 @hasRole(roles: [EDGE_ORG_ADMIN, EDGE_BANNER_ADMIN, EDGE_BANNER_OPERATOR])
319
320 """
321 addWorkloadLabels add a list of labels to workload
322 """
323 addWorkloadLabels(
324 helmEdgeId: String! @hasHelmWorkloadAccess(field: "helmEdgeId")
325 labelEdgeIds: [String!]! @hasLabelAccess(field: "labelEdgeId")
326 ): Boolean!
327 @hasRole(roles: [EDGE_ORG_ADMIN, EDGE_BANNER_ADMIN, EDGE_BANNER_OPERATOR])
328
329 """
330 deleteWorkloadLabel deletes a workload label mapping by either helmEdgeID, LabelEdgeID or both
331 """
332 deleteWorkloadLabel(
333 workloadLabelParameters: WorkloadLabelInput! @hasLabelAccess(field: "labelEdgeId")
334 ): Boolean!
335 @hasRole(roles: [EDGE_ORG_ADMIN, EDGE_BANNER_ADMIN, EDGE_BANNER_OPERATOR])
336}
View as plain text