diff --git a/crds/workspace.devfile.io_devworkspaces.v1beta1.yaml b/crds/workspace.devfile.io_devworkspaces.v1beta1.yaml index c14c6050e..9bf74c68c 100644 --- a/crds/workspace.devfile.io_devworkspaces.v1beta1.yaml +++ b/crds/workspace.devfile.io_devworkspaces.v1beta1.yaml @@ -1657,6 +1657,35 @@ spec: description: Configuration overriding for a Volume component in a plugin properties: + external: + description: "External defines information + about volumes that exist outside of the + current workspace. They are not created + or deleted while processing a devfile but + are still mounted into component containers. + When left empty, it is assumed that a new + volume is to be created. \n Note: External + volumes should be used with care, as they + make devfiles less portable. It is assumed + that external volumes exist already." + properties: + name: + description: Name defines the name of + the resource + type: string + type: + description: "Type defines the type of + the resource: \n - `storage` specifies + that this volume refers to a PersistentVolumeClaim + - `configmap` specifies that this volume + refers to a ConfigMap - `secret` specifies + that this volume refers to a Secret + kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + type: string + required: + - name + - type + type: object name: description: Mandatory name that allows referencing the Volume component in Container volume @@ -1707,6 +1736,31 @@ spec: description: Allows specifying the definition of a volume shared by several other components properties: + external: + description: "External defines information about volumes + that exist outside of the current workspace. They + are not created or deleted while processing a devfile + but are still mounted into component containers. When + left empty, it is assumed that a new volume is to + be created. \n Note: External volumes should be used + with care, as they make devfiles less portable. It + is assumed that external volumes exist already." + properties: + name: + description: Name defines the name of the resource + type: string + type: + description: "Type defines the type of the resource: + \n - `storage` specifies that this volume refers + to a PersistentVolumeClaim - `configmap` specifies + that this volume refers to a ConfigMap - `secret` + specifies that this volume refers to a Secret + kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + type: string + required: + - name + - type + type: object name: description: Mandatory name that allows referencing the Volume component in Container volume mounts or @@ -3420,6 +3474,37 @@ spec: description: Configuration overriding for a Volume component in a plugin properties: + external: + description: "External defines information + about volumes that exist outside of + the current workspace. They are not + created or deleted while processing + a devfile but are still mounted into + component containers. When left empty, + it is assumed that a new volume is to + be created. \n Note: External volumes + should be used with care, as they make + devfiles less portable. It is assumed + that external volumes exist already." + properties: + name: + description: Name defines the name + of the resource + type: string + type: + description: "Type defines the type + of the resource: \n - `storage` + specifies that this volume refers + to a PersistentVolumeClaim - `configmap` + specifies that this volume refers + to a ConfigMap - `secret` specifies + that this volume refers to a Secret + kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + type: string + required: + - name + - type + type: object name: description: Mandatory name that allows referencing the Volume component in @@ -3473,6 +3558,32 @@ spec: description: Allows specifying the definition of a volume shared by several other components properties: + external: + description: "External defines information about + volumes that exist outside of the current workspace. + They are not created or deleted while processing + a devfile but are still mounted into component + containers. When left empty, it is assumed that + a new volume is to be created. \n Note: External + volumes should be used with care, as they make + devfiles less portable. It is assumed that external + volumes exist already." + properties: + name: + description: Name defines the name of the resource + type: string + type: + description: "Type defines the type of the resource: + \n - `storage` specifies that this volume + refers to a PersistentVolumeClaim - `configmap` + specifies that this volume refers to a ConfigMap + - `secret` specifies that this volume refers + to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + type: string + required: + - name + - type + type: object name: description: Mandatory name that allows referencing the Volume component in Container volume mounts @@ -5626,6 +5737,32 @@ spec: description: Allows specifying the definition of a volume shared by several other components properties: + external: + description: "External defines information + about volumes that exist outside of the + current workspace. They are not created + or deleted while processing a devfile but + are still mounted into component containers. + When left empty, it is assumed that a new + volume is to be created. \n Note: External + volumes should be used with care, as they + make devfiles less portable. It is assumed + that external volumes exist already." + properties: + name: + description: Name defines the name of + the resource + type: string + type: + description: "Type defines the type of + the resource: \n - `storage` specifies + that this volume refers to a PersistentVolumeClaim + - `configmap` specifies that this volume + refers to a ConfigMap - `secret` specifies + that this volume refers to a Secret + kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + type: string + type: object size: description: Size of the volume type: string @@ -5666,6 +5803,31 @@ spec: description: Allows specifying the definition of a volume shared by several other components properties: + external: + description: "External defines information about volumes + that exist outside of the current workspace. They + are not created or deleted while processing a devfile + but are still mounted into component containers. When + left empty, it is assumed that a new volume is to + be created. \n Note: External volumes should be used + with care, as they make devfiles less portable. It + is assumed that external volumes exist already." + properties: + name: + description: Name defines the name of the resource + type: string + type: + description: "Type defines the type of the resource: + \n - `storage` specifies that this volume refers + to a PersistentVolumeClaim - `configmap` specifies + that this volume refers to a ConfigMap - `secret` + specifies that this volume refers to a Secret + kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + type: string + required: + - name + - type + type: object size: description: Size of the volume type: string @@ -7185,6 +7347,34 @@ spec: description: Allows specifying the definition of a volume shared by several other components properties: + external: + description: "External defines information + about volumes that exist outside of + the current workspace. They are not + created or deleted while processing + a devfile but are still mounted into + component containers. When left empty, + it is assumed that a new volume is to + be created. \n Note: External volumes + should be used with care, as they make + devfiles less portable. It is assumed + that external volumes exist already." + properties: + name: + description: Name defines the name + of the resource + type: string + type: + description: "Type defines the type + of the resource: \n - `storage` + specifies that this volume refers + to a PersistentVolumeClaim - `configmap` + specifies that this volume refers + to a ConfigMap - `secret` specifies + that this volume refers to a Secret + kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + type: string + type: object size: description: Size of the volume type: string @@ -7224,6 +7414,29 @@ spec: description: Allows specifying the definition of a volume shared by several other components properties: + external: + description: "External defines information about + volumes that exist outside of the current workspace. + They are not created or deleted while processing + a devfile but are still mounted into component + containers. When left empty, it is assumed that + a new volume is to be created. \n Note: External + volumes should be used with care, as they make + devfiles less portable. It is assumed that external + volumes exist already." + properties: + name: + description: Name defines the name of the resource + type: string + type: + description: "Type defines the type of the resource: + \n - `storage` specifies that this volume + refers to a PersistentVolumeClaim - `configmap` + specifies that this volume refers to a ConfigMap + - `secret` specifies that this volume refers + to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + type: string + type: object size: description: Size of the volume type: string diff --git a/crds/workspace.devfile.io_devworkspaces.yaml b/crds/workspace.devfile.io_devworkspaces.yaml index c4dbf1f8c..aeea66ddb 100644 --- a/crds/workspace.devfile.io_devworkspaces.yaml +++ b/crds/workspace.devfile.io_devworkspaces.yaml @@ -1653,6 +1653,35 @@ spec: description: Configuration overriding for a Volume component in a plugin properties: + external: + description: "External defines information + about volumes that exist outside of the + current workspace. They are not created + or deleted while processing a devfile but + are still mounted into component containers. + When left empty, it is assumed that a new + volume is to be created. \n Note: External + volumes should be used with care, as they + make devfiles less portable. It is assumed + that external volumes exist already." + properties: + name: + description: Name defines the name of + the resource + type: string + type: + description: "Type defines the type of + the resource: \n - `storage` specifies + that this volume refers to a PersistentVolumeClaim + - `configmap` specifies that this volume + refers to a ConfigMap - `secret` specifies + that this volume refers to a Secret + kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + type: string + required: + - name + - type + type: object name: description: Mandatory name that allows referencing the Volume component in Container volume @@ -1703,6 +1732,31 @@ spec: description: Allows specifying the definition of a volume shared by several other components properties: + external: + description: "External defines information about volumes + that exist outside of the current workspace. They + are not created or deleted while processing a devfile + but are still mounted into component containers. When + left empty, it is assumed that a new volume is to + be created. \n Note: External volumes should be used + with care, as they make devfiles less portable. It + is assumed that external volumes exist already." + properties: + name: + description: Name defines the name of the resource + type: string + type: + description: "Type defines the type of the resource: + \n - `storage` specifies that this volume refers + to a PersistentVolumeClaim - `configmap` specifies + that this volume refers to a ConfigMap - `secret` + specifies that this volume refers to a Secret + kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + type: string + required: + - name + - type + type: object name: description: Mandatory name that allows referencing the Volume component in Container volume mounts or @@ -3416,6 +3470,37 @@ spec: description: Configuration overriding for a Volume component in a plugin properties: + external: + description: "External defines information + about volumes that exist outside of + the current workspace. They are not + created or deleted while processing + a devfile but are still mounted into + component containers. When left empty, + it is assumed that a new volume is to + be created. \n Note: External volumes + should be used with care, as they make + devfiles less portable. It is assumed + that external volumes exist already." + properties: + name: + description: Name defines the name + of the resource + type: string + type: + description: "Type defines the type + of the resource: \n - `storage` + specifies that this volume refers + to a PersistentVolumeClaim - `configmap` + specifies that this volume refers + to a ConfigMap - `secret` specifies + that this volume refers to a Secret + kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + type: string + required: + - name + - type + type: object name: description: Mandatory name that allows referencing the Volume component in @@ -3469,6 +3554,32 @@ spec: description: Allows specifying the definition of a volume shared by several other components properties: + external: + description: "External defines information about + volumes that exist outside of the current workspace. + They are not created or deleted while processing + a devfile but are still mounted into component + containers. When left empty, it is assumed that + a new volume is to be created. \n Note: External + volumes should be used with care, as they make + devfiles less portable. It is assumed that external + volumes exist already." + properties: + name: + description: Name defines the name of the resource + type: string + type: + description: "Type defines the type of the resource: + \n - `storage` specifies that this volume + refers to a PersistentVolumeClaim - `configmap` + specifies that this volume refers to a ConfigMap + - `secret` specifies that this volume refers + to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + type: string + required: + - name + - type + type: object name: description: Mandatory name that allows referencing the Volume component in Container volume mounts @@ -5631,6 +5742,32 @@ spec: description: Allows specifying the definition of a volume shared by several other components properties: + external: + description: "External defines information + about volumes that exist outside of the + current workspace. They are not created + or deleted while processing a devfile but + are still mounted into component containers. + When left empty, it is assumed that a new + volume is to be created. \n Note: External + volumes should be used with care, as they + make devfiles less portable. It is assumed + that external volumes exist already." + properties: + name: + description: Name defines the name of + the resource + type: string + type: + description: "Type defines the type of + the resource: \n - `storage` specifies + that this volume refers to a PersistentVolumeClaim + - `configmap` specifies that this volume + refers to a ConfigMap - `secret` specifies + that this volume refers to a Secret + kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + type: string + type: object size: description: Size of the volume type: string @@ -5671,6 +5808,31 @@ spec: description: Allows specifying the definition of a volume shared by several other components properties: + external: + description: "External defines information about volumes + that exist outside of the current workspace. They + are not created or deleted while processing a devfile + but are still mounted into component containers. When + left empty, it is assumed that a new volume is to + be created. \n Note: External volumes should be used + with care, as they make devfiles less portable. It + is assumed that external volumes exist already." + properties: + name: + description: Name defines the name of the resource + type: string + type: + description: "Type defines the type of the resource: + \n - `storage` specifies that this volume refers + to a PersistentVolumeClaim - `configmap` specifies + that this volume refers to a ConfigMap - `secret` + specifies that this volume refers to a Secret + kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + type: string + required: + - name + - type + type: object size: description: Size of the volume type: string @@ -7190,6 +7352,34 @@ spec: description: Allows specifying the definition of a volume shared by several other components properties: + external: + description: "External defines information + about volumes that exist outside of + the current workspace. They are not + created or deleted while processing + a devfile but are still mounted into + component containers. When left empty, + it is assumed that a new volume is to + be created. \n Note: External volumes + should be used with care, as they make + devfiles less portable. It is assumed + that external volumes exist already." + properties: + name: + description: Name defines the name + of the resource + type: string + type: + description: "Type defines the type + of the resource: \n - `storage` + specifies that this volume refers + to a PersistentVolumeClaim - `configmap` + specifies that this volume refers + to a ConfigMap - `secret` specifies + that this volume refers to a Secret + kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + type: string + type: object size: description: Size of the volume type: string @@ -7229,6 +7419,29 @@ spec: description: Allows specifying the definition of a volume shared by several other components properties: + external: + description: "External defines information about + volumes that exist outside of the current workspace. + They are not created or deleted while processing + a devfile but are still mounted into component + containers. When left empty, it is assumed that + a new volume is to be created. \n Note: External + volumes should be used with care, as they make + devfiles less portable. It is assumed that external + volumes exist already." + properties: + name: + description: Name defines the name of the resource + type: string + type: + description: "Type defines the type of the resource: + \n - `storage` specifies that this volume + refers to a PersistentVolumeClaim - `configmap` + specifies that this volume refers to a ConfigMap + - `secret` specifies that this volume refers + to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + type: string + type: object size: description: Size of the volume type: string diff --git a/crds/workspace.devfile.io_devworkspacetemplates.v1beta1.yaml b/crds/workspace.devfile.io_devworkspacetemplates.v1beta1.yaml index 10e7c581f..78508afc1 100644 --- a/crds/workspace.devfile.io_devworkspacetemplates.v1beta1.yaml +++ b/crds/workspace.devfile.io_devworkspacetemplates.v1beta1.yaml @@ -1584,6 +1584,33 @@ spec: description: Configuration overriding for a Volume component in a plugin properties: + external: + description: "External defines information about + volumes that exist outside of the current workspace. + They are not created or deleted while processing + a devfile but are still mounted into component + containers. When left empty, it is assumed that + a new volume is to be created. \n Note: External + volumes should be used with care, as they make + devfiles less portable. It is assumed that external + volumes exist already." + properties: + name: + description: Name defines the name of the + resource + type: string + type: + description: "Type defines the type of the + resource: \n - `storage` specifies that + this volume refers to a PersistentVolumeClaim + - `configmap` specifies that this volume + refers to a ConfigMap - `secret` specifies + that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + type: string + required: + - name + - type + type: object name: description: Mandatory name that allows referencing the Volume component in Container volume mounts @@ -1634,6 +1661,30 @@ spec: description: Allows specifying the definition of a volume shared by several other components properties: + external: + description: "External defines information about volumes + that exist outside of the current workspace. They are + not created or deleted while processing a devfile but + are still mounted into component containers. When left + empty, it is assumed that a new volume is to be created. + \n Note: External volumes should be used with care, as + they make devfiles less portable. It is assumed that external + volumes exist already." + properties: + name: + description: Name defines the name of the resource + type: string + type: + description: "Type defines the type of the resource: + \n - `storage` specifies that this volume refers to + a PersistentVolumeClaim - `configmap` specifies that + this volume refers to a ConfigMap - `secret` specifies + that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + type: string + required: + - name + - type + type: object name: description: Mandatory name that allows referencing the Volume component in Container volume mounts or inside @@ -3288,6 +3339,35 @@ spec: description: Configuration overriding for a Volume component in a plugin properties: + external: + description: "External defines information + about volumes that exist outside of the + current workspace. They are not created + or deleted while processing a devfile but + are still mounted into component containers. + When left empty, it is assumed that a new + volume is to be created. \n Note: External + volumes should be used with care, as they + make devfiles less portable. It is assumed + that external volumes exist already." + properties: + name: + description: Name defines the name of + the resource + type: string + type: + description: "Type defines the type of + the resource: \n - `storage` specifies + that this volume refers to a PersistentVolumeClaim + - `configmap` specifies that this volume + refers to a ConfigMap - `secret` specifies + that this volume refers to a Secret + kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + type: string + required: + - name + - type + type: object name: description: Mandatory name that allows referencing the Volume component in Container volume @@ -3338,6 +3418,31 @@ spec: description: Allows specifying the definition of a volume shared by several other components properties: + external: + description: "External defines information about volumes + that exist outside of the current workspace. They + are not created or deleted while processing a devfile + but are still mounted into component containers. When + left empty, it is assumed that a new volume is to + be created. \n Note: External volumes should be used + with care, as they make devfiles less portable. It + is assumed that external volumes exist already." + properties: + name: + description: Name defines the name of the resource + type: string + type: + description: "Type defines the type of the resource: + \n - `storage` specifies that this volume refers + to a PersistentVolumeClaim - `configmap` specifies + that this volume refers to a ConfigMap - `secret` + specifies that this volume refers to a Secret + kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + type: string + required: + - name + - type + type: object name: description: Mandatory name that allows referencing the Volume component in Container volume mounts or @@ -5340,6 +5445,30 @@ spec: description: Allows specifying the definition of a volume shared by several other components properties: + external: + description: "External defines information about + volumes that exist outside of the current workspace. + They are not created or deleted while processing + a devfile but are still mounted into component + containers. When left empty, it is assumed that + a new volume is to be created. \n Note: External + volumes should be used with care, as they make + devfiles less portable. It is assumed that external + volumes exist already." + properties: + name: + description: Name defines the name of the + resource + type: string + type: + description: "Type defines the type of the + resource: \n - `storage` specifies that + this volume refers to a PersistentVolumeClaim + - `configmap` specifies that this volume + refers to a ConfigMap - `secret` specifies + that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + type: string + type: object size: description: Size of the volume type: string @@ -5380,6 +5509,30 @@ spec: description: Allows specifying the definition of a volume shared by several other components properties: + external: + description: "External defines information about volumes + that exist outside of the current workspace. They are + not created or deleted while processing a devfile but + are still mounted into component containers. When left + empty, it is assumed that a new volume is to be created. + \n Note: External volumes should be used with care, as + they make devfiles less portable. It is assumed that external + volumes exist already." + properties: + name: + description: Name defines the name of the resource + type: string + type: + description: "Type defines the type of the resource: + \n - `storage` specifies that this volume refers to + a PersistentVolumeClaim - `configmap` specifies that + this volume refers to a ConfigMap - `secret` specifies + that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + type: string + required: + - name + - type + type: object size: description: Size of the volume type: string @@ -6845,6 +6998,32 @@ spec: description: Allows specifying the definition of a volume shared by several other components properties: + external: + description: "External defines information + about volumes that exist outside of the + current workspace. They are not created + or deleted while processing a devfile but + are still mounted into component containers. + When left empty, it is assumed that a new + volume is to be created. \n Note: External + volumes should be used with care, as they + make devfiles less portable. It is assumed + that external volumes exist already." + properties: + name: + description: Name defines the name of + the resource + type: string + type: + description: "Type defines the type of + the resource: \n - `storage` specifies + that this volume refers to a PersistentVolumeClaim + - `configmap` specifies that this volume + refers to a ConfigMap - `secret` specifies + that this volume refers to a Secret + kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + type: string + type: object size: description: Size of the volume type: string @@ -6883,6 +7062,28 @@ spec: description: Allows specifying the definition of a volume shared by several other components properties: + external: + description: "External defines information about volumes + that exist outside of the current workspace. They + are not created or deleted while processing a devfile + but are still mounted into component containers. When + left empty, it is assumed that a new volume is to + be created. \n Note: External volumes should be used + with care, as they make devfiles less portable. It + is assumed that external volumes exist already." + properties: + name: + description: Name defines the name of the resource + type: string + type: + description: "Type defines the type of the resource: + \n - `storage` specifies that this volume refers + to a PersistentVolumeClaim - `configmap` specifies + that this volume refers to a ConfigMap - `secret` + specifies that this volume refers to a Secret + kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + type: string + type: object size: description: Size of the volume type: string diff --git a/crds/workspace.devfile.io_devworkspacetemplates.yaml b/crds/workspace.devfile.io_devworkspacetemplates.yaml index 4fe96fed8..a4adeb94d 100644 --- a/crds/workspace.devfile.io_devworkspacetemplates.yaml +++ b/crds/workspace.devfile.io_devworkspacetemplates.yaml @@ -1582,6 +1582,33 @@ spec: description: Configuration overriding for a Volume component in a plugin properties: + external: + description: "External defines information about + volumes that exist outside of the current workspace. + They are not created or deleted while processing + a devfile but are still mounted into component + containers. When left empty, it is assumed that + a new volume is to be created. \n Note: External + volumes should be used with care, as they make + devfiles less portable. It is assumed that external + volumes exist already." + properties: + name: + description: Name defines the name of the + resource + type: string + type: + description: "Type defines the type of the + resource: \n - `storage` specifies that + this volume refers to a PersistentVolumeClaim + - `configmap` specifies that this volume + refers to a ConfigMap - `secret` specifies + that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + type: string + required: + - name + - type + type: object name: description: Mandatory name that allows referencing the Volume component in Container volume mounts @@ -1632,6 +1659,30 @@ spec: description: Allows specifying the definition of a volume shared by several other components properties: + external: + description: "External defines information about volumes + that exist outside of the current workspace. They are + not created or deleted while processing a devfile but + are still mounted into component containers. When left + empty, it is assumed that a new volume is to be created. + \n Note: External volumes should be used with care, as + they make devfiles less portable. It is assumed that external + volumes exist already." + properties: + name: + description: Name defines the name of the resource + type: string + type: + description: "Type defines the type of the resource: + \n - `storage` specifies that this volume refers to + a PersistentVolumeClaim - `configmap` specifies that + this volume refers to a ConfigMap - `secret` specifies + that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + type: string + required: + - name + - type + type: object name: description: Mandatory name that allows referencing the Volume component in Container volume mounts or inside @@ -3286,6 +3337,35 @@ spec: description: Configuration overriding for a Volume component in a plugin properties: + external: + description: "External defines information + about volumes that exist outside of the + current workspace. They are not created + or deleted while processing a devfile but + are still mounted into component containers. + When left empty, it is assumed that a new + volume is to be created. \n Note: External + volumes should be used with care, as they + make devfiles less portable. It is assumed + that external volumes exist already." + properties: + name: + description: Name defines the name of + the resource + type: string + type: + description: "Type defines the type of + the resource: \n - `storage` specifies + that this volume refers to a PersistentVolumeClaim + - `configmap` specifies that this volume + refers to a ConfigMap - `secret` specifies + that this volume refers to a Secret + kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + type: string + required: + - name + - type + type: object name: description: Mandatory name that allows referencing the Volume component in Container volume @@ -3336,6 +3416,31 @@ spec: description: Allows specifying the definition of a volume shared by several other components properties: + external: + description: "External defines information about volumes + that exist outside of the current workspace. They + are not created or deleted while processing a devfile + but are still mounted into component containers. When + left empty, it is assumed that a new volume is to + be created. \n Note: External volumes should be used + with care, as they make devfiles less portable. It + is assumed that external volumes exist already." + properties: + name: + description: Name defines the name of the resource + type: string + type: + description: "Type defines the type of the resource: + \n - `storage` specifies that this volume refers + to a PersistentVolumeClaim - `configmap` specifies + that this volume refers to a ConfigMap - `secret` + specifies that this volume refers to a Secret + kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + type: string + required: + - name + - type + type: object name: description: Mandatory name that allows referencing the Volume component in Container volume mounts or @@ -5345,6 +5450,30 @@ spec: description: Allows specifying the definition of a volume shared by several other components properties: + external: + description: "External defines information about + volumes that exist outside of the current workspace. + They are not created or deleted while processing + a devfile but are still mounted into component + containers. When left empty, it is assumed that + a new volume is to be created. \n Note: External + volumes should be used with care, as they make + devfiles less portable. It is assumed that external + volumes exist already." + properties: + name: + description: Name defines the name of the + resource + type: string + type: + description: "Type defines the type of the + resource: \n - `storage` specifies that + this volume refers to a PersistentVolumeClaim + - `configmap` specifies that this volume + refers to a ConfigMap - `secret` specifies + that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + type: string + type: object size: description: Size of the volume type: string @@ -5385,6 +5514,30 @@ spec: description: Allows specifying the definition of a volume shared by several other components properties: + external: + description: "External defines information about volumes + that exist outside of the current workspace. They are + not created or deleted while processing a devfile but + are still mounted into component containers. When left + empty, it is assumed that a new volume is to be created. + \n Note: External volumes should be used with care, as + they make devfiles less portable. It is assumed that external + volumes exist already." + properties: + name: + description: Name defines the name of the resource + type: string + type: + description: "Type defines the type of the resource: + \n - `storage` specifies that this volume refers to + a PersistentVolumeClaim - `configmap` specifies that + this volume refers to a ConfigMap - `secret` specifies + that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + type: string + required: + - name + - type + type: object size: description: Size of the volume type: string @@ -6850,6 +7003,32 @@ spec: description: Allows specifying the definition of a volume shared by several other components properties: + external: + description: "External defines information + about volumes that exist outside of the + current workspace. They are not created + or deleted while processing a devfile but + are still mounted into component containers. + When left empty, it is assumed that a new + volume is to be created. \n Note: External + volumes should be used with care, as they + make devfiles less portable. It is assumed + that external volumes exist already." + properties: + name: + description: Name defines the name of + the resource + type: string + type: + description: "Type defines the type of + the resource: \n - `storage` specifies + that this volume refers to a PersistentVolumeClaim + - `configmap` specifies that this volume + refers to a ConfigMap - `secret` specifies + that this volume refers to a Secret + kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + type: string + type: object size: description: Size of the volume type: string @@ -6888,6 +7067,28 @@ spec: description: Allows specifying the definition of a volume shared by several other components properties: + external: + description: "External defines information about volumes + that exist outside of the current workspace. They + are not created or deleted while processing a devfile + but are still mounted into component containers. When + left empty, it is assumed that a new volume is to + be created. \n Note: External volumes should be used + with care, as they make devfiles less portable. It + is assumed that external volumes exist already." + properties: + name: + description: Name defines the name of the resource + type: string + type: + description: "Type defines the type of the resource: + \n - `storage` specifies that this volume refers + to a PersistentVolumeClaim - `configmap` specifies + that this volume refers to a ConfigMap - `secret` + specifies that this volume refers to a Secret + kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + type: string + type: object size: description: Size of the volume type: string diff --git a/pkg/apis/workspaces/v1alpha1/volumeComponent.go b/pkg/apis/workspaces/v1alpha1/volumeComponent.go index bb47d4633..05f63e849 100644 --- a/pkg/apis/workspaces/v1alpha1/volumeComponent.go +++ b/pkg/apis/workspaces/v1alpha1/volumeComponent.go @@ -15,4 +15,38 @@ type Volume struct { // +optional // Size of the volume Size string `json:"size,omitempty"` + + // External defines information about volumes that exist outside of the current workspace. + // They are not created or deleted while processing a devfile but are still mounted into + // component containers. When left empty, it is assumed that a new volume is to be created. + // + // Note: External volumes should be used with care, as they make devfiles less portable. It + // is assumed that external volumes exist already. + // +optional + External ExistingVolumeRef `json:"external,omitempty"` } + +// ExistingVolumeRef is a refernce to a volume that exists outside the lifecycle of components +type ExistingVolumeRef struct { + // Name defines the name of the resource + Name string `json:"name"` + // Type defines the type of the resource: + // + // - `storage` specifies that this volume refers to a PersistentVolumeClaim + // - `configmap` specifies that this volume refers to a ConfigMap + // - `secret` specifies that this volume refers to a Secret + // kubebuilder:validation:Enum="persistent,configmap,secret" + Type ExistingVolumeType `json:"type"` +} + +// ExistingVolumeType defines the type of an external Volume +type ExistingVolumeType string + +const ( + // PersistentVolumeType specifies persistent storage, e.g. a PersistentVolumeClaim + PersistentVolumeType ExistingVolumeType = "persistent" + // ConfigmapVolumeType specifies a configmap + ConfigmapVolumeType ExistingVolumeType = "configmap" + // SecretVolumeType specifies a secret + SecretVolumeType ExistingVolumeType = "secret" +) diff --git a/pkg/apis/workspaces/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/workspaces/v1alpha1/zz_generated.deepcopy.go index c530d3612..681b443f7 100644 --- a/pkg/apis/workspaces/v1alpha1/zz_generated.deepcopy.go +++ b/pkg/apis/workspaces/v1alpha1/zz_generated.deepcopy.go @@ -629,6 +629,21 @@ func (in *ExecCommand) DeepCopy() *ExecCommand { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExistingVolumeRef) DeepCopyInto(out *ExistingVolumeRef) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExistingVolumeRef. +func (in *ExistingVolumeRef) DeepCopy() *ExistingVolumeRef { + if in == nil { + return nil + } + out := new(ExistingVolumeRef) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *GitLikeProjectSource) DeepCopyInto(out *GitLikeProjectSource) { *out = *in @@ -1074,6 +1089,7 @@ func (in *StarterProject) DeepCopy() *StarterProject { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Volume) DeepCopyInto(out *Volume) { *out = *in + out.External = in.External } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Volume. diff --git a/pkg/apis/workspaces/v1alpha2/volumeComponent.go b/pkg/apis/workspaces/v1alpha2/volumeComponent.go index 069238198..92e8e702c 100644 --- a/pkg/apis/workspaces/v1alpha2/volumeComponent.go +++ b/pkg/apis/workspaces/v1alpha2/volumeComponent.go @@ -11,4 +11,38 @@ type Volume struct { // +optional // Size of the volume Size string `json:"size,omitempty"` + + // External defines information about volumes that exist outside of the current workspace. + // They are not created or deleted while processing a devfile but are still mounted into + // component containers. When left empty, it is assumed that a new volume is to be created. + // + // Note: External volumes should be used with care, as they make devfiles less portable. It + // is assumed that external volumes exist already. + // +optional + External ExistingVolumeRef `json:"external,omitempty"` +} + +// ExistingVolumeRef is a refernce to a volume that exists outside the lifecycle of components +type ExistingVolumeRef struct { + // Name defines the name of the resource + Name string `json:"name"` + // Type defines the type of the resource: + // + // - `storage` specifies that this volume refers to a PersistentVolumeClaim + // - `configmap` specifies that this volume refers to a ConfigMap + // - `secret` specifies that this volume refers to a Secret + // kubebuilder:validation:Enum="persistent,configmap,secret" + Type ExistingVolumeType `json:"type"` } + +// ExistingVolumeType defines the type of an external Volume +type ExistingVolumeType string + +const ( + // PersistentVolumeType specifies persistent storage, e.g. a PersistentVolumeClaim + PersistentVolumeType ExistingVolumeType = "persistent" + // ConfigmapVolumeType specifies a configmap + ConfigmapVolumeType ExistingVolumeType = "configmap" + // SecretVolumeType specifies a secret + SecretVolumeType ExistingVolumeType = "secret" +) diff --git a/pkg/apis/workspaces/v1alpha2/zz_generated.deepcopy.go b/pkg/apis/workspaces/v1alpha2/zz_generated.deepcopy.go index 3ee9a3c32..94c1331a9 100644 --- a/pkg/apis/workspaces/v1alpha2/zz_generated.deepcopy.go +++ b/pkg/apis/workspaces/v1alpha2/zz_generated.deepcopy.go @@ -1699,6 +1699,66 @@ func (in *ExecCommandPluginOverrideParentOverride) DeepCopy() *ExecCommandPlugin return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExistingVolumeRef) DeepCopyInto(out *ExistingVolumeRef) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExistingVolumeRef. +func (in *ExistingVolumeRef) DeepCopy() *ExistingVolumeRef { + if in == nil { + return nil + } + out := new(ExistingVolumeRef) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExistingVolumeRefParentOverride) DeepCopyInto(out *ExistingVolumeRefParentOverride) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExistingVolumeRefParentOverride. +func (in *ExistingVolumeRefParentOverride) DeepCopy() *ExistingVolumeRefParentOverride { + if in == nil { + return nil + } + out := new(ExistingVolumeRefParentOverride) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExistingVolumeRefPluginOverride) DeepCopyInto(out *ExistingVolumeRefPluginOverride) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExistingVolumeRefPluginOverride. +func (in *ExistingVolumeRefPluginOverride) DeepCopy() *ExistingVolumeRefPluginOverride { + if in == nil { + return nil + } + out := new(ExistingVolumeRefPluginOverride) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExistingVolumeRefPluginOverrideParentOverride) DeepCopyInto(out *ExistingVolumeRefPluginOverrideParentOverride) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExistingVolumeRefPluginOverrideParentOverride. +func (in *ExistingVolumeRefPluginOverrideParentOverride) DeepCopy() *ExistingVolumeRefPluginOverrideParentOverride { + if in == nil { + return nil + } + out := new(ExistingVolumeRefPluginOverrideParentOverride) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *GitLikeProjectSource) DeepCopyInto(out *GitLikeProjectSource) { *out = *in @@ -2651,6 +2711,7 @@ func (in *StarterProjectParentOverride) DeepCopy() *StarterProjectParentOverride // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Volume) DeepCopyInto(out *Volume) { *out = *in + out.External = in.External } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Volume. @@ -2794,6 +2855,7 @@ func (in *VolumeMountPluginOverrideParentOverride) DeepCopy() *VolumeMountPlugin // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *VolumeParentOverride) DeepCopyInto(out *VolumeParentOverride) { *out = *in + out.External = in.External } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeParentOverride. @@ -2809,6 +2871,7 @@ func (in *VolumeParentOverride) DeepCopy() *VolumeParentOverride { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *VolumePluginOverride) DeepCopyInto(out *VolumePluginOverride) { *out = *in + out.External = in.External } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumePluginOverride. @@ -2824,6 +2887,7 @@ func (in *VolumePluginOverride) DeepCopy() *VolumePluginOverride { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *VolumePluginOverrideParentOverride) DeepCopyInto(out *VolumePluginOverrideParentOverride) { *out = *in + out.External = in.External } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumePluginOverrideParentOverride. diff --git a/pkg/apis/workspaces/v1alpha2/zz_generated.parent_overrides.go b/pkg/apis/workspaces/v1alpha2/zz_generated.parent_overrides.go index 933e3b4e5..a1985e207 100644 --- a/pkg/apis/workspaces/v1alpha2/zz_generated.parent_overrides.go +++ b/pkg/apis/workspaces/v1alpha2/zz_generated.parent_overrides.go @@ -498,6 +498,15 @@ type VolumeParentOverride struct { // +optional // Size of the volume Size string `json:"size,omitempty"` + + // External defines information about volumes that exist outside of the current workspace. + // They are not created or deleted while processing a devfile but are still mounted into + // component containers. When left empty, it is assumed that a new volume is to be created. + // + // Note: External volumes should be used with care, as they make devfiles less portable. It + // is assumed that external volumes exist already. + // +optional + External ExistingVolumeRefParentOverride `json:"external,omitempty"` } type ImportReferenceParentOverride struct { @@ -629,6 +638,23 @@ type K8sLikeComponentLocationParentOverride struct { Inlined string `json:"inlined,omitempty"` } +// ExistingVolumeRef is a refernce to a volume that exists outside the lifecycle of components +type ExistingVolumeRefParentOverride struct { + + // +optional + // Name defines the name of the resource + Name string `json:"name,omitempty"` + + // +optional + // Type defines the type of the resource: + // + // - `storage` specifies that this volume refers to a PersistentVolumeClaim + // - `configmap` specifies that this volume refers to a ConfigMap + // - `secret` specifies that this volume refers to a Secret + // kubebuilder:validation:Enum="persistent,configmap,secret" + Type ExistingVolumeTypeParentOverride `json:"type,omitempty"` +} + // Location from where the an import reference is retrieved // +union type ImportReferenceUnionParentOverride struct { @@ -721,6 +747,9 @@ type VscodeConfigurationCommandLocationTypeParentOverride string // Only one of the following component type may be specified. type K8sLikeComponentLocationTypeParentOverride string +// ExistingVolumeType defines the type of an external Volume +type ExistingVolumeTypeParentOverride string + // ImportReferenceType describes the type of location // from where the referenced template structure should be retrieved. // Only one of the following parent locations may be specified. @@ -1060,6 +1089,15 @@ type VolumePluginOverrideParentOverride struct { // +optional // Size of the volume Size string `json:"size,omitempty"` + + // External defines information about volumes that exist outside of the current workspace. + // They are not created or deleted while processing a devfile but are still mounted into + // component containers. When left empty, it is assumed that a new volume is to be created. + // + // Note: External volumes should be used with care, as they make devfiles less portable. It + // is assumed that external volumes exist already. + // +optional + External ExistingVolumeRefPluginOverrideParentOverride `json:"external,omitempty"` } type LabeledCommandPluginOverrideParentOverride struct { @@ -1150,6 +1188,23 @@ type K8sLikeComponentLocationPluginOverrideParentOverride struct { Inlined string `json:"inlined,omitempty"` } +// ExistingVolumeRef is a refernce to a volume that exists outside the lifecycle of components +type ExistingVolumeRefPluginOverrideParentOverride struct { + + // +optional + // Name defines the name of the resource + Name string `json:"name,omitempty"` + + // +optional + // Type defines the type of the resource: + // + // - `storage` specifies that this volume refers to a PersistentVolumeClaim + // - `configmap` specifies that this volume refers to a ConfigMap + // - `secret` specifies that this volume refers to a Secret + // kubebuilder:validation:Enum="persistent,configmap,secret" + Type ExistingVolumeTypePluginOverrideParentOverride `json:"type,omitempty"` +} + type CommandGroupPluginOverrideParentOverride struct { // +optional @@ -1171,6 +1226,9 @@ type VscodeConfigurationCommandLocationTypePluginOverrideParentOverride string // Only one of the following component type may be specified. type K8sLikeComponentLocationTypePluginOverrideParentOverride string +// ExistingVolumeType defines the type of an external Volume +type ExistingVolumeTypePluginOverrideParentOverride string + // CommandGroupKind describes the kind of command group. // +kubebuilder:validation:Enum=build;run;test;debug type CommandGroupKindPluginOverrideParentOverride string diff --git a/pkg/apis/workspaces/v1alpha2/zz_generated.plugin_overrides.go b/pkg/apis/workspaces/v1alpha2/zz_generated.plugin_overrides.go index 42655fe88..9f4fbb290 100644 --- a/pkg/apis/workspaces/v1alpha2/zz_generated.plugin_overrides.go +++ b/pkg/apis/workspaces/v1alpha2/zz_generated.plugin_overrides.go @@ -377,6 +377,15 @@ type VolumePluginOverride struct { // +optional // Size of the volume Size string `json:"size,omitempty"` + + // External defines information about volumes that exist outside of the current workspace. + // They are not created or deleted while processing a devfile but are still mounted into + // component containers. When left empty, it is assumed that a new volume is to be created. + // + // Note: External volumes should be used with care, as they make devfiles less portable. It + // is assumed that external volumes exist already. + // +optional + External ExistingVolumeRefPluginOverride `json:"external,omitempty"` } type LabeledCommandPluginOverride struct { @@ -466,6 +475,23 @@ type K8sLikeComponentLocationPluginOverride struct { Inlined string `json:"inlined,omitempty"` } +// ExistingVolumeRef is a refernce to a volume that exists outside the lifecycle of components +type ExistingVolumeRefPluginOverride struct { + + // +optional + // Name defines the name of the resource + Name string `json:"name,omitempty"` + + // +optional + // Type defines the type of the resource: + // + // - `storage` specifies that this volume refers to a PersistentVolumeClaim + // - `configmap` specifies that this volume refers to a ConfigMap + // - `secret` specifies that this volume refers to a Secret + // kubebuilder:validation:Enum="persistent,configmap,secret" + Type ExistingVolumeTypePluginOverride `json:"type,omitempty"` +} + type CommandGroupPluginOverride struct { // +optional @@ -487,6 +513,9 @@ type VscodeConfigurationCommandLocationTypePluginOverride string // Only one of the following component type may be specified. type K8sLikeComponentLocationTypePluginOverride string +// ExistingVolumeType defines the type of an external Volume +type ExistingVolumeTypePluginOverride string + // CommandGroupKind describes the kind of command group. // +kubebuilder:validation:Enum=build;run;test;debug type CommandGroupKindPluginOverride string diff --git a/schemas/latest/dev-workspace-template-spec.json b/schemas/latest/dev-workspace-template-spec.json index 0043066d7..dd858cbbe 100644 --- a/schemas/latest/dev-workspace-template-spec.json +++ b/schemas/latest/dev-workspace-template-spec.json @@ -1432,6 +1432,21 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string" + } + }, + "additionalProperties": false + }, "size": { "description": "Size of the volume", "type": "string" @@ -1477,6 +1492,25 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "required": [ + "name", + "type" + ], + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string" + } + }, + "additionalProperties": false + }, "size": { "description": "Size of the volume", "type": "string" @@ -2858,6 +2892,21 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string" + } + }, + "additionalProperties": false + }, "size": { "description": "Size of the volume", "type": "string" @@ -2900,6 +2949,21 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string" + } + }, + "additionalProperties": false + }, "size": { "description": "Size of the volume", "type": "string" diff --git a/schemas/latest/dev-workspace-template.json b/schemas/latest/dev-workspace-template.json index bf1d3ec20..3ee38ddd2 100644 --- a/schemas/latest/dev-workspace-template.json +++ b/schemas/latest/dev-workspace-template.json @@ -1597,6 +1597,21 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string" + } + }, + "additionalProperties": false + }, "size": { "description": "Size of the volume", "type": "string" @@ -1642,6 +1657,25 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "required": [ + "name", + "type" + ], + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string" + } + }, + "additionalProperties": false + }, "size": { "description": "Size of the volume", "type": "string" @@ -3023,6 +3057,21 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string" + } + }, + "additionalProperties": false + }, "size": { "description": "Size of the volume", "type": "string" @@ -3065,6 +3114,21 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string" + } + }, + "additionalProperties": false + }, "size": { "description": "Size of the volume", "type": "string" diff --git a/schemas/latest/dev-workspace.json b/schemas/latest/dev-workspace.json index deb261a9b..0ed41dc98 100644 --- a/schemas/latest/dev-workspace.json +++ b/schemas/latest/dev-workspace.json @@ -1610,6 +1610,21 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string" + } + }, + "additionalProperties": false + }, "size": { "description": "Size of the volume", "type": "string" @@ -1655,6 +1670,25 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "required": [ + "name", + "type" + ], + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string" + } + }, + "additionalProperties": false + }, "size": { "description": "Size of the volume", "type": "string" @@ -3036,6 +3070,21 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string" + } + }, + "additionalProperties": false + }, "size": { "description": "Size of the volume", "type": "string" @@ -3078,6 +3127,21 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string" + } + }, + "additionalProperties": false + }, "size": { "description": "Size of the volume", "type": "string" diff --git a/schemas/latest/devfile.json b/schemas/latest/devfile.json index 6da677dcc..20e6baaa1 100644 --- a/schemas/latest/devfile.json +++ b/schemas/latest/devfile.json @@ -1357,6 +1357,21 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string" + } + }, + "additionalProperties": false + }, "size": { "description": "Size of the volume", "type": "string" @@ -1402,6 +1417,25 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "required": [ + "name", + "type" + ], + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string" + } + }, + "additionalProperties": false + }, "size": { "description": "Size of the volume", "type": "string" @@ -2827,6 +2861,21 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string" + } + }, + "additionalProperties": false + }, "size": { "description": "Size of the volume", "type": "string" @@ -2869,6 +2918,21 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string" + } + }, + "additionalProperties": false + }, "size": { "description": "Size of the volume", "type": "string" diff --git a/schemas/latest/ide-targeted/dev-workspace-template-spec.json b/schemas/latest/ide-targeted/dev-workspace-template-spec.json index d77ecf215..f6bb38a26 100644 --- a/schemas/latest/ide-targeted/dev-workspace-template-spec.json +++ b/schemas/latest/ide-targeted/dev-workspace-template-spec.json @@ -1579,6 +1579,24 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string", + "markdownDescription": "Name defines the name of the resource" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string", + "markdownDescription": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + } + }, + "additionalProperties": false, + "markdownDescription": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already." + }, "size": { "description": "Size of the volume", "type": "string", @@ -1631,6 +1649,28 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "required": [ + "name", + "type" + ], + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string", + "markdownDescription": "Name defines the name of the resource" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string", + "markdownDescription": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + } + }, + "additionalProperties": false, + "markdownDescription": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already." + }, "size": { "description": "Size of the volume", "type": "string", @@ -3164,6 +3204,24 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string", + "markdownDescription": "Name defines the name of the resource" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string", + "markdownDescription": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + } + }, + "additionalProperties": false, + "markdownDescription": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already." + }, "size": { "description": "Size of the volume", "type": "string", @@ -3213,6 +3271,24 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string", + "markdownDescription": "Name defines the name of the resource" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string", + "markdownDescription": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + } + }, + "additionalProperties": false, + "markdownDescription": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already." + }, "size": { "description": "Size of the volume", "type": "string", diff --git a/schemas/latest/ide-targeted/dev-workspace-template.json b/schemas/latest/ide-targeted/dev-workspace-template.json index e7753507a..a87de3551 100644 --- a/schemas/latest/ide-targeted/dev-workspace-template.json +++ b/schemas/latest/ide-targeted/dev-workspace-template.json @@ -1777,6 +1777,24 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string", + "markdownDescription": "Name defines the name of the resource" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string", + "markdownDescription": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + } + }, + "additionalProperties": false, + "markdownDescription": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already." + }, "size": { "description": "Size of the volume", "type": "string", @@ -1829,6 +1847,28 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "required": [ + "name", + "type" + ], + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string", + "markdownDescription": "Name defines the name of the resource" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string", + "markdownDescription": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + } + }, + "additionalProperties": false, + "markdownDescription": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already." + }, "size": { "description": "Size of the volume", "type": "string", @@ -3362,6 +3402,24 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string", + "markdownDescription": "Name defines the name of the resource" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string", + "markdownDescription": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + } + }, + "additionalProperties": false, + "markdownDescription": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already." + }, "size": { "description": "Size of the volume", "type": "string", @@ -3411,6 +3469,24 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string", + "markdownDescription": "Name defines the name of the resource" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string", + "markdownDescription": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + } + }, + "additionalProperties": false, + "markdownDescription": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already." + }, "size": { "description": "Size of the volume", "type": "string", diff --git a/schemas/latest/ide-targeted/dev-workspace.json b/schemas/latest/ide-targeted/dev-workspace.json index ec1029652..9469dfea0 100644 --- a/schemas/latest/ide-targeted/dev-workspace.json +++ b/schemas/latest/ide-targeted/dev-workspace.json @@ -1790,6 +1790,24 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string", + "markdownDescription": "Name defines the name of the resource" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string", + "markdownDescription": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + } + }, + "additionalProperties": false, + "markdownDescription": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already." + }, "size": { "description": "Size of the volume", "type": "string", @@ -1842,6 +1860,28 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "required": [ + "name", + "type" + ], + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string", + "markdownDescription": "Name defines the name of the resource" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string", + "markdownDescription": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + } + }, + "additionalProperties": false, + "markdownDescription": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already." + }, "size": { "description": "Size of the volume", "type": "string", @@ -3375,6 +3415,24 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string", + "markdownDescription": "Name defines the name of the resource" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string", + "markdownDescription": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + } + }, + "additionalProperties": false, + "markdownDescription": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already." + }, "size": { "description": "Size of the volume", "type": "string", @@ -3424,6 +3482,24 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string", + "markdownDescription": "Name defines the name of the resource" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string", + "markdownDescription": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + } + }, + "additionalProperties": false, + "markdownDescription": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already." + }, "size": { "description": "Size of the volume", "type": "string", diff --git a/schemas/latest/ide-targeted/devfile.json b/schemas/latest/ide-targeted/devfile.json index 884643531..133919992 100644 --- a/schemas/latest/ide-targeted/devfile.json +++ b/schemas/latest/ide-targeted/devfile.json @@ -1494,6 +1494,24 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string", + "markdownDescription": "Name defines the name of the resource" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string", + "markdownDescription": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + } + }, + "additionalProperties": false, + "markdownDescription": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already." + }, "size": { "description": "Size of the volume", "type": "string", @@ -1546,6 +1564,28 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "required": [ + "name", + "type" + ], + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string", + "markdownDescription": "Name defines the name of the resource" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string", + "markdownDescription": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + } + }, + "additionalProperties": false, + "markdownDescription": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already." + }, "size": { "description": "Size of the volume", "type": "string", @@ -3132,6 +3172,24 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string", + "markdownDescription": "Name defines the name of the resource" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string", + "markdownDescription": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + } + }, + "additionalProperties": false, + "markdownDescription": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already." + }, "size": { "description": "Size of the volume", "type": "string", @@ -3181,6 +3239,24 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string", + "markdownDescription": "Name defines the name of the resource" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string", + "markdownDescription": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + } + }, + "additionalProperties": false, + "markdownDescription": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already." + }, "size": { "description": "Size of the volume", "type": "string", diff --git a/schemas/latest/ide-targeted/parent-overrides.json b/schemas/latest/ide-targeted/parent-overrides.json index 337cf9ce8..02da129da 100644 --- a/schemas/latest/ide-targeted/parent-overrides.json +++ b/schemas/latest/ide-targeted/parent-overrides.json @@ -1461,6 +1461,24 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string", + "markdownDescription": "Name defines the name of the resource" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string", + "markdownDescription": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + } + }, + "additionalProperties": false, + "markdownDescription": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already." + }, "size": { "description": "Size of the volume", "type": "string", @@ -1510,6 +1528,24 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string", + "markdownDescription": "Name defines the name of the resource" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string", + "markdownDescription": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + } + }, + "additionalProperties": false, + "markdownDescription": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already." + }, "size": { "description": "Size of the volume", "type": "string", diff --git a/schemas/latest/ide-targeted/plugin-overrides.json b/schemas/latest/ide-targeted/plugin-overrides.json index cdf3c760b..7c9e7bdd5 100644 --- a/schemas/latest/ide-targeted/plugin-overrides.json +++ b/schemas/latest/ide-targeted/plugin-overrides.json @@ -721,6 +721,24 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string", + "markdownDescription": "Name defines the name of the resource" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string", + "markdownDescription": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"" + } + }, + "additionalProperties": false, + "markdownDescription": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already." + }, "size": { "description": "Size of the volume", "type": "string", diff --git a/schemas/latest/parent-overrides.json b/schemas/latest/parent-overrides.json index d921b5a94..e49e5f359 100644 --- a/schemas/latest/parent-overrides.json +++ b/schemas/latest/parent-overrides.json @@ -1316,6 +1316,21 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string" + } + }, + "additionalProperties": false + }, "size": { "description": "Size of the volume", "type": "string" @@ -1358,6 +1373,21 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string" + } + }, + "additionalProperties": false + }, "size": { "description": "Size of the volume", "type": "string" diff --git a/schemas/latest/plugin-overrides.json b/schemas/latest/plugin-overrides.json index 96f16a39a..89b5386f4 100644 --- a/schemas/latest/plugin-overrides.json +++ b/schemas/latest/plugin-overrides.json @@ -648,6 +648,21 @@ "description": "Allows specifying the definition of a volume shared by several other components", "type": "object", "properties": { + "external": { + "description": "External defines information about volumes that exist outside of the current workspace. They are not created or deleted while processing a devfile but are still mounted into component containers. When left empty, it is assumed that a new volume is to be created.\n\nNote: External volumes should be used with care, as they make devfiles less portable. It is assumed that external volumes exist already.", + "type": "object", + "properties": { + "name": { + "description": "Name defines the name of the resource", + "type": "string" + }, + "type": { + "description": "Type defines the type of the resource:\n- `storage` specifies that this volume refers to a PersistentVolumeClaim - `configmap` specifies that this volume refers to a ConfigMap - `secret` specifies that this volume refers to a Secret kubebuilder:validation:Enum=\"persistent,configmap,secret\"", + "type": "string" + } + }, + "additionalProperties": false + }, "size": { "description": "Size of the volume", "type": "string"