github.com/oam-dev/kubevela@v1.9.11/pkg/velaql/providers/query/testdata/helm-release-crd.yaml (about) 1 apiVersion: apiextensions.k8s.io/v1 2 kind: CustomResourceDefinition 3 metadata: 4 name: helmreleases.helm.toolkit.fluxcd.io 5 spec: 6 conversion: 7 strategy: None 8 group: helm.toolkit.fluxcd.io 9 names: 10 kind: HelmRelease 11 listKind: HelmReleaseList 12 plural: helmreleases 13 shortNames: 14 - hr 15 singular: helmrelease 16 scope: Namespaced 17 versions: 18 - additionalPrinterColumns: 19 - jsonPath: .status.conditions[?(@.type=="Ready")].status 20 name: Ready 21 type: string 22 - jsonPath: .status.conditions[?(@.type=="Ready")].message 23 name: Status 24 type: string 25 - jsonPath: .metadata.creationTimestamp 26 name: Age 27 type: date 28 name: v2beta1 29 schema: 30 openAPIV3Schema: 31 description: HelmRelease is the Schema for the helmreleases API 32 properties: 33 apiVersion: 34 description: 'APIVersion defines the versioned schema of this representation 35 of an object. Servers should convert recognized schemas to the latest 36 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' 37 type: string 38 kind: 39 description: 'Kind is a string value representing the REST resource this 40 object represents. Servers may infer this from the endpoint the client 41 submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' 42 type: string 43 metadata: 44 type: object 45 spec: 46 description: HelmReleaseSpec defines the desired state of a Helm release. 47 properties: 48 chart: 49 description: Chart defines the template of the v1beta1.HelmChart that 50 should be created for this HelmRelease. 51 properties: 52 spec: 53 description: Spec holds the template for the v1beta1.HelmChartSpec 54 for this HelmRelease. 55 properties: 56 chart: 57 description: The name or path the Helm chart is available 58 at in the SourceRef. 59 type: string 60 interval: 61 description: Interval at which to check the v1beta1.Source 62 for updates. Defaults to 'HelmReleaseSpec.Interval'. 63 type: string 64 sourceRef: 65 description: The name and namespace of the v1beta1.Source 66 the chart is available at. 67 properties: 68 apiVersion: 69 description: APIVersion of the referent. 70 type: string 71 kind: 72 description: Kind of the referent. 73 enum: 74 - HelmRepository 75 - GitRepository 76 - Bucket 77 type: string 78 name: 79 description: Name of the referent. 80 maxLength: 253 81 minLength: 1 82 type: string 83 namespace: 84 description: Namespace of the referent. 85 maxLength: 63 86 minLength: 1 87 type: string 88 required: 89 - name 90 type: object 91 valuesFile: 92 description: Alternative values file to use as the default 93 chart values, expected to be a relative path in the SourceRef. 94 Deprecated in favor of ValuesFiles, for backwards compatibility 95 the file defined here is merged before the ValuesFiles items. 96 Ignored when omitted. 97 type: string 98 valuesFiles: 99 description: Alternative list of values files to use as the 100 chart values (values.yaml is not included by default), expected 101 to be a relative path in the SourceRef. Values files are 102 merged in the order of this list with the last file overriding 103 the first. Ignored when omitted. 104 items: 105 type: string 106 type: array 107 version: 108 default: '*' 109 description: Version semver expression, ignored for charts 110 from v1beta1.GitRepository and v1beta1.Bucket sources. Defaults 111 to latest when omitted. 112 type: string 113 required: 114 - chart 115 - sourceRef 116 type: object 117 required: 118 - spec 119 type: object 120 dependsOn: 121 description: DependsOn may contain a dependency.CrossNamespaceDependencyReference 122 slice with references to HelmRelease resources that must be ready 123 before this HelmRelease can be reconciled. 124 items: 125 description: CrossNamespaceDependencyReference holds the reference 126 to a dependency. 127 properties: 128 name: 129 description: Name holds the name reference of a dependency. 130 type: string 131 namespace: 132 description: Namespace holds the namespace reference of a dependency. 133 type: string 134 required: 135 - name 136 type: object 137 type: array 138 install: 139 description: Install holds the configuration for Helm install actions 140 for this HelmRelease. 141 properties: 142 crds: 143 description: "CRDs upgrade CRDs from the Helm Chart's crds directory 144 according to the CRD upgrade policy provided here. Valid values 145 are `Skip`, `Create` or `CreateReplace`. Default is `Create` 146 and if omitted CRDs are installed but not updated. \n Skip: 147 do neither install nor replace (update) any CRDs. \n Create: 148 new CRDs are created, existing CRDs are neither updated nor 149 deleted. \n CreateReplace: new CRDs are created, existing CRDs 150 are updated (replaced) but not deleted. \n By default, CRDs 151 are applied (installed) during Helm install action. With this 152 option users can opt-in to CRD replace existing CRDs on Helm 153 install actions, which is not (yet) natively supported by Helm. 154 https://helm.sh/docs/chart_best_practices/custom_resource_definitions." 155 enum: 156 - Skip 157 - Create 158 - CreateReplace 159 type: string 160 createNamespace: 161 description: CreateNamespace tells the Helm install action to 162 create the HelmReleaseSpec.TargetNamespace if it does not exist 163 yet. On uninstall, the namespace will not be garbage collected. 164 type: boolean 165 disableHooks: 166 description: DisableHooks prevents hooks from running during the 167 Helm install action. 168 type: boolean 169 disableOpenAPIValidation: 170 description: DisableOpenAPIValidation prevents the Helm install 171 action from validating rendered templates against the Kubernetes 172 OpenAPI Schema. 173 type: boolean 174 disableWait: 175 description: DisableWait disables the waiting for resources to 176 be ready after a Helm install has been performed. 177 type: boolean 178 disableWaitForJobs: 179 description: DisableWaitForJobs disables waiting for jobs to complete 180 after a Helm install has been performed. 181 type: boolean 182 remediation: 183 description: Remediation holds the remediation configuration for 184 when the Helm install action for the HelmRelease fails. The 185 default is to not perform any action. 186 properties: 187 ignoreTestFailures: 188 description: IgnoreTestFailures tells the controller to skip 189 remediation when the Helm tests are run after an install 190 action but fail. Defaults to 'Test.IgnoreFailures'. 191 type: boolean 192 remediateLastFailure: 193 description: RemediateLastFailure tells the controller to 194 remediate the last failure, when no retries remain. Defaults 195 to 'false'. 196 type: boolean 197 retries: 198 description: Retries is the number of retries that should 199 be attempted on failures before bailing. Remediation, using 200 an uninstall, is performed between each attempt. Defaults 201 to '0', a negative integer equals to unlimited retries. 202 type: integer 203 type: object 204 replace: 205 description: Replace tells the Helm install action to re-use the 206 'ReleaseName', but only if that name is a deleted release which 207 remains in the history. 208 type: boolean 209 skipCRDs: 210 description: "SkipCRDs tells the Helm install action to not install 211 any CRDs. By default, CRDs are installed if not already present. 212 \n Deprecated use CRD policy (`crds`) attribute with value `Skip` 213 instead." 214 type: boolean 215 timeout: 216 description: Timeout is the time to wait for any individual Kubernetes 217 operation (like Jobs for hooks) during the performance of a 218 Helm install action. Defaults to 'HelmReleaseSpec.Timeout'. 219 type: string 220 type: object 221 interval: 222 description: Interval at which to reconcile the Helm release. 223 type: string 224 kubeConfig: 225 description: KubeConfig for reconciling the HelmRelease on a remote 226 cluster. When specified, KubeConfig takes precedence over ServiceAccountName. 227 properties: 228 secretRef: 229 description: SecretRef holds the name to a secret that contains 230 a 'value' key with the kubeconfig file as the value. It must 231 be in the same namespace as the HelmRelease. It is recommended 232 that the kubeconfig is self-contained, and the secret is regularly 233 updated if credentials such as a cloud-access-token expire. 234 Cloud specific `cmd-path` auth helpers will not function without 235 adding binaries and credentials to the Pod that is responsible 236 for reconciling the HelmRelease. 237 properties: 238 name: 239 description: Name of the referent 240 type: string 241 required: 242 - name 243 type: object 244 type: object 245 maxHistory: 246 description: MaxHistory is the number of revisions saved by Helm for 247 this HelmRelease. Use '0' for an unlimited number of revisions; 248 defaults to '10'. 249 type: integer 250 postRenderers: 251 description: PostRenderers holds an array of Helm PostRenderers, which 252 will be applied in order of their definition. 253 items: 254 description: PostRenderer contains a Helm PostRenderer specification. 255 properties: 256 kustomize: 257 description: Kustomization to apply as PostRenderer. 258 properties: 259 images: 260 description: Images is a list of (image name, new name, 261 new tag or digest) for changing image names, tags or digests. 262 This can also be achieved with a patch, but this operator 263 is simpler to specify. 264 items: 265 description: Image contains an image name, a new name, 266 a new tag or digest, which will replace the original 267 name and tag. 268 properties: 269 digest: 270 description: Digest is the value used to replace the 271 original image tag. If digest is present NewTag 272 value is ignored. 273 type: string 274 name: 275 description: Name is a tag-less image name. 276 type: string 277 newName: 278 description: NewName is the value used to replace 279 the original name. 280 type: string 281 newTag: 282 description: NewTag is the value used to replace the 283 original tag. 284 type: string 285 required: 286 - name 287 type: object 288 type: array 289 patchesJson6902: 290 description: JSON 6902 patches, defined as inline YAML objects. 291 items: 292 description: JSON6902Patch contains a JSON6902 patch and 293 the target the patch should be applied to. 294 properties: 295 patch: 296 description: Patch contains the JSON6902 patch document 297 with an array of operation objects. 298 items: 299 description: JSON6902 is a JSON6902 operation object. 300 https://tools.ietf.org/html/rfc6902#section-4 301 properties: 302 from: 303 type: string 304 op: 305 enum: 306 - test 307 - remove 308 - add 309 - replace 310 - move 311 - copy 312 type: string 313 path: 314 type: string 315 value: 316 x-kubernetes-preserve-unknown-fields: true 317 required: 318 - op 319 - path 320 type: object 321 type: array 322 target: 323 description: Target points to the resources that the 324 patch document should be applied to. 325 properties: 326 annotationSelector: 327 description: AnnotationSelector is a string that 328 follows the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api 329 It matches with the resource annotations. 330 type: string 331 group: 332 description: Group is the API group to select 333 resources from. Together with Version and Kind 334 it is capable of unambiguously identifying and/or 335 selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md 336 type: string 337 kind: 338 description: Kind of the API Group to select resources 339 from. Together with Group and Version it is 340 capable of unambiguously identifying and/or 341 selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md 342 type: string 343 labelSelector: 344 description: LabelSelector is a string that follows 345 the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api 346 It matches with the resource labels. 347 type: string 348 name: 349 description: Name to match resources with. 350 type: string 351 namespace: 352 description: Namespace to select resources from. 353 type: string 354 version: 355 description: Version of the API Group to select 356 resources from. Together with Group and Kind 357 it is capable of unambiguously identifying and/or 358 selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md 359 type: string 360 type: object 361 required: 362 - patch 363 - target 364 type: object 365 type: array 366 patchesStrategicMerge: 367 description: Strategic merge patches, defined as inline 368 YAML objects. 369 items: 370 x-kubernetes-preserve-unknown-fields: true 371 type: array 372 type: object 373 type: object 374 type: array 375 releaseName: 376 description: ReleaseName used for the Helm release. Defaults to a 377 composition of '[TargetNamespace-]Name'. 378 maxLength: 53 379 minLength: 1 380 type: string 381 rollback: 382 description: Rollback holds the configuration for Helm rollback actions 383 for this HelmRelease. 384 properties: 385 cleanupOnFail: 386 description: CleanupOnFail allows deletion of new resources created 387 during the Helm rollback action when it fails. 388 type: boolean 389 disableHooks: 390 description: DisableHooks prevents hooks from running during the 391 Helm rollback action. 392 type: boolean 393 disableWait: 394 description: DisableWait disables the waiting for resources to 395 be ready after a Helm rollback has been performed. 396 type: boolean 397 disableWaitForJobs: 398 description: DisableWaitForJobs disables waiting for jobs to complete 399 after a Helm rollback has been performed. 400 type: boolean 401 force: 402 description: Force forces resource updates through a replacement 403 strategy. 404 type: boolean 405 recreate: 406 description: Recreate performs pod restarts for the resource if 407 applicable. 408 type: boolean 409 timeout: 410 description: Timeout is the time to wait for any individual Kubernetes 411 operation (like Jobs for hooks) during the performance of a 412 Helm rollback action. Defaults to 'HelmReleaseSpec.Timeout'. 413 type: string 414 type: object 415 serviceAccountName: 416 description: The name of the Kubernetes service account to impersonate 417 when reconciling this HelmRelease. 418 type: string 419 storageNamespace: 420 description: StorageNamespace used for the Helm storage. Defaults 421 to the namespace of the HelmRelease. 422 maxLength: 63 423 minLength: 1 424 type: string 425 suspend: 426 description: Suspend tells the controller to suspend reconciliation 427 for this HelmRelease, it does not apply to already started reconciliations. 428 Defaults to false. 429 type: boolean 430 targetNamespace: 431 description: TargetNamespace to target when performing operations 432 for the HelmRelease. Defaults to the namespace of the HelmRelease. 433 maxLength: 63 434 minLength: 1 435 type: string 436 test: 437 description: Test holds the configuration for Helm test actions for 438 this HelmRelease. 439 properties: 440 enable: 441 description: Enable enables Helm test actions for this HelmRelease 442 after an Helm install or upgrade action has been performed. 443 type: boolean 444 ignoreFailures: 445 description: IgnoreFailures tells the controller to skip remediation 446 when the Helm tests are run but fail. Can be overwritten for 447 tests run after install or upgrade actions in 'Install.IgnoreTestFailures' 448 and 'Upgrade.IgnoreTestFailures'. 449 type: boolean 450 timeout: 451 description: Timeout is the time to wait for any individual Kubernetes 452 operation during the performance of a Helm test action. Defaults 453 to 'HelmReleaseSpec.Timeout'. 454 type: string 455 type: object 456 timeout: 457 description: Timeout is the time to wait for any individual Kubernetes 458 operation (like Jobs for hooks) during the performance of a Helm 459 action. Defaults to '5m0s'. 460 type: string 461 uninstall: 462 description: Uninstall holds the configuration for Helm uninstall 463 actions for this HelmRelease. 464 properties: 465 disableHooks: 466 description: DisableHooks prevents hooks from running during the 467 Helm rollback action. 468 type: boolean 469 keepHistory: 470 description: KeepHistory tells Helm to remove all associated resources 471 and mark the release as deleted, but retain the release history. 472 type: boolean 473 timeout: 474 description: Timeout is the time to wait for any individual Kubernetes 475 operation (like Jobs for hooks) during the performance of a 476 Helm uninstall action. Defaults to 'HelmReleaseSpec.Timeout'. 477 type: string 478 type: object 479 upgrade: 480 description: Upgrade holds the configuration for Helm upgrade actions 481 for this HelmRelease. 482 properties: 483 cleanupOnFail: 484 description: CleanupOnFail allows deletion of new resources created 485 during the Helm upgrade action when it fails. 486 type: boolean 487 crds: 488 description: "CRDs upgrade CRDs from the Helm Chart's crds directory 489 according to the CRD upgrade policy provided here. Valid values 490 are `Skip`, `Create` or `CreateReplace`. Default is `Skip` and 491 if omitted CRDs are neither installed nor upgraded. \n Skip: 492 do neither install nor replace (update) any CRDs. \n Create: 493 new CRDs are created, existing CRDs are neither updated nor 494 deleted. \n CreateReplace: new CRDs are created, existing CRDs 495 are updated (replaced) but not deleted. \n By default, CRDs 496 are not applied during Helm upgrade action. With this option 497 users can opt-in to CRD upgrade, which is not (yet) natively 498 supported by Helm. https://helm.sh/docs/chart_best_practices/custom_resource_definitions." 499 enum: 500 - Skip 501 - Create 502 - CreateReplace 503 type: string 504 disableHooks: 505 description: DisableHooks prevents hooks from running during the 506 Helm upgrade action. 507 type: boolean 508 disableOpenAPIValidation: 509 description: DisableOpenAPIValidation prevents the Helm upgrade 510 action from validating rendered templates against the Kubernetes 511 OpenAPI Schema. 512 type: boolean 513 disableWait: 514 description: DisableWait disables the waiting for resources to 515 be ready after a Helm upgrade has been performed. 516 type: boolean 517 disableWaitForJobs: 518 description: DisableWaitForJobs disables waiting for jobs to complete 519 after a Helm upgrade has been performed. 520 type: boolean 521 force: 522 description: Force forces resource updates through a replacement 523 strategy. 524 type: boolean 525 preserveValues: 526 description: PreserveValues will make Helm reuse the last release's 527 values and merge in overrides from 'Values'. Setting this flag 528 makes the HelmRelease non-declarative. 529 type: boolean 530 remediation: 531 description: Remediation holds the remediation configuration for 532 when the Helm upgrade action for the HelmRelease fails. The 533 default is to not perform any action. 534 properties: 535 ignoreTestFailures: 536 description: IgnoreTestFailures tells the controller to skip 537 remediation when the Helm tests are run after an upgrade 538 action but fail. Defaults to 'Test.IgnoreFailures'. 539 type: boolean 540 remediateLastFailure: 541 description: RemediateLastFailure tells the controller to 542 remediate the last failure, when no retries remain. Defaults 543 to 'false' unless 'Retries' is greater than 0. 544 type: boolean 545 retries: 546 description: Retries is the number of retries that should 547 be attempted on failures before bailing. Remediation, using 548 'Strategy', is performed between each attempt. Defaults 549 to '0', a negative integer equals to unlimited retries. 550 type: integer 551 strategy: 552 description: Strategy to use for failure remediation. Defaults 553 to 'rollback'. 554 enum: 555 - rollback 556 - uninstall 557 type: string 558 type: object 559 timeout: 560 description: Timeout is the time to wait for any individual Kubernetes 561 operation (like Jobs for hooks) during the performance of a 562 Helm upgrade action. Defaults to 'HelmReleaseSpec.Timeout'. 563 type: string 564 type: object 565 values: 566 description: Values holds the values for this Helm release. 567 x-kubernetes-preserve-unknown-fields: true 568 valuesFrom: 569 description: ValuesFrom holds references to resources containing Helm 570 values for this HelmRelease, and information about how they should 571 be merged. 572 items: 573 description: ValuesReference contains a reference to a resource 574 containing Helm values, and optionally the key they can be found 575 at. 576 properties: 577 kind: 578 description: Kind of the values referent, valid values are ('Secret', 579 'ConfigMap'). 580 enum: 581 - Secret 582 - ConfigMap 583 type: string 584 name: 585 description: Name of the values referent. Should reside in the 586 same namespace as the referring resource. 587 maxLength: 253 588 minLength: 1 589 type: string 590 optional: 591 description: Optional marks this ValuesReference as optional. 592 When set, a not found error for the values reference is ignored, 593 but any ValuesKey, TargetPath or transient error will still 594 result in a reconciliation failure. 595 type: boolean 596 targetPath: 597 description: TargetPath is the YAML dot notation path the value 598 should be merged at. When set, the ValuesKey is expected to 599 be a single flat value. Defaults to 'None', which results 600 in the values getting merged at the root. 601 type: string 602 valuesKey: 603 description: ValuesKey is the data key where the values.yaml 604 or a specific value can be found at. Defaults to 'values.yaml'. 605 type: string 606 required: 607 - kind 608 - name 609 type: object 610 type: array 611 required: 612 - chart 613 - interval 614 type: object 615 status: 616 description: HelmReleaseStatus defines the observed state of a HelmRelease. 617 properties: 618 conditions: 619 description: Conditions holds the conditions for the HelmRelease. 620 items: 621 description: "Condition contains details for one aspect of the current 622 state of this API Resource. --- This struct is intended for direct 623 use as an array at the field path .status.conditions. For example, 624 type FooStatus struct{ // Represents the observations of a 625 foo's current state. // Known .status.conditions.type are: 626 \"Available\", \"Progressing\", and \"Degraded\" // +patchMergeKey=type 627 \ // +patchStrategy=merge // +listType=map // +listMapKey=type 628 \ Conditions []metav1.Condition `json:\"conditions,omitempty\" 629 patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"` 630 \n // other fields }" 631 properties: 632 lastTransitionTime: 633 description: lastTransitionTime is the last time the condition 634 transitioned from one status to another. This should be when 635 the underlying condition changed. If that is not known, then 636 using the time when the API field changed is acceptable. 637 format: date-time 638 type: string 639 message: 640 description: message is a human readable message indicating 641 details about the transition. This may be an empty string. 642 maxLength: 32768 643 type: string 644 observedGeneration: 645 description: observedGeneration represents the .metadata.generation 646 that the condition was set based upon. For instance, if .metadata.generation 647 is currently 12, but the .status.conditions[x].observedGeneration 648 is 9, the condition is out of date with respect to the current 649 state of the instance. 650 format: int64 651 minimum: 0 652 type: integer 653 reason: 654 description: reason contains a programmatic identifier indicating 655 the reason for the condition's last transition. Producers 656 of specific condition types may define expected values and 657 meanings for this field, and whether the values are considered 658 a guaranteed API. The value should be a CamelCase string. 659 This field may not be empty. 660 maxLength: 1024 661 minLength: 1 662 pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ 663 type: string 664 status: 665 description: status of the condition, one of True, False, Unknown. 666 enum: 667 - "True" 668 - "False" 669 - Unknown 670 type: string 671 type: 672 description: type of condition in CamelCase or in foo.example.com/CamelCase. 673 --- Many .condition.type values are consistent across resources 674 like Available, but because arbitrary conditions can be useful 675 (see .node.status.conditions), the ability to deconflict is 676 important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) 677 maxLength: 316 678 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ 679 type: string 680 required: 681 - lastTransitionTime 682 - message 683 - reason 684 - status 685 - type 686 type: object 687 type: array 688 failures: 689 description: Failures is the reconciliation failure count against 690 the latest desired state. It is reset after a successful reconciliation. 691 format: int64 692 type: integer 693 helmChart: 694 description: HelmChart is the namespaced name of the HelmChart resource 695 created by the controller for the HelmRelease. 696 type: string 697 installFailures: 698 description: InstallFailures is the install failure count against 699 the latest desired state. It is reset after a successful reconciliation. 700 format: int64 701 type: integer 702 lastAppliedRevision: 703 description: LastAppliedRevision is the revision of the last successfully 704 applied source. 705 type: string 706 lastAttemptedRevision: 707 description: LastAttemptedRevision is the revision of the last reconciliation 708 attempt. 709 type: string 710 lastAttemptedValuesChecksum: 711 description: LastAttemptedValuesChecksum is the SHA1 checksum of the 712 values of the last reconciliation attempt. 713 type: string 714 lastHandledReconcileAt: 715 description: LastHandledReconcileAt holds the value of the most recent 716 reconcile request value, so a change can be detected. 717 type: string 718 lastReleaseRevision: 719 description: LastReleaseRevision is the revision of the last successful 720 Helm release. 721 type: integer 722 observedGeneration: 723 description: ObservedGeneration is the last observed generation. 724 format: int64 725 type: integer 726 upgradeFailures: 727 description: UpgradeFailures is the upgrade failure count against 728 the latest desired state. It is reset after a successful reconciliation. 729 format: int64 730 type: integer 731 type: object 732 type: object 733 served: true 734 storage: true 735 subresources: 736 status: {}