Skip to content

Commit e4c14a2

Browse files
authored
feat : Add storageAccessMode to PVC che cluster types (#2004)
* chore (deps) : Update devworkspace-operator to v0.35.0 Update github.com/devfile/devworkspace-operator dependency to v0.35.0 Signed-off-by: Rohan Kumar <rohaan@redhat.com> * chore (deps) : Update vendor directory after devworkspace-operator v0.35.0 bump Signed-off-by: Rohan Kumar <rohaan@redhat.com> * feat : Add storageAccessMode to PVC che cluster types Signed-off-by: Rohan Kumar <rohaan@redhat.com> * feat : Set StorageAccessMode while updating WorkspaceConfig during reconcile While updating WorkspaceConfig with CheClusterDevEnvironment also set StorageAccessMode if present. Signed-off-by: Rohan Kumar <rohaan@redhat.com> --------- Signed-off-by: Rohan Kumar <rohaan@redhat.com>
1 parent 95f9730 commit e4c14a2

78 files changed

Lines changed: 1629 additions & 188 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

DEPENDENCIES.md

Lines changed: 11 additions & 10 deletions
Large diffs are not rendered by default.

api/v2/checluster_types.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -661,6 +661,13 @@ type PVC struct {
661661
// Storage class for the Persistent Volume Claim. When omitted or left blank, a default storage class is used.
662662
// +optional
663663
StorageClass string `json:"storageClass,omitempty"`
664+
// StorageAccessMode are the desired access modes the volume should have.
665+
// It is used to specify PersistentVolume access mode type to RWO/RWX when using per-user strategy, allowing
666+
// user to re-use volume across multiple workspaces.
667+
//
668+
// It defaults to ReadWriteOnce if not specified
669+
// +optional
670+
StorageAccessMode []corev1.PersistentVolumeAccessMode `json:"storageAccessMode,omitempty"`
664671
}
665672

666673
// External devfile registries configuration.

api/v2/zz_generated.deepcopy.go

Lines changed: 7 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bundle/next/eclipse-che/manifests/org.eclipse.che_checlusters.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7926,6 +7926,17 @@ spec:
79267926
the claim size, the storage class that provisions
79277927
it must support resizing.
79287928
type: string
7929+
storageAccessMode:
7930+
description: |-
7931+
StorageAccessMode are the desired access modes the volume should have.
7932+
It is used to specify PersistentVolume access mode type to RWO/RWX when using per-user strategy, allowing
7933+
user to re-use volume across multiple workspaces.
7934+
7935+
7936+
It defaults to ReadWriteOnce if not specified
7937+
items:
7938+
type: string
7939+
type: array
79297940
storageClass:
79307941
description: Storage class for the Persistent Volume
79317942
Claim. When omitted or left blank, a default storage
@@ -7941,6 +7952,17 @@ spec:
79417952
the claim size, the storage class that provisions
79427953
it must support resizing.
79437954
type: string
7955+
storageAccessMode:
7956+
description: |-
7957+
StorageAccessMode are the desired access modes the volume should have.
7958+
It is used to specify PersistentVolume access mode type to RWO/RWX when using per-user strategy, allowing
7959+
user to re-use volume across multiple workspaces.
7960+
7961+
7962+
It defaults to ReadWriteOnce if not specified
7963+
items:
7964+
type: string
7965+
type: array
79447966
storageClass:
79457967
description: Storage class for the Persistent Volume
79467968
Claim. When omitted or left blank, a default storage

config/crd/bases/org.eclipse.che_checlusters.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7877,6 +7877,17 @@ spec:
78777877
claim size, the storage class that provisions it must
78787878
support resizing.
78797879
type: string
7880+
storageAccessMode:
7881+
description: |-
7882+
StorageAccessMode are the desired access modes the volume should have.
7883+
It is used to specify PersistentVolume access mode type to RWO/RWX when using per-user strategy, allowing
7884+
user to re-use volume across multiple workspaces.
7885+
7886+
7887+
It defaults to ReadWriteOnce if not specified
7888+
items:
7889+
type: string
7890+
type: array
78807891
storageClass:
78817892
description: Storage class for the Persistent Volume Claim.
78827893
When omitted or left blank, a default storage class
@@ -7892,6 +7903,17 @@ spec:
78927903
claim size, the storage class that provisions it must
78937904
support resizing.
78947905
type: string
7906+
storageAccessMode:
7907+
description: |-
7908+
StorageAccessMode are the desired access modes the volume should have.
7909+
It is used to specify PersistentVolume access mode type to RWO/RWX when using per-user strategy, allowing
7910+
user to re-use volume across multiple workspaces.
7911+
7912+
7913+
It defaults to ReadWriteOnce if not specified
7914+
items:
7915+
type: string
7916+
type: array
78957917
storageClass:
78967918
description: Storage class for the Persistent Volume Claim.
78977919
When omitted or left blank, a default storage class

deploy/deployment/kubernetes/combined.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7898,6 +7898,17 @@ spec:
78987898
claim size, the storage class that provisions it must
78997899
support resizing.
79007900
type: string
7901+
storageAccessMode:
7902+
description: |-
7903+
StorageAccessMode are the desired access modes the volume should have.
7904+
It is used to specify PersistentVolume access mode type to RWO/RWX when using per-user strategy, allowing
7905+
user to re-use volume across multiple workspaces.
7906+
7907+
7908+
It defaults to ReadWriteOnce if not specified
7909+
items:
7910+
type: string
7911+
type: array
79017912
storageClass:
79027913
description: Storage class for the Persistent Volume Claim.
79037914
When omitted or left blank, a default storage class
@@ -7913,6 +7924,17 @@ spec:
79137924
claim size, the storage class that provisions it must
79147925
support resizing.
79157926
type: string
7927+
storageAccessMode:
7928+
description: |-
7929+
StorageAccessMode are the desired access modes the volume should have.
7930+
It is used to specify PersistentVolume access mode type to RWO/RWX when using per-user strategy, allowing
7931+
user to re-use volume across multiple workspaces.
7932+
7933+
7934+
It defaults to ReadWriteOnce if not specified
7935+
items:
7936+
type: string
7937+
type: array
79167938
storageClass:
79177939
description: Storage class for the Persistent Volume Claim.
79187940
When omitted or left blank, a default storage class

deploy/deployment/kubernetes/objects/checlusters.org.eclipse.che.CustomResourceDefinition.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7893,6 +7893,17 @@ spec:
78937893
claim size, the storage class that provisions it must
78947894
support resizing.
78957895
type: string
7896+
storageAccessMode:
7897+
description: |-
7898+
StorageAccessMode are the desired access modes the volume should have.
7899+
It is used to specify PersistentVolume access mode type to RWO/RWX when using per-user strategy, allowing
7900+
user to re-use volume across multiple workspaces.
7901+
7902+
7903+
It defaults to ReadWriteOnce if not specified
7904+
items:
7905+
type: string
7906+
type: array
78967907
storageClass:
78977908
description: Storage class for the Persistent Volume Claim.
78987909
When omitted or left blank, a default storage class
@@ -7908,6 +7919,17 @@ spec:
79087919
claim size, the storage class that provisions it must
79097920
support resizing.
79107921
type: string
7922+
storageAccessMode:
7923+
description: |-
7924+
StorageAccessMode are the desired access modes the volume should have.
7925+
It is used to specify PersistentVolume access mode type to RWO/RWX when using per-user strategy, allowing
7926+
user to re-use volume across multiple workspaces.
7927+
7928+
7929+
It defaults to ReadWriteOnce if not specified
7930+
items:
7931+
type: string
7932+
type: array
79117933
storageClass:
79127934
description: Storage class for the Persistent Volume Claim.
79137935
When omitted or left blank, a default storage class

deploy/deployment/openshift/combined.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7898,6 +7898,17 @@ spec:
78987898
claim size, the storage class that provisions it must
78997899
support resizing.
79007900
type: string
7901+
storageAccessMode:
7902+
description: |-
7903+
StorageAccessMode are the desired access modes the volume should have.
7904+
It is used to specify PersistentVolume access mode type to RWO/RWX when using per-user strategy, allowing
7905+
user to re-use volume across multiple workspaces.
7906+
7907+
7908+
It defaults to ReadWriteOnce if not specified
7909+
items:
7910+
type: string
7911+
type: array
79017912
storageClass:
79027913
description: Storage class for the Persistent Volume Claim.
79037914
When omitted or left blank, a default storage class
@@ -7913,6 +7924,17 @@ spec:
79137924
claim size, the storage class that provisions it must
79147925
support resizing.
79157926
type: string
7927+
storageAccessMode:
7928+
description: |-
7929+
StorageAccessMode are the desired access modes the volume should have.
7930+
It is used to specify PersistentVolume access mode type to RWO/RWX when using per-user strategy, allowing
7931+
user to re-use volume across multiple workspaces.
7932+
7933+
7934+
It defaults to ReadWriteOnce if not specified
7935+
items:
7936+
type: string
7937+
type: array
79167938
storageClass:
79177939
description: Storage class for the Persistent Volume Claim.
79187940
When omitted or left blank, a default storage class

deploy/deployment/openshift/objects/checlusters.org.eclipse.che.CustomResourceDefinition.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7893,6 +7893,17 @@ spec:
78937893
claim size, the storage class that provisions it must
78947894
support resizing.
78957895
type: string
7896+
storageAccessMode:
7897+
description: |-
7898+
StorageAccessMode are the desired access modes the volume should have.
7899+
It is used to specify PersistentVolume access mode type to RWO/RWX when using per-user strategy, allowing
7900+
user to re-use volume across multiple workspaces.
7901+
7902+
7903+
It defaults to ReadWriteOnce if not specified
7904+
items:
7905+
type: string
7906+
type: array
78967907
storageClass:
78977908
description: Storage class for the Persistent Volume Claim.
78987909
When omitted or left blank, a default storage class
@@ -7908,6 +7919,17 @@ spec:
79087919
claim size, the storage class that provisions it must
79097920
support resizing.
79107921
type: string
7922+
storageAccessMode:
7923+
description: |-
7924+
StorageAccessMode are the desired access modes the volume should have.
7925+
It is used to specify PersistentVolume access mode type to RWO/RWX when using per-user strategy, allowing
7926+
user to re-use volume across multiple workspaces.
7927+
7928+
7929+
It defaults to ReadWriteOnce if not specified
7930+
items:
7931+
type: string
7932+
type: array
79117933
storageClass:
79127934
description: Storage class for the Persistent Volume Claim.
79137935
When omitted or left blank, a default storage class

go.mod

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,16 @@ toolchain go1.23.8
77
require (
88
github.com/che-incubator/kubernetes-image-puller-operator v0.0.0-20210929175054-0128446f5af7
99
github.com/devfile/api/v2 v2.2.2
10-
github.com/devfile/devworkspace-operator v0.31.0
11-
github.com/go-logr/logr v1.2.4
10+
github.com/devfile/devworkspace-operator v0.35.0
11+
github.com/go-logr/logr v1.4.1
1212
github.com/google/go-cmp v0.6.0
1313
github.com/openshift/api v0.0.0-20230120182048-88b476f987ed
14-
github.com/operator-framework/api v0.10.0
14+
github.com/operator-framework/api v0.15.0
1515
github.com/operator-framework/operator-lifecycle-manager v0.18.1
1616
github.com/sirupsen/logrus v1.8.1
17-
github.com/stretchr/testify v1.8.4
17+
github.com/stretchr/testify v1.10.0
1818
go.uber.org/zap v1.24.0
19-
golang.org/x/net v0.36.0
19+
golang.org/x/net v0.38.0
2020
k8s.io/api v0.26.1
2121
k8s.io/apiextensions-apiserver v0.26.1
2222
k8s.io/apimachinery v0.26.1
@@ -48,12 +48,12 @@ require (
4848
github.com/google/uuid v1.3.0 // indirect
4949
github.com/imdario/mergo v0.3.13 // indirect
5050
github.com/json-iterator/go v1.1.12 // indirect
51-
github.com/mailru/easyjson v0.7.6 // indirect
51+
github.com/mailru/easyjson v0.7.7 // indirect
5252
github.com/matttproud/golang_protobuf_extensions v1.0.2 // indirect
5353
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
5454
github.com/modern-go/reflect2 v1.0.2 // indirect
5555
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
56-
github.com/onsi/gomega v1.27.10 // indirect
56+
github.com/onsi/gomega v1.34.1 // indirect
5757
github.com/operator-framework/operator-registry v1.13.6 // indirect
5858
github.com/pkg/errors v0.9.1 // indirect
5959
github.com/pmezard/go-difflib v1.0.0 // indirect
@@ -65,9 +65,9 @@ require (
6565
go.uber.org/atomic v1.7.0 // indirect
6666
go.uber.org/multierr v1.6.0 // indirect
6767
golang.org/x/oauth2 v0.27.0 // indirect
68-
golang.org/x/sys v0.30.0 // indirect
69-
golang.org/x/term v0.29.0 // indirect
70-
golang.org/x/text v0.22.0 // indirect
68+
golang.org/x/sys v0.31.0 // indirect
69+
golang.org/x/term v0.30.0 // indirect
70+
golang.org/x/text v0.23.0 // indirect
7171
golang.org/x/time v0.3.0 // indirect
7272
gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect
7373
google.golang.org/grpc v1.58.3 // indirect
@@ -89,10 +89,10 @@ require (
8989
github.com/Shopify/logrus-bugsnag v0.0.0-00010101000000-000000000000 // indirect
9090
github.com/konsorten/go-windows-terminal-sequences v1.0.2 // indirect
9191
go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee // indirect
92-
golang.org/x/lint v0.0.0-20200302205851-738671d3881b // indirect
93-
golang.org/x/mod v0.17.0 // indirect
94-
golang.org/x/sync v0.10.0 // indirect
95-
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect
92+
golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 // indirect
93+
golang.org/x/mod v0.19.0 // indirect
94+
golang.org/x/sync v0.12.0 // indirect
95+
golang.org/x/tools v0.23.0 // indirect
9696
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
9797
google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 // indirect
9898
honnef.co/go/tools v0.0.1-2020.1.3 // indirect

0 commit comments

Comments
 (0)