-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: change default accessMode to ReadWriteOncePod #403
base: main
Are you sure you want to change the base?
Changes from all commits
f277fbc
0d715bb
3e67e2d
5ac0bba
5052a5f
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -103,7 +103,7 @@ arbitrum: | |
|
||
# -- [PersistentVolumeClaimSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#persistentvolumeclaimspec-v1-core) for arbitrum storage | ||
volumeClaimSpec: | ||
accessModes: ["ReadWriteOnce"] | ||
accessModes: ["ReadWriteOncePod"] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💡 Codebase verification Add Kubernetes version requirement to README.md The chart uses ReadWriteOncePod access mode but doesn't document the minimum Kubernetes version requirement. The README.md needs to be updated to include:
🔗 Analysis chainVerify Kubernetes version compatibility. ReadWriteOncePod is a feature that requires Kubernetes 1.22 or newer. Please ensure this requirement is documented in the chart's README.md. Consider adding the following to the chart's requirements section:
🏁 Scripts executedThe following scripts were executed for the analysis: Script: #!/bin/bash
# Check if README.md mentions K8s version requirement
rg -i "kubernetes.*1\.22|k8s.*1\.22" "charts/arbitrum-classic/README.md"
# Check if there's any existing K8s version requirement
rg -i "kubernetes.*version|k8s.*version" "charts/arbitrum-classic/README.md"
Length of output: 149 Script: #!/bin/bash
# First, check if README.md exists and see its content
ls -l charts/arbitrum-classic/README.md
cat charts/arbitrum-classic/README.md
# Check Chart.yaml for any version requirements
cat charts/arbitrum-classic/Chart.yaml
# Check if ReadWriteOncePod is used in other files
rg "ReadWriteOncePod" charts/arbitrum-classic/
Length of output: 15285 |
||
# -- The storage class to use when provisioning a persistent volume for arbitrum | ||
storageClassName: | ||
resources: | ||
|
Original file line number | Diff line number | Diff line change | ||||||
---|---|---|---|---|---|---|---|---|
|
@@ -2,7 +2,7 @@ | |||||||
|
||||||||
Deploy and scale [Arbitrum-Nitro](https://github.com/OffchainLabs/nitro/) inside Kubernetes with ease | ||||||||
|
||||||||
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) ![Version: 0.5.1](https://img.shields.io/badge/Version-0.5.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v3.2.1-d81324d](https://img.shields.io/badge/AppVersion-v3.2.1--d81324d-informational?style=flat-square) | ||||||||
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) ![Version: 0.6.0](https://img.shields.io/badge/Version-0.6.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v3.2.1-d81324d](https://img.shields.io/badge/AppVersion-v3.2.1--d81324d-informational?style=flat-square) | ||||||||
|
||||||||
## Features | ||||||||
|
||||||||
|
@@ -127,7 +127,7 @@ We do not recommend that you upgrade the application by overriding `image.tag`. | |||||||
| nitro.service.type | | string | `"ClusterIP"` | | ||||||||
| nitro.terminationGracePeriodSeconds | Amount of time to wait before force-killing the arbitrum process | int | `60` | | ||||||||
| nitro.tolerations | | list | `[]` | | ||||||||
| nitro.volumeClaimSpec | [PersistentVolumeClaimSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#persistentvolumeclaimspec-v1-core) for arbitrum storage | object | `{"accessModes":["ReadWriteOnce"],"resources":{"requests":{"storage":"8Ti"}},"storageClassName":null}` | | ||||||||
| nitro.volumeClaimSpec | [PersistentVolumeClaimSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#persistentvolumeclaimspec-v1-core) for arbitrum storage | object | `{"accessModes":["ReadWriteOncePod"],"resources":{"requests":{"storage":"8Ti"}},"storageClassName":null}` | | ||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Document Kubernetes version requirement for ReadWriteOncePod. The change from Add the following note under the Values table entry for | nitro.volumeClaimSpec | [PersistentVolumeClaimSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#persistentvolumeclaimspec-v1-core) for arbitrum storage | object | `{"accessModes":["ReadWriteOncePod"],"resources":{"requests":{"storage":"8Ti"}},"storageClassName":null}` |
+> **Note:** The `ReadWriteOncePod` access mode requires Kubernetes 1.22 or later. 📝 Committable suggestion
Suggested change
|
||||||||
| nitro.volumeClaimSpec.resources.requests.storage | The amount of disk space to provision for arbitrum | string | `"8Ti"` | | ||||||||
| nitro.volumeClaimSpec.storageClassName | The storage class to use when provisioning a persistent volume for arbitrum | string | `nil` | | ||||||||
| prometheus.serviceMonitors.enabled | Enable monitoring by creating `ServiceMonitor` CRDs ([prometheus-operator](https://github.com/prometheus-operator/prometheus-operator)) | bool | `false` | | ||||||||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -108,7 +108,7 @@ nitro: | |
|
||
# -- [PersistentVolumeClaimSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#persistentvolumeclaimspec-v1-core) for arbitrum storage | ||
volumeClaimSpec: | ||
accessModes: ["ReadWriteOnce"] | ||
accessModes: ["ReadWriteOncePod"] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💡 Codebase verification The chart lacks explicit Kubernetes version requirements in Chart.yaml, which is crucial since
🔗 Analysis chainLGTM! Verify Kubernetes version compatibility. The change from 🏁 Scripts executedThe following scripts were executed for the analysis: Script: #!/bin/bash
# Check if Chart.yaml specifies minimum Kubernetes version >= 1.22
echo "Verifying kubernetes version requirement..."
if [ -f Chart.yaml ]; then
grep -A 5 "kubeVersion:" Chart.yaml
fi
Length of output: 120 Script: #!/bin/bash
# Let's try searching for Chart.yaml in the correct path
echo "Searching for Chart.yaml in arbitrum-nitro chart..."
cat charts/arbitrum-nitro/Chart.yaml
# Also check for any kubernetes version requirements in README or other docs
echo -e "\nSearching for Kubernetes version requirements in documentation..."
rg -i "kubernetes.*version|kube.*version" -g '*.md' -g '*.yaml' charts/arbitrum-nitro/
Length of output: 1807 |
||
# -- The storage class to use when provisioning a persistent volume for arbitrum | ||
storageClassName: | ||
resources: | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,7 +2,7 @@ | |
|
||
Deploy and scale [Celo](https://github.com/celo-org/celo-blockchain) Nodes inside Kubernetes with ease | ||
|
||
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) ![Version: 0.1.7](https://img.shields.io/badge/Version-0.1.7-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.8.5](https://img.shields.io/badge/AppVersion-1.8.5-informational?style=flat-square) | ||
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) ![Version: 0.2.0](https://img.shields.io/badge/Version-0.2.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.8.5](https://img.shields.io/badge/AppVersion-1.8.5-informational?style=flat-square) | ||
|
||
## Features | ||
|
||
|
@@ -82,7 +82,7 @@ We do not recommend that you upgrade the application by overriding `image.tag`. | |
| celo.service.type | | string | `"ClusterIP"` | | ||
| celo.terminationGracePeriodSeconds | Amount of time to wait before force-killing the container | int | `60` | | ||
| celo.tolerations | | list | `[]` | | ||
| celo.volumeClaimSpec | [PersistentVolumeClaimSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#persistentvolumeclaimspec-v1-core) for storage | object | `{"accessModes":["ReadWriteOnce"],"resources":{"requests":{"storage":"1.5Ti"}},"storageClassName":null}` | | ||
| celo.volumeClaimSpec | [PersistentVolumeClaimSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#persistentvolumeclaimspec-v1-core) for storage | object | `{"accessModes":["ReadWriteOncePod"],"resources":{"requests":{"storage":"1.5Ti"}},"storageClassName":null}` | | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💡 Codebase verification Based on the search results, I can now provide a final response: The ReadWriteOncePod access mode requires Kubernetes >= 1.22. This should be documented. The chart uses ReadWriteOncePod access mode for volume claims, which was introduced in Kubernetes 1.22. This is a breaking change from ReadWriteOnce and requires documenting the minimum Kubernetes version requirement. Recommendations:
🔗 Analysis chainVerify Kubernetes version compatibility for ReadWriteOncePod. The change from Additionally, since this is a breaking change that could affect existing deployments, consider:
Let me search for any Kubernetes version requirements in the README or other documentation files. Let me try a different approach to check the documentation files. Let me check for any Kubernetes version requirements in the documentation. 🏁 Scripts executedThe following scripts were executed for the analysis: Script: #!/bin/bash
# Check if minimum k8s version is documented
rg -i "kubernetes.*version|k8s.*version|version.*requirement"
Length of output: 2769 Script: #!/bin/bash
# Check READMEs and docs for version requirements
fd README.md CHANGELOG.md requirements.txt -X cat {}
Length of output: 219 Script: #!/bin/bash
# Search for README files and their content
fd -t f "README.md$" -X cat {}
# Also check for any Kubernetes version related info in Chart.yaml files
fd -t f "Chart.yaml$" -X cat {}
Length of output: 261543 Script: #!/bin/bash
# Search for Kubernetes version requirements in all markdown files
rg -i "kubernetes.*version|k8s.*version|version.*requirement|ReadWriteOncePod" -A 2 -B 2
Length of output: 20068 |
||
| celo.volumeClaimSpec.resources.requests.storage | The amount of disk space to provision | string | `"1.5Ti"` | | ||
| celo.volumeClaimSpec.storageClassName | The storage class to use when provisioning a persistent volume | string | `nil` | | ||
| fullnameOverride | | string | `""` | | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,7 +2,7 @@ | |
|
||
Deploy and scale [Erigon](https://github.com/ledgerwatch/erigon) inside Kubernetes with ease | ||
|
||
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) ![Version: 0.10.7](https://img.shields.io/badge/Version-0.10.7-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.60.8](https://img.shields.io/badge/AppVersion-2.60.8-informational?style=flat-square) | ||
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) ![Version: 0.11.0](https://img.shields.io/badge/Version-0.11.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.60.8](https://img.shields.io/badge/AppVersion-2.60.8-informational?style=flat-square) | ||
|
||
## Features | ||
|
||
|
@@ -187,7 +187,7 @@ We do not recommend that you upgrade the application by overriding `image.tag`. | |
| statefulNode.service.type | | string | `"ClusterIP"` | | ||
| statefulNode.terminationGracePeriodSeconds | Amount of time to wait before force-killing the Erigon process | int | `60` | | ||
| statefulNode.tolerations | | list | `[]` | | ||
| statefulNode.volumeClaimSpec | [PersistentVolumeClaimSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#persistentvolumeclaimspec-v1-core) for Erigon storage | object | `{"accessModes":["ReadWriteOnce"],"resources":{"requests":{"storage":"3Ti"}},"storageClassName":null}` | | ||
| statefulNode.volumeClaimSpec | [PersistentVolumeClaimSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#persistentvolumeclaimspec-v1-core) for Erigon storage | object | `{"accessModes":["ReadWriteOncePod"],"resources":{"requests":{"storage":"3Ti"}},"storageClassName":null}` | | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💡 Codebase verification Add Kubernetes version requirement note for ReadWriteOncePod The Kubernetes version requirement for
🔗 Analysis chainVerify Kubernetes version compatibility for ReadWriteOncePod. The change from Let's verify if this requirement is documented: Consider adding a note about the minimum Kubernetes version requirement in the documentation. Add a note in the README about the Kubernetes version requirement, for example: | statefulNode.volumeClaimSpec | [PersistentVolumeClaimSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#persistentvolumeclaimspec-v1-core) for Erigon storage | object | `{"accessModes":["ReadWriteOncePod"],"resources":{"requests":{"storage":"3Ti"}},"storageClassName":null}` |
+| Note: The default `ReadWriteOncePod` access mode requires Kubernetes 1.22 or later. For older versions, change to `ReadWriteOnce`. | 🏁 Scripts executedThe following scripts were executed for the analysis: Script: #!/bin/bash
# Check if Kubernetes version requirement is documented
rg -i "kubernetes.*1\.22|1\.22.*kubernetes" README.md
Length of output: 55 Script: #!/bin/bash
# Let's check the chart's requirements.yaml or Chart.yaml for any Kubernetes version requirements
fd "Chart.yaml|requirements.yaml" charts/erigon/ --exec cat {}
# Also check if there are any other version requirements mentioned in the README
cat charts/erigon/README.md
Length of output: 15871 |
||
| statefulNode.volumeClaimSpec.resources.requests.storage | The amount of disk space to provision for Erigon | string | `"3Ti"` | | ||
| statefulNode.volumeClaimSpec.storageClassName | The storage class to use when provisioning a persistent volume for Erigon | string | `nil` | | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -86,7 +86,7 @@ heimdall: | |
|
||
# -- [PersistentVolumeClaimSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#persistentvolumeclaimspec-v1-core) for heimdall storage | ||
volumeClaimSpec: | ||
accessModes: ["ReadWriteOnce"] | ||
accessModes: ["ReadWriteOncePod"] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💡 Codebase verification Breaking change: ReadWriteOncePod requires documentation update for K8s compatibility The change to
🔗 Analysis chainVerify Kubernetes version compatibility for ReadWriteOncePod. The change from Consider the following recommendations:
Let me gather more information about the Kubernetes version requirements and documentation in the Heimdall chart. 🏁 Scripts executedThe following scripts were executed for the analysis: Script: #!/bin/bash
# Check if this requirement is documented in the chart
rg -l "kubernetes.*1\.22|k8s.*1\.22" charts/heimdall/
Length of output: 350 Script: #!/bin/bash
# Check Chart.yaml for any version requirements
cat charts/heimdall/Chart.yaml
# Check README for any documentation about requirements
cat charts/heimdall/README.md
# Check if ReadWriteOncePod is used in other places
rg "ReadWriteOncePod" charts/heimdall/
Length of output: 9842 |
||
# -- The storage class to use when provisioning a persistent volume for heimdall | ||
storageClassName: | ||
resources: | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codebase verification
Kubernetes version requirement missing for ReadWriteOncePod
The Chart.yaml file does not specify a minimum Kubernetes version requirement (
kubeVersion
field), which is necessary since ReadWriteOncePod access mode requires Kubernetes 1.22+. This could lead to deployment failures on older clusters.kubeVersion: ">=1.22.0-0"
tocharts/arbitrum-classic/Chart.yaml
🔗 Analysis chain
Verify Kubernetes version compatibility for ReadWriteOncePod.
The change from
ReadWriteOnce
toReadWriteOncePod
requires Kubernetes v1.22+. Please add a note in the README about this requirement and verify that the chart's minimum Kubernetes version is set appropriately.Consider maintaining backward compatibility by making this configurable:
| arbitrum.volumeClaimSpec | [PersistentVolumeClaimSpec](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#persistentvolumeclaimspec-v1-core) for arbitrum storage | object | `{"accessModes":["ReadWriteOncePod"],"resources":{"requests":{"storage":"750G"}},"storageClassName":null}` | +| arbitrum.volumeClaimSpec.accessModes | Access modes for the volume claim. Use ReadWriteOncePod for K8s 1.22+ or ReadWriteOnce for older versions | list | `["ReadWriteOncePod"]` |
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
Length of output: 174
Script:
Length of output: 3598