From fce4c658284e7373c0fae07d651358e66d59c7cb Mon Sep 17 00:00:00 2001 From: Faizan Ahmad Date: Fri, 15 Dec 2023 20:42:13 +0530 Subject: [PATCH] Upgrade snapshot-controller chart --- .../external-snapshotter/Chart.lock | 9 - .../snapshot-validation-webhook/.helmignore | 23 - .../snapshot-validation-webhook/Chart.yaml | 24 -- .../snapshot-validation-webhook/LICENSE | 201 --------- .../snapshot-validation-webhook/Makefile | 10 - .../snapshot-validation-webhook/README.md | 133 ------ .../crds/README.md | 10 - ...age.k8s.io_volumegroupsnapshotclasses.yaml | 82 ---- ....storage.k8s.io_volumesnapshotclasses.yaml | 134 ------ ...storage.k8s.io_volumesnapshotcontents.yaml | 401 ------------------ ...apshot.storage.k8s.io_volumesnapshots.yaml | 312 -------------- .../templates/NOTES.txt | 38 -- .../templates/_helpers.tpl | 68 --- .../templates/deployment.yaml | 82 ---- .../templates/networkpolicy.yaml | 20 - .../templates/poddisruptionbudget.yaml | 22 - .../templates/service.yaml | 16 - .../templates/serviceaccount.yaml | 33 -- .../templates/tests/test-invalid-body.yaml | 18 - .../templates/tests/test-valid-body.yaml | 18 - .../templates/webhook.yaml | 115 ----- .../snapshot-validation-webhook/values.yaml | 79 ---- .../external-snapshotter/values.yaml | 0 .../snapshot-controller/Chart.lock | 6 + .../Chart.yaml | 5 +- .../Readme.md | 0 .../charts/snapshot-controller/.helmignore | 0 .../charts/snapshot-controller/Chart.yaml | 0 .../charts/snapshot-controller/LICENSE | 0 .../charts/snapshot-controller/README.md | 0 ...age.k8s.io_volumegroupsnapshotclasses.yaml | 0 ....storage.k8s.io_volumesnapshotclasses.yaml | 0 ...storage.k8s.io_volumesnapshotcontents.yaml | 0 ...apshot.storage.k8s.io_volumesnapshots.yaml | 0 .../snapshot-controller/templates/NOTES.txt | 0 .../templates/_helpers.tpl | 0 .../templates/deployment_controller.yaml | 0 .../deployment_validation_webhook.yaml | 0 .../templates/networkpolicy.yaml | 0 .../poddisruptionbudget_controller.yaml | 0 ...oddisruptionbudget_validation_webhook.yaml | 0 .../templates/service_controller.yaml | 0 .../templates/service_validation_webhook.yaml | 0 .../templates/serviceaccount_controller.yaml | 0 .../serviceaccount_validation_webhook.yaml | 0 .../templates/servicemonitor.yaml | 0 .../templates/tests/test-invalid-body.yaml | 0 .../templates/tests/test-valid-body.yaml | 0 .../templates/volumesnapshotclass.yaml | 0 .../templates/webhook.yaml | 0 .../tests/invalid-admission.json | 0 .../tests/valid-admission.json | 0 .../charts/snapshot-controller/values.yaml | 0 .../templates/netpol-snapshot-controller.yaml | 0 .../netpol-snapshot-validation-webhook.yaml | 0 .../snapshot-controller/values.yaml | 1 + 56 files changed, 8 insertions(+), 1852 deletions(-) delete mode 100644 argocd-helm-charts/external-snapshotter/Chart.lock delete mode 100644 argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/.helmignore delete mode 100644 argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/Chart.yaml delete mode 100644 argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/LICENSE delete mode 100644 argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/Makefile delete mode 100644 argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/README.md delete mode 100644 argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/crds/README.md delete mode 100644 argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/crds/groupsnapshot.storage.k8s.io_volumegroupsnapshotclasses.yaml delete mode 100644 argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/crds/snapshot.storage.k8s.io_volumesnapshotclasses.yaml delete mode 100644 argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/crds/snapshot.storage.k8s.io_volumesnapshotcontents.yaml delete mode 100644 argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/crds/snapshot.storage.k8s.io_volumesnapshots.yaml delete mode 100644 argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/NOTES.txt delete mode 100644 argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/_helpers.tpl delete mode 100644 argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/deployment.yaml delete mode 100644 argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/networkpolicy.yaml delete mode 100644 argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/poddisruptionbudget.yaml delete mode 100644 argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/service.yaml delete mode 100644 argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/serviceaccount.yaml delete mode 100644 argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/tests/test-invalid-body.yaml delete mode 100644 argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/tests/test-valid-body.yaml delete mode 100644 argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/webhook.yaml delete mode 100644 argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/values.yaml delete mode 100644 argocd-helm-charts/external-snapshotter/values.yaml create mode 100644 argocd-helm-charts/snapshot-controller/Chart.lock rename argocd-helm-charts/{external-snapshotter => snapshot-controller}/Chart.yaml (51%) rename argocd-helm-charts/{external-snapshotter => snapshot-controller}/Readme.md (100%) rename argocd-helm-charts/{external-snapshotter => snapshot-controller}/charts/snapshot-controller/.helmignore (100%) rename argocd-helm-charts/{external-snapshotter => snapshot-controller}/charts/snapshot-controller/Chart.yaml (100%) rename argocd-helm-charts/{external-snapshotter => snapshot-controller}/charts/snapshot-controller/LICENSE (100%) rename argocd-helm-charts/{external-snapshotter => snapshot-controller}/charts/snapshot-controller/README.md (100%) rename argocd-helm-charts/{external-snapshotter => snapshot-controller}/charts/snapshot-controller/crds/groupsnapshot.storage.k8s.io_volumegroupsnapshotclasses.yaml (100%) rename argocd-helm-charts/{external-snapshotter => snapshot-controller}/charts/snapshot-controller/crds/snapshot.storage.k8s.io_volumesnapshotclasses.yaml (100%) rename argocd-helm-charts/{external-snapshotter => snapshot-controller}/charts/snapshot-controller/crds/snapshot.storage.k8s.io_volumesnapshotcontents.yaml (100%) rename argocd-helm-charts/{external-snapshotter => snapshot-controller}/charts/snapshot-controller/crds/snapshot.storage.k8s.io_volumesnapshots.yaml (100%) rename argocd-helm-charts/{external-snapshotter => snapshot-controller}/charts/snapshot-controller/templates/NOTES.txt (100%) rename argocd-helm-charts/{external-snapshotter => snapshot-controller}/charts/snapshot-controller/templates/_helpers.tpl (100%) rename argocd-helm-charts/{external-snapshotter => snapshot-controller}/charts/snapshot-controller/templates/deployment_controller.yaml (100%) rename argocd-helm-charts/{external-snapshotter => snapshot-controller}/charts/snapshot-controller/templates/deployment_validation_webhook.yaml (100%) rename argocd-helm-charts/{external-snapshotter => snapshot-controller}/charts/snapshot-controller/templates/networkpolicy.yaml (100%) rename argocd-helm-charts/{external-snapshotter => snapshot-controller}/charts/snapshot-controller/templates/poddisruptionbudget_controller.yaml (100%) rename argocd-helm-charts/{external-snapshotter => snapshot-controller}/charts/snapshot-controller/templates/poddisruptionbudget_validation_webhook.yaml (100%) rename argocd-helm-charts/{external-snapshotter => snapshot-controller}/charts/snapshot-controller/templates/service_controller.yaml (100%) rename argocd-helm-charts/{external-snapshotter => snapshot-controller}/charts/snapshot-controller/templates/service_validation_webhook.yaml (100%) rename argocd-helm-charts/{external-snapshotter => snapshot-controller}/charts/snapshot-controller/templates/serviceaccount_controller.yaml (100%) rename argocd-helm-charts/{external-snapshotter => snapshot-controller}/charts/snapshot-controller/templates/serviceaccount_validation_webhook.yaml (100%) rename argocd-helm-charts/{external-snapshotter => snapshot-controller}/charts/snapshot-controller/templates/servicemonitor.yaml (100%) rename argocd-helm-charts/{external-snapshotter => snapshot-controller}/charts/snapshot-controller/templates/tests/test-invalid-body.yaml (100%) rename argocd-helm-charts/{external-snapshotter => snapshot-controller}/charts/snapshot-controller/templates/tests/test-valid-body.yaml (100%) rename argocd-helm-charts/{external-snapshotter => snapshot-controller}/charts/snapshot-controller/templates/volumesnapshotclass.yaml (100%) rename argocd-helm-charts/{external-snapshotter => snapshot-controller}/charts/snapshot-controller/templates/webhook.yaml (100%) rename argocd-helm-charts/{external-snapshotter => snapshot-controller}/charts/snapshot-controller/tests/invalid-admission.json (100%) rename argocd-helm-charts/{external-snapshotter => snapshot-controller}/charts/snapshot-controller/tests/valid-admission.json (100%) rename argocd-helm-charts/{external-snapshotter => snapshot-controller}/charts/snapshot-controller/values.yaml (100%) rename argocd-helm-charts/{external-snapshotter => snapshot-controller}/templates/netpol-snapshot-controller.yaml (100%) rename argocd-helm-charts/{external-snapshotter => snapshot-controller}/templates/netpol-snapshot-validation-webhook.yaml (100%) create mode 100644 argocd-helm-charts/snapshot-controller/values.yaml diff --git a/argocd-helm-charts/external-snapshotter/Chart.lock b/argocd-helm-charts/external-snapshotter/Chart.lock deleted file mode 100644 index 66c84a1ee..000000000 --- a/argocd-helm-charts/external-snapshotter/Chart.lock +++ /dev/null @@ -1,9 +0,0 @@ -dependencies: -- name: snapshot-validation-webhook - repository: https://piraeus.io/helm-charts - version: 1.9.0 -- name: snapshot-controller - repository: https://piraeus.io/helm-charts - version: 2.0.3 -digest: sha256:c8701893ca22adc2b1512c108e0026ce6c945c243158554d8af3bddb1d5fbe23 -generated: "2023-12-05T13:55:01.03716114+05:30" diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/.helmignore b/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/.helmignore deleted file mode 100644 index 0e8a0eb36..000000000 --- a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/.helmignore +++ /dev/null @@ -1,23 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*.orig -*~ -# Various IDEs -.project -.idea/ -*.tmproj -.vscode/ diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/Chart.yaml b/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/Chart.yaml deleted file mode 100644 index 9cb87f64c..000000000 --- a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/Chart.yaml +++ /dev/null @@ -1,24 +0,0 @@ -annotations: - artifacthub.io/recommendations: | - - url: https://artifacthub.io/packages/helm/piraeus-charts/snapshot-controller -apiVersion: v2 -appVersion: v6.3.1 -deprecated: true -description: 'Deploys the snapshot-validation-webhook and configures your cluster - to validate every `VolumeSnapshot` and `VolumeSnapshotContent` resource by sending - it to the webhook. NOTE: Please use the snapshot-controller chart instead: it also - deploys the validation webhook. ' -home: https://github.com/piraeusdatastore/helm-charts -icon: https://raw.githubusercontent.com/piraeusdatastore/piraeus/master/artwork/sandbox-artwork/icon/color.svg -keywords: -- storage -- snapshot -- validation -maintainers: -- name: The Piraeus Maintainers - url: https://github.com/piraeusdatastore/ -name: snapshot-validation-webhook -sources: -- https://github.com/kubernetes-csi/external-snapshotter/ -type: application -version: 1.9.0 diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/LICENSE b/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/LICENSE deleted file mode 100644 index 261eeb9e9..000000000 --- a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/Makefile b/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/Makefile deleted file mode 100644 index f3184b5ff..000000000 --- a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/Makefile +++ /dev/null @@ -1,10 +0,0 @@ - -APP_VERSION := $(shell yq e '.appVersion' ./Chart.yaml) - -.PHONY: crds - -crds: - curl -fsSL https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/$(APP_VERSION)/client/config/crd/snapshot.storage.k8s.io_volumesnapshotclasses.yaml -o crds/snapshot.storage.k8s.io_volumesnapshotclasses.yaml - curl -fsSL https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/$(APP_VERSION)/client/config/crd/snapshot.storage.k8s.io_volumesnapshots.yaml -o crds/snapshot.storage.k8s.io_volumesnapshots.yaml - curl -fsSL https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/$(APP_VERSION)/client/config/crd/snapshot.storage.k8s.io_volumesnapshotcontents.yaml -o crds/snapshot.storage.k8s.io_volumesnapshotcontents.yaml - curl -fsSL https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/$(APP_VERSION)/client/config/crd/groupsnapshot.storage.k8s.io_volumegroupsnapshotclasses.yaml -o crds/groupsnapshot.storage.k8s.io_volumegroupsnapshotclasses.yaml diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/README.md b/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/README.md deleted file mode 100644 index f83df3716..000000000 --- a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/README.md +++ /dev/null @@ -1,133 +0,0 @@ -# snapshot-validation-webhook - -> **Discontinuing notice**: The chart has been merged with the [*snapshot-controller*](../snapshot-controller/README.md) chart -> in the same repository. This chart has been archived. - -Deploys the [snapshot-validation-webhook](https://github.com/kubernetes-csi/external-snapshotter/#validating-webhook) -and configures your cluster to validate every `VolumeSnapshot` and `VolumeSnapshotContent` resource by sending it to -the webhook. - -This webhook should be deployed on all clusters that are using the [`snapshot-controller`](../snapshot-controller) chart, -or are in the process of installing it. - -## Usage - -The following commands install this chart in your cluster. See [below](#configuration) for available configuration -options. - -``` -helm repo add piraeus-charts https://piraeus.io/helm-charts/ -helm install snapshot-validation-webhook piraeus-charts/snapshot-validation-webhook -``` - -## Upgrades - -Upgrades can be done using the normal Helm upgrade mechanism - -``` -helm repo update -helm upgrade snapshot-validation-webhook piraeus-charts/snapshot-validation-webhook -``` - - -## Upgrade from older CRDs - -In an effort to tighten validation, the CSI project started enforcing stricter requirements on `VolumeSnapshot` and -`VolumeSnapshotContent` resources when switching from `v1beta1` to `v1` CRDs. This webhook is part of enforcing -these requirements. When upgrading you [have to ensure non of your resources violate the requirements for `v1`]. - -The upgrade procedure can be summarized by the following steps: - -1. Remove the old snapshot controller, if any (since you are upgrading, you probably already have one deployed manually). -2. Install this webhook chart. -3. Install the [snapshot controller](../snapshot-controller) using one of the [`3.x.x` releases]: - - ``` - helm install piraeus-charts/snapshot-controller --set image.tag=v3.0.3 - ``` -4. Ensure that none of the resources are labelled as invalid: - - ``` - kubectl get volumesnapshots --selector=snapshot.storage.kubernetes.io/invalid-snapshot-resource="" --all-namespaces - kubectl get volumesnapshotcontents --selector=snapshot.storage.kubernetes.io/invalid-snapshot-resource="" --all-namespaces - ``` - - If the above commands output any resource, they have to be removed - -5. Upgrade the CRDs - - ``` - kubectl replace -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/v5.0.0/client/config/crd/snapshot.storage.k8s.io_volumesnapshotclasses.yaml - kubectl replace -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/v5.0.0/client/config/crd/snapshot.storage.k8s.io_volumesnapshots.yaml - kubectl replace -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/v5.0.0/client/config/crd/snapshot.storage.k8s.io_volumesnapshotcontents.yaml - ``` - -6. Upgrade the [snapshot controller](../snapshot-controller) to the latest version: - - ``` - helm upgrade piraeus-charts/snapshot-controller --set image.tag=v5.0.0 - ``` - -## Configuration - -Webhooks in Kubernetes are required to run on HTTPS. To that end, this charts needs to be configured with one of the -following options: - -* An auto-generated certificate, valid for 10 years. This is the default. If you want to renew the certificate, - set `tls.renew` to `true` and run an upgrade. - -* A [cert-manager.io](https://cert-manager.io) issuer able to create a certificate for the webhook service. - - To use this method, create an override file like: - ``` - tls: - certManagerIssuerRef: - name: internal-issuer - kind: ClusterIssuer - ``` - - To apply the override, use `--values `. - -* A pre-existing [`kubernetes.io/tls`] secret and the certificate of the CA used to sign said tls secret. - - To use this method, set `--set tls.certificateSecret=`. - The secret must be in the same namespace as the deployment and be valid for `..svc`. - -There are additional options that allow customization outside of HTTPS concerns. This is the full list of options -available. - -| Option | Usage | Default | -|--------------------------------------|------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------| -| `args` | Arguments to pass to the snapshot controller. Note: Keys will be converted to kebab-case, i.e. `oneArg` -> `--one-arg` | `...` | -| `replicaCount` | Number of replicas to deploy. | `1` | -| `image.repository` | Repository to pull the image from. | `registry.k8s.io/sig-storage/snapshot-validation-webhook` | -| `image.pullPolicy` | Pull policy to use. Possible values: `IfNotPresent`, `Always`, `Never` | `IfNotPresent` | -| `image.tag` | Override the tag to pull. If not given, defaults to charts `AppVersion`. | `""` | -| `webhook.timeoutSeconds` | Timeout to use when contacting webhook server. | `2` | -| `webhook.failurePolicy` | Policy to apply when webhook is unavailable. Possible values: `Fail`, `Ignore`. | `Fail` | -| `tls.certificateSecret` | Name of the static tls secret to use for serving the HTTPS endpoint. | `""` | -| `tls.autogenerate` | Automatically generate the TLS secret for serving the HTTPS endpoint. | `true` | -| `tls.renew` | Force renewal of certificate when auto-generating. | `false` | -| `tls.certManagerIssuerRef` | Issuer to use for provisioning the TLS certificate. If this is used, `tls.certificateSecret` can be left empty. | `{}` | -| `imagePullSecrets` | Image pull secrets to add to the deployment. | `[]` | -| `podAnnotations` | Annotations to add to every pod in the deployment. | `{}` | -| `podLabels` | Labels to add to every pod in the deployment. | `{}` | -| `networkPolicy.enabled` | Should a network policy be created. | `false` | -| `networkPolicy.ingress` | Additional ingress rules to be added to the network policy. | `{}` | -| `podDisruptionBudget.enabled` | Should a pod disruption budget be created. | `false` | -| `podDisruptionBudget.maxUnavailable` | The maximum number of pods that are allowed to be unavailable. | `""` | -| `podDisruptionBudget.minAvailable` | The minimum number of pods that are required to be available. | `""` | -| `priorityClassName` | The name of the priority class to assign to the deployment. | `""` | -| `topologySpreadConstraints` | A list of topology constraints to assign to the deployment. | `[]` | -| `podSecurityContext` | Security context to set on the webhook pod. | `{}` | -| `securityContext` | Configure container security context. Defaults to dropping all capabilties and running as user 1000. | `{capabilities: {drop: [ALL]}, readOnlyRootFilesystem: true, runAsNonRoot: true, runAsUser: 1000}` | -| `resources` | Resources to request and limit on the pod. | `{}` | -| `nodeSelector` | Node selector to add to each webhook pod. | `{}` | -| `tolerations` | Tolerations to add to each webhook pod. | `[]` | -| `affinity` | Affinity to set on each webhook pod. | `{}` | -| `serviceAccount.create` | Create the service account resource | `true` | -| `serviceAccount.name` | Sets the name of the service account. If left empty, will use the release name as default | `""` | - -[`kubernetes.io/tls`]: https://kubernetes.io/docs/concepts/configuration/secret/#tls-secrets -[`3.x.x` releases]: https://github.com/kubernetes-csi/external-snapshotter/releases -[have to ensure non of your resources violate the requirements for `v1`]: https://github.com/kubernetes-csi/external-snapshotter#validating-webhook diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/crds/README.md b/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/crds/README.md deleted file mode 100644 index 043727453..000000000 --- a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/crds/README.md +++ /dev/null @@ -1,10 +0,0 @@ -# Snapshot CRDs - -For convenience this chart packages the `VolumeSnapshot` CRDs from https://github.com/kubernetes-csi/external-snapshotter. - -Note that due to the way Helm deals with CRDs, you may want to manually update the CRDs. - -CRDs are automatically pulled in using our [CI pipeline](../../../.github/workflows/release.yaml) and always match the -AppVersion in [Chart.yaml](../Chart.yaml). - -If you install the chart directly from the directory, please run `make crds` first diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/crds/groupsnapshot.storage.k8s.io_volumegroupsnapshotclasses.yaml b/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/crds/groupsnapshot.storage.k8s.io_volumegroupsnapshotclasses.yaml deleted file mode 100644 index f046f7155..000000000 --- a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/crds/groupsnapshot.storage.k8s.io_volumegroupsnapshotclasses.yaml +++ /dev/null @@ -1,82 +0,0 @@ ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.11.3 - api-approved.kubernetes.io: "https://github.com/kubernetes-csi/external-snapshotter/pull/814" - creationTimestamp: null - name: volumegroupsnapshotclasses.groupsnapshot.storage.k8s.io -spec: - group: groupsnapshot.storage.k8s.io - names: - kind: VolumeGroupSnapshotClass - listKind: VolumeGroupSnapshotClassList - plural: volumegroupsnapshotclasses - shortNames: - - vgsclass - - vgsclasses - singular: volumegroupsnapshotclass - scope: Cluster - versions: - - additionalPrinterColumns: - - jsonPath: .driver - name: Driver - type: string - - description: Determines whether a VolumeGroupSnapshotContent created through - the VolumeGroupSnapshotClass should be deleted when its bound VolumeGroupSnapshot - is deleted. - jsonPath: .deletionPolicy - name: DeletionPolicy - type: string - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1alpha1 - schema: - openAPIV3Schema: - description: VolumeGroupSnapshotClass specifies parameters that a underlying - storage system uses when creating a volume group snapshot. A specific VolumeGroupSnapshotClass - is used by specifying its name in a VolumeGroupSnapshot object. VolumeGroupSnapshotClasses - are non-namespaced. - 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 - deletionPolicy: - description: DeletionPolicy determines whether a VolumeGroupSnapshotContent - created through the VolumeGroupSnapshotClass should be deleted when - its bound VolumeGroupSnapshot is deleted. Supported values are "Retain" - and "Delete". "Retain" means that the VolumeGroupSnapshotContent and - its physical group snapshot on underlying storage system are kept. "Delete" - means that the VolumeGroupSnapshotContent and its physical group snapshot - on underlying storage system are deleted. Required. - enum: - - Delete - - Retain - type: string - driver: - description: Driver is the name of the storage driver expected to handle - this VolumeGroupSnapshotClass. Required. - 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 - parameters: - additionalProperties: - type: string - description: Parameters is a key-value map with storage driver specific - parameters for creating group snapshots. These values are opaque to - Kubernetes and are passed directly to the driver. - type: object - required: - - deletionPolicy - - driver - type: object - served: true - storage: true - subresources: {} diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/crds/snapshot.storage.k8s.io_volumesnapshotclasses.yaml b/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/crds/snapshot.storage.k8s.io_volumesnapshotclasses.yaml deleted file mode 100644 index 56a8e1487..000000000 --- a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/crds/snapshot.storage.k8s.io_volumesnapshotclasses.yaml +++ /dev/null @@ -1,134 +0,0 @@ ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.11.3 - api-approved.kubernetes.io: "https://github.com/kubernetes-csi/external-snapshotter/pull/814" - creationTimestamp: null - name: volumesnapshotclasses.snapshot.storage.k8s.io -spec: - group: snapshot.storage.k8s.io - names: - kind: VolumeSnapshotClass - listKind: VolumeSnapshotClassList - plural: volumesnapshotclasses - shortNames: - - vsclass - - vsclasses - singular: volumesnapshotclass - scope: Cluster - versions: - - additionalPrinterColumns: - - jsonPath: .driver - name: Driver - type: string - - description: Determines whether a VolumeSnapshotContent created through the - VolumeSnapshotClass should be deleted when its bound VolumeSnapshot is deleted. - jsonPath: .deletionPolicy - name: DeletionPolicy - type: string - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1 - schema: - openAPIV3Schema: - description: VolumeSnapshotClass specifies parameters that a underlying storage - system uses when creating a volume snapshot. A specific VolumeSnapshotClass - is used by specifying its name in a VolumeSnapshot object. VolumeSnapshotClasses - are non-namespaced - 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 - deletionPolicy: - description: deletionPolicy determines whether a VolumeSnapshotContent - created through the VolumeSnapshotClass should be deleted when its bound - VolumeSnapshot is deleted. Supported values are "Retain" and "Delete". - "Retain" means that the VolumeSnapshotContent and its physical snapshot - on underlying storage system are kept. "Delete" means that the VolumeSnapshotContent - and its physical snapshot on underlying storage system are deleted. - Required. - enum: - - Delete - - Retain - type: string - driver: - description: driver is the name of the storage driver that handles this - VolumeSnapshotClass. Required. - 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 - parameters: - additionalProperties: - type: string - description: parameters is a key-value map with storage driver specific - parameters for creating snapshots. These values are opaque to Kubernetes. - type: object - required: - - deletionPolicy - - driver - type: object - served: true - storage: true - subresources: {} - - additionalPrinterColumns: - - jsonPath: .driver - name: Driver - type: string - - description: Determines whether a VolumeSnapshotContent created through the VolumeSnapshotClass should be deleted when its bound VolumeSnapshot is deleted. - jsonPath: .deletionPolicy - name: DeletionPolicy - type: string - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1beta1 - # This indicates the v1beta1 version of the custom resource is deprecated. - # API requests to this version receive a warning in the server response. - deprecated: true - # This overrides the default warning returned to clients making v1beta1 API requests. - deprecationWarning: "snapshot.storage.k8s.io/v1beta1 VolumeSnapshotClass is deprecated; use snapshot.storage.k8s.io/v1 VolumeSnapshotClass" - schema: - openAPIV3Schema: - description: VolumeSnapshotClass specifies parameters that a underlying storage system uses when creating a volume snapshot. A specific VolumeSnapshotClass is used by specifying its name in a VolumeSnapshot object. VolumeSnapshotClasses are non-namespaced - 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 - deletionPolicy: - description: deletionPolicy determines whether a VolumeSnapshotContent created through the VolumeSnapshotClass should be deleted when its bound VolumeSnapshot is deleted. Supported values are "Retain" and "Delete". "Retain" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are kept. "Delete" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are deleted. Required. - enum: - - Delete - - Retain - type: string - driver: - description: driver is the name of the storage driver that handles this VolumeSnapshotClass. Required. - 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 - parameters: - additionalProperties: - type: string - description: parameters is a key-value map with storage driver specific parameters for creating snapshots. These values are opaque to Kubernetes. - type: object - required: - - deletionPolicy - - driver - type: object - served: false - storage: false - subresources: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/crds/snapshot.storage.k8s.io_volumesnapshotcontents.yaml b/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/crds/snapshot.storage.k8s.io_volumesnapshotcontents.yaml deleted file mode 100644 index d6181ed93..000000000 --- a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/crds/snapshot.storage.k8s.io_volumesnapshotcontents.yaml +++ /dev/null @@ -1,401 +0,0 @@ ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.11.3 - api-approved.kubernetes.io: "https://github.com/kubernetes-csi/external-snapshotter/pull/814" - creationTimestamp: null - name: volumesnapshotcontents.snapshot.storage.k8s.io -spec: - group: snapshot.storage.k8s.io - names: - kind: VolumeSnapshotContent - listKind: VolumeSnapshotContentList - plural: volumesnapshotcontents - shortNames: - - vsc - - vscs - singular: volumesnapshotcontent - scope: Cluster - versions: - - additionalPrinterColumns: - - description: Indicates if the snapshot is ready to be used to restore a volume. - jsonPath: .status.readyToUse - name: ReadyToUse - type: boolean - - description: Represents the complete size of the snapshot in bytes - jsonPath: .status.restoreSize - name: RestoreSize - type: integer - - description: Determines whether this VolumeSnapshotContent and its physical - snapshot on the underlying storage system should be deleted when its bound - VolumeSnapshot is deleted. - jsonPath: .spec.deletionPolicy - name: DeletionPolicy - type: string - - description: Name of the CSI driver used to create the physical snapshot on - the underlying storage system. - jsonPath: .spec.driver - name: Driver - type: string - - description: Name of the VolumeSnapshotClass to which this snapshot belongs. - jsonPath: .spec.volumeSnapshotClassName - name: VolumeSnapshotClass - type: string - - description: Name of the VolumeSnapshot object to which this VolumeSnapshotContent - object is bound. - jsonPath: .spec.volumeSnapshotRef.name - name: VolumeSnapshot - type: string - - description: Namespace of the VolumeSnapshot object to which this VolumeSnapshotContent object is bound. - jsonPath: .spec.volumeSnapshotRef.namespace - name: VolumeSnapshotNamespace - type: string - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1 - schema: - openAPIV3Schema: - description: VolumeSnapshotContent represents the actual "on-disk" snapshot - object in the underlying storage system - 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 - spec: - description: spec defines properties of a VolumeSnapshotContent created - by the underlying storage system. Required. - properties: - deletionPolicy: - description: deletionPolicy determines whether this VolumeSnapshotContent - and its physical snapshot on the underlying storage system should - be deleted when its bound VolumeSnapshot is deleted. Supported values - are "Retain" and "Delete". "Retain" means that the VolumeSnapshotContent - and its physical snapshot on underlying storage system are kept. - "Delete" means that the VolumeSnapshotContent and its physical snapshot - on underlying storage system are deleted. For dynamically provisioned - snapshots, this field will automatically be filled in by the CSI - snapshotter sidecar with the "DeletionPolicy" field defined in the - corresponding VolumeSnapshotClass. For pre-existing snapshots, users - MUST specify this field when creating the VolumeSnapshotContent - object. Required. - enum: - - Delete - - Retain - type: string - driver: - description: driver is the name of the CSI driver used to create the - physical snapshot on the underlying storage system. This MUST be - the same as the name returned by the CSI GetPluginName() call for - that driver. Required. - type: string - source: - description: source specifies whether the snapshot is (or should be) - dynamically provisioned or already exists, and just requires a Kubernetes - object representation. This field is immutable after creation. Required. - properties: - snapshotHandle: - description: snapshotHandle specifies the CSI "snapshot_id" of - a pre-existing snapshot on the underlying storage system for - which a Kubernetes object representation was (or should be) - created. This field is immutable. - type: string - volumeHandle: - description: volumeHandle specifies the CSI "volume_id" of the - volume from which a snapshot should be dynamically taken from. - This field is immutable. - type: string - type: object - oneOf: - - required: ["snapshotHandle"] - - required: ["volumeHandle"] - sourceVolumeMode: - description: SourceVolumeMode is the mode of the volume whose snapshot - is taken. Can be either “Filesystem” or “Block”. If not specified, - it indicates the source volume's mode is unknown. This field is - immutable. This field is an alpha field. - type: string - volumeSnapshotClassName: - description: name of the VolumeSnapshotClass from which this snapshot - was (or will be) created. Note that after provisioning, the VolumeSnapshotClass - may be deleted or recreated with different set of values, and as - such, should not be referenced post-snapshot creation. - type: string - volumeSnapshotRef: - description: volumeSnapshotRef specifies the VolumeSnapshot object - to which this VolumeSnapshotContent object is bound. VolumeSnapshot.Spec.VolumeSnapshotContentName - field must reference to this VolumeSnapshotContent's name for the - bidirectional binding to be valid. For a pre-existing VolumeSnapshotContent - object, name and namespace of the VolumeSnapshot object MUST be - provided for binding to happen. This field is immutable after creation. - Required. - properties: - apiVersion: - description: API version of the referent. - type: string - fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' - type: string - kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - namespace: - description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' - type: string - resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' - type: string - uid: - description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' - type: string - type: object - x-kubernetes-map-type: atomic - required: - - deletionPolicy - - driver - - source - - volumeSnapshotRef - type: object - status: - description: status represents the current information of a snapshot. - properties: - creationTime: - description: creationTime is the timestamp when the point-in-time - snapshot is taken by the underlying storage system. In dynamic snapshot - creation case, this field will be filled in by the CSI snapshotter - sidecar with the "creation_time" value returned from CSI "CreateSnapshot" - gRPC call. For a pre-existing snapshot, this field will be filled - with the "creation_time" value returned from the CSI "ListSnapshots" - gRPC call if the driver supports it. If not specified, it indicates - the creation time is unknown. The format of this field is a Unix - nanoseconds time encoded as an int64. On Unix, the command `date - +%s%N` returns the current time in nanoseconds since 1970-01-01 - 00:00:00 UTC. - format: int64 - type: integer - error: - description: error is the last observed error during snapshot creation, - if any. Upon success after retry, this error field will be cleared. - properties: - message: - description: 'message is a string detailing the encountered error - during snapshot creation if specified. NOTE: message may be - logged, and it should not contain sensitive information.' - type: string - time: - description: time is the timestamp when the error was encountered. - format: date-time - type: string - type: object - readyToUse: - description: readyToUse indicates if a snapshot is ready to be used - to restore a volume. In dynamic snapshot creation case, this field - will be filled in by the CSI snapshotter sidecar with the "ready_to_use" - value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing - snapshot, this field will be filled with the "ready_to_use" value - returned from the CSI "ListSnapshots" gRPC call if the driver supports - it, otherwise, this field will be set to "True". If not specified, - it means the readiness of a snapshot is unknown. - type: boolean - restoreSize: - description: restoreSize represents the complete size of the snapshot - in bytes. In dynamic snapshot creation case, this field will be - filled in by the CSI snapshotter sidecar with the "size_bytes" value - returned from CSI "CreateSnapshot" gRPC call. For a pre-existing - snapshot, this field will be filled with the "size_bytes" value - returned from the CSI "ListSnapshots" gRPC call if the driver supports - it. When restoring a volume from this snapshot, the size of the - volume MUST NOT be smaller than the restoreSize if it is specified, - otherwise the restoration will fail. If not specified, it indicates - that the size is unknown. - format: int64 - minimum: 0 - type: integer - snapshotHandle: - description: snapshotHandle is the CSI "snapshot_id" of a snapshot - on the underlying storage system. If not specified, it indicates - that dynamic snapshot creation has either failed or it is still - in progress. - type: string - volumeGroupSnapshotContentName: - description: VolumeGroupSnapshotContentName is the name of the VolumeGroupSnapshotContent - of which this VolumeSnapshotContent is a part of. - type: string - type: object - required: - - spec - type: object - served: true - storage: true - subresources: - status: {} - - additionalPrinterColumns: - - description: Indicates if the snapshot is ready to be used to restore a volume. - jsonPath: .status.readyToUse - name: ReadyToUse - type: boolean - - description: Represents the complete size of the snapshot in bytes - jsonPath: .status.restoreSize - name: RestoreSize - type: integer - - description: Determines whether this VolumeSnapshotContent and its physical snapshot on the underlying storage system should be deleted when its bound VolumeSnapshot is deleted. - jsonPath: .spec.deletionPolicy - name: DeletionPolicy - type: string - - description: Name of the CSI driver used to create the physical snapshot on the underlying storage system. - jsonPath: .spec.driver - name: Driver - type: string - - description: Name of the VolumeSnapshotClass to which this snapshot belongs. - jsonPath: .spec.volumeSnapshotClassName - name: VolumeSnapshotClass - type: string - - description: Name of the VolumeSnapshot object to which this VolumeSnapshotContent object is bound. - jsonPath: .spec.volumeSnapshotRef.name - name: VolumeSnapshot - type: string - - description: Namespace of the VolumeSnapshot object to which this VolumeSnapshotContent object is bound. - jsonPath: .spec.volumeSnapshotRef.namespace - name: VolumeSnapshotNamespace - type: string - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1beta1 - # This indicates the v1beta1 version of the custom resource is deprecated. - # API requests to this version receive a warning in the server response. - deprecated: true - # This overrides the default warning returned to clients making v1beta1 API requests. - deprecationWarning: "snapshot.storage.k8s.io/v1beta1 VolumeSnapshotContent is deprecated; use snapshot.storage.k8s.io/v1 VolumeSnapshotContent" - schema: - openAPIV3Schema: - description: VolumeSnapshotContent represents the actual "on-disk" snapshot object in the underlying storage system - 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 - spec: - description: spec defines properties of a VolumeSnapshotContent created by the underlying storage system. Required. - properties: - deletionPolicy: - description: deletionPolicy determines whether this VolumeSnapshotContent and its physical snapshot on the underlying storage system should be deleted when its bound VolumeSnapshot is deleted. Supported values are "Retain" and "Delete". "Retain" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are kept. "Delete" means that the VolumeSnapshotContent and its physical snapshot on underlying storage system are deleted. For dynamically provisioned snapshots, this field will automatically be filled in by the CSI snapshotter sidecar with the "DeletionPolicy" field defined in the corresponding VolumeSnapshotClass. For pre-existing snapshots, users MUST specify this field when creating the VolumeSnapshotContent object. Required. - enum: - - Delete - - Retain - type: string - driver: - description: driver is the name of the CSI driver used to create the physical snapshot on the underlying storage system. This MUST be the same as the name returned by the CSI GetPluginName() call for that driver. Required. - type: string - source: - description: source specifies whether the snapshot is (or should be) dynamically provisioned or already exists, and just requires a Kubernetes object representation. This field is immutable after creation. Required. - properties: - snapshotHandle: - description: snapshotHandle specifies the CSI "snapshot_id" of a pre-existing snapshot on the underlying storage system for which a Kubernetes object representation was (or should be) created. This field is immutable. - type: string - volumeHandle: - description: volumeHandle specifies the CSI "volume_id" of the volume from which a snapshot should be dynamically taken from. This field is immutable. - type: string - type: object - volumeSnapshotClassName: - description: name of the VolumeSnapshotClass from which this snapshot was (or will be) created. Note that after provisioning, the VolumeSnapshotClass may be deleted or recreated with different set of values, and as such, should not be referenced post-snapshot creation. - type: string - volumeSnapshotRef: - description: volumeSnapshotRef specifies the VolumeSnapshot object to which this VolumeSnapshotContent object is bound. VolumeSnapshot.Spec.VolumeSnapshotContentName field must reference to this VolumeSnapshotContent's name for the bidirectional binding to be valid. For a pre-existing VolumeSnapshotContent object, name and namespace of the VolumeSnapshot object MUST be provided for binding to happen. This field is immutable after creation. Required. - properties: - apiVersion: - description: API version of the referent. - type: string - fieldPath: - description: 'If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object. TODO: this design is not final and this field is subject to change in the future.' - type: string - kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' - type: string - namespace: - description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' - type: string - resourceVersion: - description: 'Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' - type: string - uid: - description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' - type: string - type: object - required: - - deletionPolicy - - driver - - source - - volumeSnapshotRef - type: object - status: - description: status represents the current information of a snapshot. - properties: - creationTime: - description: creationTime is the timestamp when the point-in-time snapshot is taken by the underlying storage system. In dynamic snapshot creation case, this field will be filled in by the CSI snapshotter sidecar with the "creation_time" value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing snapshot, this field will be filled with the "creation_time" value returned from the CSI "ListSnapshots" gRPC call if the driver supports it. If not specified, it indicates the creation time is unknown. The format of this field is a Unix nanoseconds time encoded as an int64. On Unix, the command `date +%s%N` returns the current time in nanoseconds since 1970-01-01 00:00:00 UTC. - format: int64 - type: integer - error: - description: error is the last observed error during snapshot creation, if any. Upon success after retry, this error field will be cleared. - properties: - message: - description: 'message is a string detailing the encountered error during snapshot creation if specified. NOTE: message may be logged, and it should not contain sensitive information.' - type: string - time: - description: time is the timestamp when the error was encountered. - format: date-time - type: string - type: object - readyToUse: - description: readyToUse indicates if a snapshot is ready to be used to restore a volume. In dynamic snapshot creation case, this field will be filled in by the CSI snapshotter sidecar with the "ready_to_use" value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing snapshot, this field will be filled with the "ready_to_use" value returned from the CSI "ListSnapshots" gRPC call if the driver supports it, otherwise, this field will be set to "True". If not specified, it means the readiness of a snapshot is unknown. - type: boolean - restoreSize: - description: restoreSize represents the complete size of the snapshot in bytes. In dynamic snapshot creation case, this field will be filled in by the CSI snapshotter sidecar with the "size_bytes" value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing snapshot, this field will be filled with the "size_bytes" value returned from the CSI "ListSnapshots" gRPC call if the driver supports it. When restoring a volume from this snapshot, the size of the volume MUST NOT be smaller than the restoreSize if it is specified, otherwise the restoration will fail. If not specified, it indicates that the size is unknown. - format: int64 - minimum: 0 - type: integer - snapshotHandle: - description: snapshotHandle is the CSI "snapshot_id" of a snapshot on the underlying storage system. If not specified, it indicates that dynamic snapshot creation has either failed or it is still in progress. - type: string - type: object - required: - - spec - type: object - served: false - storage: false - subresources: - status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/crds/snapshot.storage.k8s.io_volumesnapshots.yaml b/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/crds/snapshot.storage.k8s.io_volumesnapshots.yaml deleted file mode 100644 index 3e7f99663..000000000 --- a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/crds/snapshot.storage.k8s.io_volumesnapshots.yaml +++ /dev/null @@ -1,312 +0,0 @@ ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.11.3 - api-approved.kubernetes.io: "https://github.com/kubernetes-csi/external-snapshotter/pull/814" - creationTimestamp: null - name: volumesnapshots.snapshot.storage.k8s.io -spec: - group: snapshot.storage.k8s.io - names: - kind: VolumeSnapshot - listKind: VolumeSnapshotList - plural: volumesnapshots - shortNames: - - vs - singular: volumesnapshot - scope: Namespaced - versions: - - additionalPrinterColumns: - - description: Indicates if the snapshot is ready to be used to restore a volume. - jsonPath: .status.readyToUse - name: ReadyToUse - type: boolean - - description: If a new snapshot needs to be created, this contains the name of - the source PVC from which this snapshot was (or will be) created. - jsonPath: .spec.source.persistentVolumeClaimName - name: SourcePVC - type: string - - description: If a snapshot already exists, this contains the name of the existing - VolumeSnapshotContent object representing the existing snapshot. - jsonPath: .spec.source.volumeSnapshotContentName - name: SourceSnapshotContent - type: string - - description: Represents the minimum size of volume required to rehydrate from - this snapshot. - jsonPath: .status.restoreSize - name: RestoreSize - type: string - - description: The name of the VolumeSnapshotClass requested by the VolumeSnapshot. - jsonPath: .spec.volumeSnapshotClassName - name: SnapshotClass - type: string - - description: Name of the VolumeSnapshotContent object to which the VolumeSnapshot - object intends to bind to. Please note that verification of binding actually - requires checking both VolumeSnapshot and VolumeSnapshotContent to ensure - both are pointing at each other. Binding MUST be verified prior to usage of - this object. - jsonPath: .status.boundVolumeSnapshotContentName - name: SnapshotContent - type: string - - description: Timestamp when the point-in-time snapshot was taken by the underlying - storage system. - jsonPath: .status.creationTime - name: CreationTime - type: date - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1 - schema: - openAPIV3Schema: - description: VolumeSnapshot is a user's request for either creating a point-in-time - snapshot of a persistent volume, or binding to a pre-existing snapshot. - 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 - spec: - description: 'spec defines the desired characteristics of a snapshot requested - by a user. More info: https://kubernetes.io/docs/concepts/storage/volume-snapshots#volumesnapshots - Required.' - properties: - source: - description: source specifies where a snapshot will be created from. - This field is immutable after creation. Required. - properties: - persistentVolumeClaimName: - description: persistentVolumeClaimName specifies the name of the - PersistentVolumeClaim object representing the volume from which - a snapshot should be created. This PVC is assumed to be in the - same namespace as the VolumeSnapshot object. This field should - be set if the snapshot does not exists, and needs to be created. - This field is immutable. - type: string - volumeSnapshotContentName: - description: volumeSnapshotContentName specifies the name of a - pre-existing VolumeSnapshotContent object representing an existing - volume snapshot. This field should be set if the snapshot already - exists and only needs a representation in Kubernetes. This field - is immutable. - type: string - type: object - oneOf: - - required: ["persistentVolumeClaimName"] - - required: ["volumeSnapshotContentName"] - volumeSnapshotClassName: - description: 'VolumeSnapshotClassName is the name of the VolumeSnapshotClass - requested by the VolumeSnapshot. VolumeSnapshotClassName may be - left nil to indicate that the default SnapshotClass should be used. - A given cluster may have multiple default Volume SnapshotClasses: - one default per CSI Driver. If a VolumeSnapshot does not specify - a SnapshotClass, VolumeSnapshotSource will be checked to figure - out what the associated CSI Driver is, and the default VolumeSnapshotClass - associated with that CSI Driver will be used. If more than one VolumeSnapshotClass - exist for a given CSI Driver and more than one have been marked - as default, CreateSnapshot will fail and generate an event. Empty - string is not allowed for this field.' - type: string - required: - - source - type: object - status: - description: status represents the current information of a snapshot. - Consumers must verify binding between VolumeSnapshot and VolumeSnapshotContent - objects is successful (by validating that both VolumeSnapshot and VolumeSnapshotContent - point at each other) before using this object. - properties: - boundVolumeSnapshotContentName: - description: 'boundVolumeSnapshotContentName is the name of the VolumeSnapshotContent - object to which this VolumeSnapshot object intends to bind to. If - not specified, it indicates that the VolumeSnapshot object has not - been successfully bound to a VolumeSnapshotContent object yet. NOTE: - To avoid possible security issues, consumers must verify binding - between VolumeSnapshot and VolumeSnapshotContent objects is successful - (by validating that both VolumeSnapshot and VolumeSnapshotContent - point at each other) before using this object.' - type: string - creationTime: - description: creationTime is the timestamp when the point-in-time - snapshot is taken by the underlying storage system. In dynamic snapshot - creation case, this field will be filled in by the snapshot controller - with the "creation_time" value returned from CSI "CreateSnapshot" - gRPC call. For a pre-existing snapshot, this field will be filled - with the "creation_time" value returned from the CSI "ListSnapshots" - gRPC call if the driver supports it. If not specified, it may indicate - that the creation time of the snapshot is unknown. - format: date-time - type: string - error: - description: error is the last observed error during snapshot creation, - if any. This field could be helpful to upper level controllers(i.e., - application controller) to decide whether they should continue on - waiting for the snapshot to be created based on the type of error - reported. The snapshot controller will keep retrying when an error - occurs during the snapshot creation. Upon success, this error field - will be cleared. - properties: - message: - description: 'message is a string detailing the encountered error - during snapshot creation if specified. NOTE: message may be - logged, and it should not contain sensitive information.' - type: string - time: - description: time is the timestamp when the error was encountered. - format: date-time - type: string - type: object - readyToUse: - description: readyToUse indicates if the snapshot is ready to be used - to restore a volume. In dynamic snapshot creation case, this field - will be filled in by the snapshot controller with the "ready_to_use" - value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing - snapshot, this field will be filled with the "ready_to_use" value - returned from the CSI "ListSnapshots" gRPC call if the driver supports - it, otherwise, this field will be set to "True". If not specified, - it means the readiness of a snapshot is unknown. - type: boolean - restoreSize: - type: string - description: restoreSize represents the minimum size of volume required - to create a volume from this snapshot. In dynamic snapshot creation - case, this field will be filled in by the snapshot controller with - the "size_bytes" value returned from CSI "CreateSnapshot" gRPC call. - For a pre-existing snapshot, this field will be filled with the - "size_bytes" value returned from the CSI "ListSnapshots" gRPC call - if the driver supports it. When restoring a volume from this snapshot, - the size of the volume MUST NOT be smaller than the restoreSize - if it is specified, otherwise the restoration will fail. If not - specified, it indicates that the size is unknown. - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - volumeGroupSnapshotName: - description: VolumeGroupSnapshotName is the name of the VolumeGroupSnapshot - of which this VolumeSnapshot is a part of. - type: string - type: object - required: - - spec - type: object - served: true - storage: true - subresources: - status: {} - - additionalPrinterColumns: - - description: Indicates if the snapshot is ready to be used to restore a volume. - jsonPath: .status.readyToUse - name: ReadyToUse - type: boolean - - description: If a new snapshot needs to be created, this contains the name of the source PVC from which this snapshot was (or will be) created. - jsonPath: .spec.source.persistentVolumeClaimName - name: SourcePVC - type: string - - description: If a snapshot already exists, this contains the name of the existing VolumeSnapshotContent object representing the existing snapshot. - jsonPath: .spec.source.volumeSnapshotContentName - name: SourceSnapshotContent - type: string - - description: Represents the minimum size of volume required to rehydrate from this snapshot. - jsonPath: .status.restoreSize - name: RestoreSize - type: string - - description: The name of the VolumeSnapshotClass requested by the VolumeSnapshot. - jsonPath: .spec.volumeSnapshotClassName - name: SnapshotClass - type: string - - description: Name of the VolumeSnapshotContent object to which the VolumeSnapshot object intends to bind to. Please note that verification of binding actually requires checking both VolumeSnapshot and VolumeSnapshotContent to ensure both are pointing at each other. Binding MUST be verified prior to usage of this object. - jsonPath: .status.boundVolumeSnapshotContentName - name: SnapshotContent - type: string - - description: Timestamp when the point-in-time snapshot was taken by the underlying storage system. - jsonPath: .status.creationTime - name: CreationTime - type: date - - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1beta1 - # This indicates the v1beta1 version of the custom resource is deprecated. - # API requests to this version receive a warning in the server response. - deprecated: true - # This overrides the default warning returned to clients making v1beta1 API requests. - deprecationWarning: "snapshot.storage.k8s.io/v1beta1 VolumeSnapshot is deprecated; use snapshot.storage.k8s.io/v1 VolumeSnapshot" - schema: - openAPIV3Schema: - description: VolumeSnapshot is a user's request for either creating a point-in-time snapshot of a persistent volume, or binding to a pre-existing snapshot. - 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 - spec: - description: 'spec defines the desired characteristics of a snapshot requested by a user. More info: https://kubernetes.io/docs/concepts/storage/volume-snapshots#volumesnapshots Required.' - properties: - source: - description: source specifies where a snapshot will be created from. This field is immutable after creation. Required. - properties: - persistentVolumeClaimName: - description: persistentVolumeClaimName specifies the name of the PersistentVolumeClaim object representing the volume from which a snapshot should be created. This PVC is assumed to be in the same namespace as the VolumeSnapshot object. This field should be set if the snapshot does not exists, and needs to be created. This field is immutable. - type: string - volumeSnapshotContentName: - description: volumeSnapshotContentName specifies the name of a pre-existing VolumeSnapshotContent object representing an existing volume snapshot. This field should be set if the snapshot already exists and only needs a representation in Kubernetes. This field is immutable. - type: string - type: object - volumeSnapshotClassName: - description: 'VolumeSnapshotClassName is the name of the VolumeSnapshotClass requested by the VolumeSnapshot. VolumeSnapshotClassName may be left nil to indicate that the default SnapshotClass should be used. A given cluster may have multiple default Volume SnapshotClasses: one default per CSI Driver. If a VolumeSnapshot does not specify a SnapshotClass, VolumeSnapshotSource will be checked to figure out what the associated CSI Driver is, and the default VolumeSnapshotClass associated with that CSI Driver will be used. If more than one VolumeSnapshotClass exist for a given CSI Driver and more than one have been marked as default, CreateSnapshot will fail and generate an event. Empty string is not allowed for this field.' - type: string - required: - - source - type: object - status: - description: status represents the current information of a snapshot. Consumers must verify binding between VolumeSnapshot and VolumeSnapshotContent objects is successful (by validating that both VolumeSnapshot and VolumeSnapshotContent point at each other) before using this object. - properties: - boundVolumeSnapshotContentName: - description: 'boundVolumeSnapshotContentName is the name of the VolumeSnapshotContent object to which this VolumeSnapshot object intends to bind to. If not specified, it indicates that the VolumeSnapshot object has not been successfully bound to a VolumeSnapshotContent object yet. NOTE: To avoid possible security issues, consumers must verify binding between VolumeSnapshot and VolumeSnapshotContent objects is successful (by validating that both VolumeSnapshot and VolumeSnapshotContent point at each other) before using this object.' - type: string - creationTime: - description: creationTime is the timestamp when the point-in-time snapshot is taken by the underlying storage system. In dynamic snapshot creation case, this field will be filled in by the snapshot controller with the "creation_time" value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing snapshot, this field will be filled with the "creation_time" value returned from the CSI "ListSnapshots" gRPC call if the driver supports it. If not specified, it may indicate that the creation time of the snapshot is unknown. - format: date-time - type: string - error: - description: error is the last observed error during snapshot creation, if any. This field could be helpful to upper level controllers(i.e., application controller) to decide whether they should continue on waiting for the snapshot to be created based on the type of error reported. The snapshot controller will keep retrying when an error occurs during the snapshot creation. Upon success, this error field will be cleared. - properties: - message: - description: 'message is a string detailing the encountered error during snapshot creation if specified. NOTE: message may be logged, and it should not contain sensitive information.' - type: string - time: - description: time is the timestamp when the error was encountered. - format: date-time - type: string - type: object - readyToUse: - description: readyToUse indicates if the snapshot is ready to be used to restore a volume. In dynamic snapshot creation case, this field will be filled in by the snapshot controller with the "ready_to_use" value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing snapshot, this field will be filled with the "ready_to_use" value returned from the CSI "ListSnapshots" gRPC call if the driver supports it, otherwise, this field will be set to "True". If not specified, it means the readiness of a snapshot is unknown. - type: boolean - restoreSize: - type: string - description: restoreSize represents the minimum size of volume required to create a volume from this snapshot. In dynamic snapshot creation case, this field will be filled in by the snapshot controller with the "size_bytes" value returned from CSI "CreateSnapshot" gRPC call. For a pre-existing snapshot, this field will be filled with the "size_bytes" value returned from the CSI "ListSnapshots" gRPC call if the driver supports it. When restoring a volume from this snapshot, the size of the volume MUST NOT be smaller than the restoreSize if it is specified, otherwise the restoration will fail. If not specified, it indicates that the size is unknown. - pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ - x-kubernetes-int-or-string: true - type: object - required: - - spec - type: object - served: false - storage: false - subresources: - status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/NOTES.txt b/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/NOTES.txt deleted file mode 100644 index d85ed6ee4..000000000 --- a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/NOTES.txt +++ /dev/null @@ -1,38 +0,0 @@ -Validation for VolumeSnapshots installed. - -{{- if and (not .Values.tls.certManagerIssuerRef) (lookup "v1" "Secret" .Release.Namespace (include "snapshot-validation-webhook.certifcateName" .)) }} -No TLS secret was specified, defaulting to '{{ include "snapshot-validation-webhook.certifcateName" . }}'. Please ensure that secret exists, then upgrade -the chart. -{{- end }} - -Please run `helm test {{ .Release.Name }}` to ensure it's properly working. - -{{- if .Capabilities.APIVersions.Has "snapshot.storage.k8s.io/v1beta1" }} - -Your cluster is using snapshot.storage.k8s.io/v1beta resources. Before upgrading to a >= v4.0.0 release of the CRDs -you MUST ensure that all existing snapshot resources are valid. - -The snapshot controller (>= v3.0.0) will label any invalid resources, which you can then inspect and delete as necessary: - -kubectl get volumesnapshots --selector=snapshot.storage.kubernetes.io/invalid-snapshot-resource="" --all-namespaces -kubectl get volumesnapshotcontents --selector=snapshot.storage.kubernetes.io/invalid-snapshot-resource="" --all-namespaces - -After you deleted every invalid resource, you can upgrade the CRDs: - -kubectl replace -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/{{ .Chart.AppVersion }}/client/config/crd/snapshot.storage.k8s.io_volumesnapshotclasses.yaml -kubectl replace -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/{{ .Chart.AppVersion }}/client/config/crd/snapshot.storage.k8s.io_volumesnapshots.yaml -kubectl replace -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/{{ .Chart.AppVersion }}/client/config/crd/snapshot.storage.k8s.io_volumesnapshotcontents.yaml - -{{- else if not (.Capabilities.APIVersions.Has "snapshot.storage.k8s.io/v1") }} - -If everything is working as it should, you can proceed by adding the snapshot.storage.k8s.io CRDs to your cluster: - -kubectl apply -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/{{ .Chart.AppVersion }}/client/config/crd/snapshot.storage.k8s.io_volumesnapshotclasses.yaml -kubectl apply -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/{{ .Chart.AppVersion }}/client/config/crd/snapshot.storage.k8s.io_volumesnapshots.yaml -kubectl apply -f https://raw.githubusercontent.com/kubernetes-csi/external-snapshotter/{{ .Chart.AppVersion }}/client/config/crd/snapshot.storage.k8s.io_volumesnapshotcontents.yaml - -{{- else }} - -You already seem to have the latest snapshot.storage.k8s.io CRDs deployed on your cluster, so you are good to go. - -{{ end }} diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/_helpers.tpl b/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/_helpers.tpl deleted file mode 100644 index 523722255..000000000 --- a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/_helpers.tpl +++ /dev/null @@ -1,68 +0,0 @@ -{{/* -Expand the name of the chart. -*/}} -{{- define "snapshot-validation-webhook.name" -}} -{{- .Chart.Name | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Create a default fully qualified app name. -We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec). -If release name contains chart name it will be used as a full name. -*/}} -{{- define "snapshot-validation-webhook.fullname" -}} -{{- if contains .Chart.Name .Release.Name }} -{{- .Release.Name | trunc 63 | trimSuffix "-" }} -{{- else }} -{{- printf "%s-%s" .Release.Name .Chart.Name | trunc 63 | trimSuffix "-" }} -{{- end }} -{{- end }} - -{{/* -Create chart name and version as used by the chart label. -*/}} -{{- define "snapshot-validation-webhook.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} -{{- end }} - -{{/* -Common labels -*/}} -{{- define "snapshot-validation-webhook.labels" -}} -helm.sh/chart: {{ include "snapshot-validation-webhook.chart" . }} -{{ include "snapshot-validation-webhook.selectorLabels" . }} -{{- if .Chart.AppVersion }} -app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} -{{- end }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end }} - -{{/* -Selector labels -*/}} -{{- define "snapshot-validation-webhook.selectorLabels" -}} -app.kubernetes.io/name: {{ include "snapshot-validation-webhook.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end }} - -{{/* -Create the name of the service account to use -*/}} -{{- define "snapshot-validation-webhook.serviceAccountName" -}} -{{- if .Values.serviceAccount.create -}} - {{ default (include "snapshot-validation-webhook.fullname" .) .Values.serviceAccount.name }} -{{- else -}} - {{ default "default" .Values.serviceAccount.name }} -{{- end -}} -{{- end -}} - -{{/* -Certificate secret name -*/}} -{{- define "snapshot-validation-webhook.certifcateName" -}} -{{- if .Values.tls.certificateSecret }} -{{- .Values.tls.certificateSecret }} -{{- else }} -{{- include "snapshot-validation-webhook.fullname" . }}-tls -{{- end }} -{{- end }} diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/deployment.yaml b/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/deployment.yaml deleted file mode 100644 index 6d4774ae9..000000000 --- a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/deployment.yaml +++ /dev/null @@ -1,82 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ include "snapshot-validation-webhook.fullname" . }} - labels: - {{- include "snapshot-validation-webhook.labels" . | nindent 4 }} -spec: - replicas: {{ .Values.replicaCount }} - selector: - matchLabels: - {{- include "snapshot-validation-webhook.selectorLabels" . | nindent 6 }} - template: - metadata: - {{- with .Values.podAnnotations }} - annotations: - {{- toYaml . | nindent 8 }} - {{- end }} - labels: - {{- include "snapshot-validation-webhook.selectorLabels" . | nindent 8 }} - {{- with .Values.podLabels }} - {{- toYaml . | nindent 8 }} - {{- end }} - spec: - {{- with .Values.imagePullSecrets }} - imagePullSecrets: - {{- toYaml . | nindent 8 }} - {{- end }} - serviceAccountName: {{ include "snapshot-validation-webhook.serviceAccountName" . }} - securityContext: - {{- toYaml .Values.podSecurityContext | nindent 8 }} - {{- with .Values.priorityClassName }} - priorityClassName: {{ . }} - {{- end }} - containers: - - name: {{ .Chart.Name }} - securityContext: - {{- toYaml .Values.securityContext | nindent 12 }} - image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - args: - {{- range $flag, $val := .Values.args }} - - --{{ $flag | kebabcase }}={{ $val }} - {{- end }} - ports: - - name: https - containerPort: {{ .Values.args.port | default 8443 }} - protocol: TCP - volumeMounts: - - mountPath: /etc/snapshot-validation - name: tls-config - livenessProbe: - httpGet: - path: /readyz - port: https - scheme: HTTPS - readinessProbe: - httpGet: - path: /readyz - port: https - scheme: HTTPS - resources: - {{- toYaml .Values.resources | nindent 12 }} - volumes: - - name: tls-config - secret: - secretName: {{ include "snapshot-validation-webhook.certifcateName" . }} - {{- with .Values.nodeSelector }} - nodeSelector: - {{- toYaml . | nindent 8 }} - {{- end }} - {{- with .Values.affinity }} - affinity: - {{- toYaml . | nindent 8 }} - {{- end }} - {{- if .Values.topologySpreadConstraints }} - topologySpreadConstraints: - {{- toYaml .Values.topologySpreadConstraints | nindent 8 }} - {{- end }} - {{- with .Values.tolerations }} - tolerations: - {{- toYaml . | nindent 8 }} - {{- end }} diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/networkpolicy.yaml b/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/networkpolicy.yaml deleted file mode 100644 index 9efabaa88..000000000 --- a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/networkpolicy.yaml +++ /dev/null @@ -1,20 +0,0 @@ -{{- if .Values.networkPolicy.enabled -}} -kind: NetworkPolicy -apiVersion: networking.k8s.io/v1 -metadata: - name: {{ include "snapshot-validation-webhook.fullname" . }} - labels: - {{- include "snapshot-validation-webhook.labels" . | nindent 4 }} -spec: - podSelector: - matchLabels: - {{- include "snapshot-validation-webhook.selectorLabels" . | nindent 6 }} - ingress: - - from: - - podSelector: - matchLabels: - {{- include "snapshot-validation-webhook.selectorLabels" . | nindent 12 }} - {{- with .Values.networkPolicy.ingress }} - {{- toYaml . | nindent 4 }} - {{- end }} -{{- end -}} \ No newline at end of file diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/poddisruptionbudget.yaml b/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/poddisruptionbudget.yaml deleted file mode 100644 index d160ec9c3..000000000 --- a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/poddisruptionbudget.yaml +++ /dev/null @@ -1,22 +0,0 @@ -{{- if .Values.podDisruptionBudget.enabled -}} -{{- if .Capabilities.APIVersions.Has "policy/v1/PodDisruptionBudget" }} -apiVersion: policy/v1 -{{- else }} -apiVersion: policy/v1beta1 -{{- end }} -kind: PodDisruptionBudget -metadata: - name: {{ include "snapshot-validation-webhook.fullname" . }} - labels: - {{- include "snapshot-validation-webhook.labels" . | nindent 4 }} -spec: - selector: - matchLabels: - {{- include "snapshot-validation-webhook.selectorLabels" . | nindent 6 }} - {{- if .Values.podDisruptionBudget.minAvailable }} - minAvailable: {{ .Values.podDisruptionBudget.minAvailable }} - {{- end }} - {{- if .Values.podDisruptionBudget.maxUnavailable }} - maxUnavailable: {{ .Values.podDisruptionBudget.maxUnavailable }} - {{- end }} -{{- end -}} \ No newline at end of file diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/service.yaml b/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/service.yaml deleted file mode 100644 index 05963d78e..000000000 --- a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/service.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "snapshot-validation-webhook.fullname" . }} - labels: - {{- include "snapshot-validation-webhook.labels" . | nindent 4 }} -spec: - type: ClusterIP - ports: - - port: 443 - targetPort: https - protocol: TCP - name: https - selector: - {{- include "snapshot-validation-webhook.selectorLabels" . | nindent 4 }} ---- diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/serviceaccount.yaml b/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/serviceaccount.yaml deleted file mode 100644 index 62e512025..000000000 --- a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/serviceaccount.yaml +++ /dev/null @@ -1,33 +0,0 @@ -{{- if .Values.serviceAccount.create }} ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: {{ include "snapshot-validation-webhook.serviceAccountName" . }} - labels: - {{- include "snapshot-validation-webhook.labels" . | nindent 4 }} -{{- end }} -{{- if .Values.rbac.create }} ---- -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: {{ include "snapshot-validation-webhook.fullname" . }} -rules: - - apiGroups: ["snapshot.storage.k8s.io", "groupsnapshot.storage.k8s.io"] - resources: ["volumesnapshotclasses", "volumegroupsnapshotclasses"] - verbs: ["list", "watch"] ---- -kind: ClusterRoleBinding -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: {{ include "snapshot-validation-webhook.fullname" . }} -subjects: - - kind: ServiceAccount - name: {{ include "snapshot-validation-webhook.serviceAccountName" . }} - namespace: {{ .Release.Namespace }} -roleRef: - kind: ClusterRole - name: {{ include "snapshot-validation-webhook.fullname" . }} - apiGroup: rbac.authorization.k8s.io -{{- end }} diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/tests/test-invalid-body.yaml b/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/tests/test-invalid-body.yaml deleted file mode 100644 index aff33ebde..000000000 --- a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/tests/test-invalid-body.yaml +++ /dev/null @@ -1,18 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: "{{ include "snapshot-validation-webhook.fullname" . }}-test-invalid-body" - labels: - {{- include "snapshot-validation-webhook.labels" . | nindent 4 }} - annotations: - "helm.sh/hook": test -spec: - containers: - - name: curl - image: curlimages/curl - args: - - sh - - -exc - - | - curl -kfsS -X POST -H 'Content-Type: application/json' -d '{{ .Files.Get "tests/invalid-admission.json" | trim }}' https://{{ include "snapshot-validation-webhook.fullname" . }}/volumesnapshot | grep -c '"allowed":false' - restartPolicy: Never diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/tests/test-valid-body.yaml b/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/tests/test-valid-body.yaml deleted file mode 100644 index fa95825d8..000000000 --- a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/tests/test-valid-body.yaml +++ /dev/null @@ -1,18 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: "{{ include "snapshot-validation-webhook.fullname" . }}-test-valid-body" - labels: - {{- include "snapshot-validation-webhook.labels" . | nindent 4 }} - annotations: - "helm.sh/hook": test -spec: - containers: - - name: curl - image: curlimages/curl - args: - - sh - - -exc - - | - curl -kfsS -X POST -H 'Content-Type: application/json' -d '{{ .Files.Get "tests/valid-admission.json" | trim }}' https://{{ include "snapshot-validation-webhook.fullname" . }}/volumesnapshot | grep -c '"allowed":true' - restartPolicy: Never diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/webhook.yaml b/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/webhook.yaml deleted file mode 100644 index 06b8e7657..000000000 --- a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/templates/webhook.yaml +++ /dev/null @@ -1,115 +0,0 @@ -# Check if the TLS secret already exists and initialize variables for later use at the top level -{{- $secret := lookup "v1" "Secret" .Release.Namespace (include "snapshot-validation-webhook.certifcateName" .) }} -{{ $ca := "" }} -{{ $key := "" }} -{{ $crt := "" }} ---- -{{- if .Values.tls.certManagerIssuerRef }} -apiVersion: cert-manager.io/v1 -kind: Certificate -metadata: - name: {{ include "snapshot-validation-webhook.fullname" . }} - labels: - {{- include "snapshot-validation-webhook.labels" . | nindent 4 }} -spec: - secretName: {{ include "snapshot-validation-webhook.certifcateName" . }} - dnsNames: - - {{ include "snapshot-validation-webhook.fullname" . }}.{{ .Release.Namespace }}.svc - issuerRef: - {{- toYaml .Values.tls.certManagerIssuerRef | nindent 4 }} - privateKey: - rotationPolicy: Always ---- -{{- else if .Values.tls.autogenerate }} - {{- if and $secret (not .Values.tls.renew) }} - {{- $ca = get $secret.data "ca.crt" }} - {{- $key = get $secret.data "tls.key" }} - {{- $crt = get $secret.data "tls.crt" }} - {{- else }} - {{- $serviceName := (printf "%s.%s.svc" (include "snapshot-validation-webhook.fullname" .) .Release.Namespace)}} - {{- $cert := genSelfSignedCert $serviceName nil (list $serviceName) 3650 }} - {{- $ca = b64enc $cert.Cert }} - {{- $key = b64enc $cert.Key }} - {{- $crt = b64enc $cert.Cert }} - {{- end }} -apiVersion: v1 -kind: Secret -metadata: - name: {{ include "snapshot-validation-webhook.certifcateName" . }} - labels: - {{- include "snapshot-validation-webhook.labels" . | nindent 4 }} -type: kubernetes.io/tls -data: - ca.crt: {{ $ca }} - tls.key: {{ $key }} - tls.crt: {{ $crt }} ---- -{{- end }} -apiVersion: admissionregistration.k8s.io/v1 -kind: ValidatingWebhookConfiguration -metadata: - name: {{ include "snapshot-validation-webhook.fullname" . }} - labels: - {{- include "snapshot-validation-webhook.labels" . | nindent 4 }} - {{- if .Values.tls.certManagerIssuerRef }} - annotations: - cert-manager.io/inject-ca-from: {{ .Release.Namespace }}/{{ include "snapshot-validation-webhook.fullname" . }} - {{- end }} -webhooks: - - name: {{ include "snapshot-validation-webhook.name" . }}.snapshot.storage.k8s.io - rules: - - apiGroups: - - snapshot.storage.k8s.io - apiVersions: - - v1 - - v1beta1 - operations: - - CREATE - - UPDATE - resources: - - volumesnapshots - - volumesnapshotclasses - - volumesnapshotcontents - scope: "*" - clientConfig: - service: - namespace: {{ .Release.Namespace }} - name: {{ include "snapshot-validation-webhook.fullname" . }} - path: "/volumesnapshot" - {{- if not .Values.tls.certManagerIssuerRef }} - caBundle: {{ $ca }} - {{- end }} - admissionReviewVersions: - - v1 - - v1beta1 - sideEffects: None - failurePolicy: {{ .Values.webhook.failurePolicy }} - timeoutSeconds: {{ .Values.webhook.timeoutSeconds }} - - name: {{ include "snapshot-validation-webhook.name" . }}.groupsnapshot.storage.k8s.io - rules: - - apiGroups: - - groupsnapshot.storage.k8s.io - apiVersions: - - v1alpha1 - operations: - - CREATE - - UPDATE - resources: - - volumegroupsnapshots - - volumegroupsnapshotcontents - - volumegroupsnapshotclasses - scope: "*" - clientConfig: - service: - namespace: {{ .Release.Namespace }} - name: {{ include "snapshot-validation-webhook.fullname" . }} - path: "/volumegroupsnapshot" - {{- if not .Values.tls.certManagerIssuerRef }} - caBundle: {{ $ca }} - {{- end }} - admissionReviewVersions: - - v1 - - v1beta1 - sideEffects: None - failurePolicy: {{ .Values.webhook.failurePolicy }} - timeoutSeconds: {{ .Values.webhook.timeoutSeconds }} diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/values.yaml b/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/values.yaml deleted file mode 100644 index 771bc4464..000000000 --- a/argocd-helm-charts/external-snapshotter/charts/snapshot-validation-webhook/values.yaml +++ /dev/null @@ -1,79 +0,0 @@ -replicaCount: 1 - -args: - tlsPrivateKeyFile: /etc/snapshot-validation/tls.key - tlsCertFile: /etc/snapshot-validation/tls.crt - port: 8443 - # enableVolumeGroupSnapshotWebhook: true - -image: - repository: registry.k8s.io/sig-storage/snapshot-validation-webhook - pullPolicy: IfNotPresent - # Overrides the image tag whose default is the chart appVersion. - tag: "" - -webhook: - timeoutSeconds: 2 - failurePolicy: Fail - -tls: - certificateSecret: "" - autogenerate: true - renew: false - certManagerIssuerRef: {} - -imagePullSecrets: [] -podAnnotations: {} -podLabels: {} - -networkPolicy: - enabled: false - ingress: {} - # - from: - # - ipBlock: - # cidr: 0.0.0.0/0 - -## Ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/ -## -podDisruptionBudget: - enabled: false - # maxUnavailable: 1 - # minAvailable: 0 - -priorityClassName: - -## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/ -## -topologySpreadConstraints: [] - # - maxSkew: 1 - # topologyKey: topology.kubernetes.io/zone - # whenUnsatisfiable: ScheduleAnyway - # labelSelector: - # matchLabels: - # app.kubernetes.io/instance: snapshot-validation-webhook - -podSecurityContext: {} - # fsGroup: 2000 - -securityContext: - capabilities: - drop: - - ALL - readOnlyRootFilesystem: true - runAsNonRoot: true - runAsUser: 1000 - -resources: {} - -nodeSelector: {} - -tolerations: [] - -affinity: {} - -serviceAccount: - create: true - name: "" - -rbac: - create: true diff --git a/argocd-helm-charts/external-snapshotter/values.yaml b/argocd-helm-charts/external-snapshotter/values.yaml deleted file mode 100644 index e69de29bb..000000000 diff --git a/argocd-helm-charts/snapshot-controller/Chart.lock b/argocd-helm-charts/snapshot-controller/Chart.lock new file mode 100644 index 000000000..272e8c259 --- /dev/null +++ b/argocd-helm-charts/snapshot-controller/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: snapshot-controller + repository: https://piraeus.io/helm-charts + version: 2.0.3 +digest: sha256:87921e55fe86be3e71bae9486dcc99116fe5b8905c70588c5d76f4a2f4722867 +generated: "2023-12-15T20:34:25.042005134+05:30" diff --git a/argocd-helm-charts/external-snapshotter/Chart.yaml b/argocd-helm-charts/snapshot-controller/Chart.yaml similarity index 51% rename from argocd-helm-charts/external-snapshotter/Chart.yaml rename to argocd-helm-charts/snapshot-controller/Chart.yaml index e6ab4a0f0..c2a725de4 100644 --- a/argocd-helm-charts/external-snapshotter/Chart.yaml +++ b/argocd-helm-charts/snapshot-controller/Chart.yaml @@ -1,10 +1,7 @@ apiVersion: v2 -name: external-snapshotter +name: snapshot-controller version: 1.0.0 dependencies: - - name: snapshot-validation-webhook - version: 1.9.0 - repository: https://piraeus.io/helm-charts - name: snapshot-controller repository: https://piraeus.io/helm-charts version: 2.0.3 diff --git a/argocd-helm-charts/external-snapshotter/Readme.md b/argocd-helm-charts/snapshot-controller/Readme.md similarity index 100% rename from argocd-helm-charts/external-snapshotter/Readme.md rename to argocd-helm-charts/snapshot-controller/Readme.md diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-controller/.helmignore b/argocd-helm-charts/snapshot-controller/charts/snapshot-controller/.helmignore similarity index 100% rename from argocd-helm-charts/external-snapshotter/charts/snapshot-controller/.helmignore rename to argocd-helm-charts/snapshot-controller/charts/snapshot-controller/.helmignore diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-controller/Chart.yaml b/argocd-helm-charts/snapshot-controller/charts/snapshot-controller/Chart.yaml similarity index 100% rename from argocd-helm-charts/external-snapshotter/charts/snapshot-controller/Chart.yaml rename to argocd-helm-charts/snapshot-controller/charts/snapshot-controller/Chart.yaml diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-controller/LICENSE b/argocd-helm-charts/snapshot-controller/charts/snapshot-controller/LICENSE similarity index 100% rename from argocd-helm-charts/external-snapshotter/charts/snapshot-controller/LICENSE rename to argocd-helm-charts/snapshot-controller/charts/snapshot-controller/LICENSE diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-controller/README.md b/argocd-helm-charts/snapshot-controller/charts/snapshot-controller/README.md similarity index 100% rename from argocd-helm-charts/external-snapshotter/charts/snapshot-controller/README.md rename to argocd-helm-charts/snapshot-controller/charts/snapshot-controller/README.md diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-controller/crds/groupsnapshot.storage.k8s.io_volumegroupsnapshotclasses.yaml b/argocd-helm-charts/snapshot-controller/charts/snapshot-controller/crds/groupsnapshot.storage.k8s.io_volumegroupsnapshotclasses.yaml similarity index 100% rename from argocd-helm-charts/external-snapshotter/charts/snapshot-controller/crds/groupsnapshot.storage.k8s.io_volumegroupsnapshotclasses.yaml rename to argocd-helm-charts/snapshot-controller/charts/snapshot-controller/crds/groupsnapshot.storage.k8s.io_volumegroupsnapshotclasses.yaml diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-controller/crds/snapshot.storage.k8s.io_volumesnapshotclasses.yaml b/argocd-helm-charts/snapshot-controller/charts/snapshot-controller/crds/snapshot.storage.k8s.io_volumesnapshotclasses.yaml similarity index 100% rename from argocd-helm-charts/external-snapshotter/charts/snapshot-controller/crds/snapshot.storage.k8s.io_volumesnapshotclasses.yaml rename to argocd-helm-charts/snapshot-controller/charts/snapshot-controller/crds/snapshot.storage.k8s.io_volumesnapshotclasses.yaml diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-controller/crds/snapshot.storage.k8s.io_volumesnapshotcontents.yaml b/argocd-helm-charts/snapshot-controller/charts/snapshot-controller/crds/snapshot.storage.k8s.io_volumesnapshotcontents.yaml similarity index 100% rename from argocd-helm-charts/external-snapshotter/charts/snapshot-controller/crds/snapshot.storage.k8s.io_volumesnapshotcontents.yaml rename to argocd-helm-charts/snapshot-controller/charts/snapshot-controller/crds/snapshot.storage.k8s.io_volumesnapshotcontents.yaml diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-controller/crds/snapshot.storage.k8s.io_volumesnapshots.yaml b/argocd-helm-charts/snapshot-controller/charts/snapshot-controller/crds/snapshot.storage.k8s.io_volumesnapshots.yaml similarity index 100% rename from argocd-helm-charts/external-snapshotter/charts/snapshot-controller/crds/snapshot.storage.k8s.io_volumesnapshots.yaml rename to argocd-helm-charts/snapshot-controller/charts/snapshot-controller/crds/snapshot.storage.k8s.io_volumesnapshots.yaml diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-controller/templates/NOTES.txt b/argocd-helm-charts/snapshot-controller/charts/snapshot-controller/templates/NOTES.txt similarity index 100% rename from argocd-helm-charts/external-snapshotter/charts/snapshot-controller/templates/NOTES.txt rename to argocd-helm-charts/snapshot-controller/charts/snapshot-controller/templates/NOTES.txt diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-controller/templates/_helpers.tpl b/argocd-helm-charts/snapshot-controller/charts/snapshot-controller/templates/_helpers.tpl similarity index 100% rename from argocd-helm-charts/external-snapshotter/charts/snapshot-controller/templates/_helpers.tpl rename to argocd-helm-charts/snapshot-controller/charts/snapshot-controller/templates/_helpers.tpl diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-controller/templates/deployment_controller.yaml b/argocd-helm-charts/snapshot-controller/charts/snapshot-controller/templates/deployment_controller.yaml similarity index 100% rename from argocd-helm-charts/external-snapshotter/charts/snapshot-controller/templates/deployment_controller.yaml rename to argocd-helm-charts/snapshot-controller/charts/snapshot-controller/templates/deployment_controller.yaml diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-controller/templates/deployment_validation_webhook.yaml b/argocd-helm-charts/snapshot-controller/charts/snapshot-controller/templates/deployment_validation_webhook.yaml similarity index 100% rename from argocd-helm-charts/external-snapshotter/charts/snapshot-controller/templates/deployment_validation_webhook.yaml rename to argocd-helm-charts/snapshot-controller/charts/snapshot-controller/templates/deployment_validation_webhook.yaml diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-controller/templates/networkpolicy.yaml b/argocd-helm-charts/snapshot-controller/charts/snapshot-controller/templates/networkpolicy.yaml similarity index 100% rename from argocd-helm-charts/external-snapshotter/charts/snapshot-controller/templates/networkpolicy.yaml rename to argocd-helm-charts/snapshot-controller/charts/snapshot-controller/templates/networkpolicy.yaml diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-controller/templates/poddisruptionbudget_controller.yaml b/argocd-helm-charts/snapshot-controller/charts/snapshot-controller/templates/poddisruptionbudget_controller.yaml similarity index 100% rename from argocd-helm-charts/external-snapshotter/charts/snapshot-controller/templates/poddisruptionbudget_controller.yaml rename to argocd-helm-charts/snapshot-controller/charts/snapshot-controller/templates/poddisruptionbudget_controller.yaml diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-controller/templates/poddisruptionbudget_validation_webhook.yaml b/argocd-helm-charts/snapshot-controller/charts/snapshot-controller/templates/poddisruptionbudget_validation_webhook.yaml similarity index 100% rename from argocd-helm-charts/external-snapshotter/charts/snapshot-controller/templates/poddisruptionbudget_validation_webhook.yaml rename to argocd-helm-charts/snapshot-controller/charts/snapshot-controller/templates/poddisruptionbudget_validation_webhook.yaml diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-controller/templates/service_controller.yaml b/argocd-helm-charts/snapshot-controller/charts/snapshot-controller/templates/service_controller.yaml similarity index 100% rename from argocd-helm-charts/external-snapshotter/charts/snapshot-controller/templates/service_controller.yaml rename to argocd-helm-charts/snapshot-controller/charts/snapshot-controller/templates/service_controller.yaml diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-controller/templates/service_validation_webhook.yaml b/argocd-helm-charts/snapshot-controller/charts/snapshot-controller/templates/service_validation_webhook.yaml similarity index 100% rename from argocd-helm-charts/external-snapshotter/charts/snapshot-controller/templates/service_validation_webhook.yaml rename to argocd-helm-charts/snapshot-controller/charts/snapshot-controller/templates/service_validation_webhook.yaml diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-controller/templates/serviceaccount_controller.yaml b/argocd-helm-charts/snapshot-controller/charts/snapshot-controller/templates/serviceaccount_controller.yaml similarity index 100% rename from argocd-helm-charts/external-snapshotter/charts/snapshot-controller/templates/serviceaccount_controller.yaml rename to argocd-helm-charts/snapshot-controller/charts/snapshot-controller/templates/serviceaccount_controller.yaml diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-controller/templates/serviceaccount_validation_webhook.yaml b/argocd-helm-charts/snapshot-controller/charts/snapshot-controller/templates/serviceaccount_validation_webhook.yaml similarity index 100% rename from argocd-helm-charts/external-snapshotter/charts/snapshot-controller/templates/serviceaccount_validation_webhook.yaml rename to argocd-helm-charts/snapshot-controller/charts/snapshot-controller/templates/serviceaccount_validation_webhook.yaml diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-controller/templates/servicemonitor.yaml b/argocd-helm-charts/snapshot-controller/charts/snapshot-controller/templates/servicemonitor.yaml similarity index 100% rename from argocd-helm-charts/external-snapshotter/charts/snapshot-controller/templates/servicemonitor.yaml rename to argocd-helm-charts/snapshot-controller/charts/snapshot-controller/templates/servicemonitor.yaml diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-controller/templates/tests/test-invalid-body.yaml b/argocd-helm-charts/snapshot-controller/charts/snapshot-controller/templates/tests/test-invalid-body.yaml similarity index 100% rename from argocd-helm-charts/external-snapshotter/charts/snapshot-controller/templates/tests/test-invalid-body.yaml rename to argocd-helm-charts/snapshot-controller/charts/snapshot-controller/templates/tests/test-invalid-body.yaml diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-controller/templates/tests/test-valid-body.yaml b/argocd-helm-charts/snapshot-controller/charts/snapshot-controller/templates/tests/test-valid-body.yaml similarity index 100% rename from argocd-helm-charts/external-snapshotter/charts/snapshot-controller/templates/tests/test-valid-body.yaml rename to argocd-helm-charts/snapshot-controller/charts/snapshot-controller/templates/tests/test-valid-body.yaml diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-controller/templates/volumesnapshotclass.yaml b/argocd-helm-charts/snapshot-controller/charts/snapshot-controller/templates/volumesnapshotclass.yaml similarity index 100% rename from argocd-helm-charts/external-snapshotter/charts/snapshot-controller/templates/volumesnapshotclass.yaml rename to argocd-helm-charts/snapshot-controller/charts/snapshot-controller/templates/volumesnapshotclass.yaml diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-controller/templates/webhook.yaml b/argocd-helm-charts/snapshot-controller/charts/snapshot-controller/templates/webhook.yaml similarity index 100% rename from argocd-helm-charts/external-snapshotter/charts/snapshot-controller/templates/webhook.yaml rename to argocd-helm-charts/snapshot-controller/charts/snapshot-controller/templates/webhook.yaml diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-controller/tests/invalid-admission.json b/argocd-helm-charts/snapshot-controller/charts/snapshot-controller/tests/invalid-admission.json similarity index 100% rename from argocd-helm-charts/external-snapshotter/charts/snapshot-controller/tests/invalid-admission.json rename to argocd-helm-charts/snapshot-controller/charts/snapshot-controller/tests/invalid-admission.json diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-controller/tests/valid-admission.json b/argocd-helm-charts/snapshot-controller/charts/snapshot-controller/tests/valid-admission.json similarity index 100% rename from argocd-helm-charts/external-snapshotter/charts/snapshot-controller/tests/valid-admission.json rename to argocd-helm-charts/snapshot-controller/charts/snapshot-controller/tests/valid-admission.json diff --git a/argocd-helm-charts/external-snapshotter/charts/snapshot-controller/values.yaml b/argocd-helm-charts/snapshot-controller/charts/snapshot-controller/values.yaml similarity index 100% rename from argocd-helm-charts/external-snapshotter/charts/snapshot-controller/values.yaml rename to argocd-helm-charts/snapshot-controller/charts/snapshot-controller/values.yaml diff --git a/argocd-helm-charts/external-snapshotter/templates/netpol-snapshot-controller.yaml b/argocd-helm-charts/snapshot-controller/templates/netpol-snapshot-controller.yaml similarity index 100% rename from argocd-helm-charts/external-snapshotter/templates/netpol-snapshot-controller.yaml rename to argocd-helm-charts/snapshot-controller/templates/netpol-snapshot-controller.yaml diff --git a/argocd-helm-charts/external-snapshotter/templates/netpol-snapshot-validation-webhook.yaml b/argocd-helm-charts/snapshot-controller/templates/netpol-snapshot-validation-webhook.yaml similarity index 100% rename from argocd-helm-charts/external-snapshotter/templates/netpol-snapshot-validation-webhook.yaml rename to argocd-helm-charts/snapshot-controller/templates/netpol-snapshot-validation-webhook.yaml diff --git a/argocd-helm-charts/snapshot-controller/values.yaml b/argocd-helm-charts/snapshot-controller/values.yaml new file mode 100644 index 000000000..5e696d486 --- /dev/null +++ b/argocd-helm-charts/snapshot-controller/values.yaml @@ -0,0 +1 @@ +networkpolicies: true