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
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: helmreleases.helm.fluxcd.io
spec:
additionalPrinterColumns:
- JSONPath: .status.releaseName
name: Release
type: string
description: ReleaseName is the name of the Helm release managed by the HelmRelease,
as given by Helm.
- JSONPath: .status.phase
name: Phase
type: string
description: Phase is the current release phase being performed for the HelmRelease.
- JSONPath: .status.releaseStatus
name: Status
type: string
description: ReleaseStatus is the status of the Helm release managed by the HelmRelease,
as given by Helm.
- JSONPath: .status.conditions[?(@.type=="Released")].message
name: Message
type: string
- JSONPath: .metadata.creationTimestamp
description: CreationTimestamp is a timestamp representing the server time when
this object was created. It is not guaranteed to be set in happens-before order
across separate operations. Clients may not set this value. It is represented
in RFC3339 form and is in UTC.
name: Age
type: date
group: helm.fluxcd.io
names:
kind: HelmRelease
listKind: HelmReleaseList
plural: helmreleases
shortNames:
- hr
- hrs
singular: helmrelease
scope: Namespaced
subresources:
status: {}
validation:
openAPIV3Schema:
description: HelmRelease is a type to represent a Helm release.
type: object
required:
- metadata
- spec
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
type: object
required:
- chart
properties:
chart:
type: object
properties:
chartPullSecret:
description: ChartPullSecret holds the reference to the authentication
secret for accessing the Helm repository using HTTPS basic auth.
NOT IMPLEMENTED!
type: object
required:
- name
properties:
name:
type: string
git:
description: Git URL is the URL of the Git repository, e.g. `git@github.com:org/repo`,
`http://github.com/org/repo`, or `ssh://git@example.com:2222/org/repo.git`.
type: string
name:
description: Name is the name of the Helm chart _without_ an alias,
e.g. redis (for `helm upgrade [flags] stable/redis`).
type: string
path:
description: Path is the path to the chart relative to the repository
root.
type: string
ref:
description: Ref is the Git branch (or other reference) to use.
Defaults to 'master', or the configured default Git ref.
type: string
repository:
description: RepoURL is the URL of the Helm repository, e.g. `https://kubernetes-charts.storage.googleapis.com`
or `https://charts.example.com`.
type: string
secretRef:
description: SecretRef holds the authentication secret for accessing
the Git repository (over HTTPS). The credentials will be added
to an HTTPS GitURL before the mirror is started.
type: object
required:
- name
properties:
name:
type: string
namespace:
type: string
skipDepUpdate:
description: SkipDepUpdate will tell the operator to skip running
'helm dep update' before installing or upgrading the chart, the
chart dependencies _must_ be present for this to succeed.
type: boolean
version:
description: Version is the targeted Helm chart version, e.g. 7.0.1.
type: string
disableOpenAPIValidation:
description: DisableOpenAPIValidation controls whether OpenAPI validation
is enforced.
type: boolean
forceUpgrade:
description: Force will mark this Helm release to `--force` upgrades.
This forces the resource updates through delete/recreate if needed.
type: boolean
helmVersion:
description: 'HelmVersion is the version of Helm to target. If not supplied,
the lowest _enabled Helm version_ will be targeted. Valid HelmVersion
values are: "v2", "v3"'
type: string
enum:
- v2
- v3
maxHistory:
description: MaxHistory is the maximum amount of revisions to keep for
the Helm release. If not supplied, it defaults to 10.
type: integer
releaseName:
description: ReleaseName is the name of the The Helm release. If not
supplied, it will be generated by affixing the namespace to the resource
name.
type: string
resetValues:
description: ResetValues will mark this Helm release to reset the values
to the defaults of the targeted chart before performing an upgrade.
Not explicitly setting this to `false` equals to `true` due to the
declarative nature of the operator.
type: boolean
rollback:
description: The rollback settings for this Helm release.
type: object
properties:
disableHooks:
description: DisableHooks will mark this Helm release to prevent
hooks from running during the rollback.
type: boolean
enable:
description: Enable will mark this Helm release for rollbacks.
type: boolean
force:
description: Force will mark this Helm release to `--force` rollbacks.
This forces the resource updates through delete/recreate if needed.
type: boolean
maxRetries:
description: MaxRetries is the maximum amount of upgrade retries
the operator should make before bailing.
type: integer
format: int64
recreate:
description: Recreate will mark this Helm release to `--recreate-pods`
for if applicable. This performs pod restarts.
type: boolean
retry:
description: Retry will mark this Helm release for upgrade retries
after a rollback.
type: boolean
timeout:
description: Timeout is the time to wait for any individual Kubernetes
operation (like Jobs for hooks) during rollback.
type: integer
format: int64
wait:
description: Wait will mark this Helm release to wait until all
Pods, PVCs, Services, and minimum number of Pods of a Deployment,
StatefulSet, or ReplicaSet are in a ready state before marking
the release as successful.
type: boolean
skipCRDs:
description: SkipCRDs will mark this Helm release to skip the creation
of CRDs during a Helm 3 installation.
type: boolean
targetNamespace:
description: TargetNamespace overrides the targeted namespace for the
Helm release. The default namespace equals to the namespace of the
HelmRelease resource.
type: string
test:
description: The test settings for this Helm release.
type: object
properties:
cleanup:
description: Cleanup, when targeting Helm 2, determines whether
to delete test pods between each test run initiated by the Helm
Operator.
type: boolean
enable:
description: Enable will mark this Helm release for tests.
type: boolean
ignoreFailures:
description: IgnoreFailures will cause a Helm release to be rolled
back if it fails otherwise it will be left in a released state
type: boolean
timeout:
description: Timeout is the time to wait for any individual Kubernetes
operation (like Jobs for hooks) during test.
type: integer
format: int64
timeout:
description: Timeout is the time to wait for any individual Kubernetes
operation (like Jobs for hooks) during installation and upgrade operations.
type: integer
format: int64
valueFileSecrets:
description: ValueFileSecrets holds the local name references to secrets.
DEPRECATED, use ValuesFrom.secretKeyRef instead.
type: array
items:
type: object
required:
- name
properties:
name:
type: string
values:
description: Values holds the values for this Helm release.
type: object
valuesFrom:
type: array
items:
type: object
properties:
chartFileRef:
description: The reference to a local chart file with release
values.
type: object
required:
- path
properties:
optional:
description: Optional will mark this ChartFileSelector as
optional. The result of this are that operations are permitted
without the source, due to it e.g. being temporarily unavailable.
type: boolean
path:
description: Path is the file path to the source relative
to the chart root.
type: string
configMapKeyRef:
description: The reference to a config map with release values.
type: object
required:
- name
properties:
key:
type: string
name:
type: string
namespace:
type: string
optional:
type: boolean
externalSourceRef:
description: The reference to an external source with release
values.
type: object
required:
- url
properties:
optional:
description: Optional will mark this ExternalSourceSelector
as optional. The result of this are that operations are
permitted without the source, due to it e.g. being temporarily
unavailable.
type: boolean
url:
description: URL is the URL of the external source.
type: string
secretKeyRef:
description: The reference to a secret with release values.
type: object
required:
- name
properties:
key:
type: string
name:
type: string
namespace:
type: string
optional:
type: boolean
wait:
description: Wait will mark this Helm release to wait until all Pods,
PVCs, Services, and minimum number of Pods of a Deployment, StatefulSet,
or ReplicaSet are in a ready state before marking the release as successful.
type: boolean
status:
description: HelmReleaseStatus contains status information about an HelmRelease.
type: object
properties:
conditions:
description: Conditions contains observations of the resource's state,
e.g., has the chart which it refers to been fetched.
type: array
items:
type: object
required:
- status
- type
properties:
lastTransitionTime:
description: LastTransitionTime is the timestamp corresponding
to the last status change of this condition.
type: string
format: date-time
lastUpdateTime:
description: LastUpdateTime is the timestamp corresponding to
the last status update of this condition.
type: string
format: date-time
message:
description: Message is a human readable description of the details
of the last transition, complementing reason.
type: string
reason:
description: Reason is a brief machine readable explanation for
the condition's last transition.
type: string
status:
description: Status of the condition, one of ('True', 'False',
'Unknown').
type: string
enum:
- "True"
- "False"
- Unknown
type:
description: Type of the condition, one of ('ChartFetched', 'Deployed',
'Released', 'RolledBack', 'Tested').
type: string
enum:
- ChartFetched
- Deployed
- Released
- RolledBack
- Tested
lastAttemptedRevision:
description: LastAttemptedRevision is the revision of the latest chart
sync, and may be of a failed release.
type: string
observedGeneration:
description: ObservedGeneration is the most recent generation observed
by the operator.
type: integer
format: int64
phase:
description: Phase the release is in, one of ('ChartFetched', 'ChartFetchFailed',
'Installing', 'Upgrading', 'Deployed', 'DeployFailed', 'Testing',
'TestFailed', 'Tested', 'Succeeded', 'RollingBack', 'RolledBack',
'RollbackFailed')
type: string
enum:
- ChartFetched
- ChartFetchFailed
- Installing
- Upgrading
- Deployed
- DeployFailed
- Testing
- TestFailed
- Tested
- Succeeded
- Failed
- RollingBack
- RolledBack
- RollbackFailed
releaseName:
description: ReleaseName is the name as either supplied or generated.
type: string
releaseStatus:
description: ReleaseStatus is the status as given by Helm for the release
managed by this resource.
type: string
revision:
description: Revision holds the Git hash or version of the chart currently
deployed.
type: string
rollbackCount:
description: RollbackCount records the amount of rollback attempts made,
it is incremented after a rollback failure and reset after a successful
upgrade or revision change.
type: integer
format: int64
version: v1
versions:
- name: v1
served: true
storage: true
status:
acceptedNames:
kind: ""
plural: ""
conditions: []
storedVersions: []