From 168dcfa094f1f2b46855a7bdb566b6f75965783e Mon Sep 17 00:00:00 2001 From: Alik Saring Date: Mon, 19 Aug 2024 16:20:27 -0400 Subject: [PATCH 1/6] Update storage crd wth isiPath for powerscale support --- .../v2.0.0/authorization-crds.yaml | 709 +++++++++--------- .../csm-authorization_storage.yaml | 1 + 2 files changed, 368 insertions(+), 342 deletions(-) diff --git a/operatorconfig/moduleconfig/authorization/v2.0.0/authorization-crds.yaml b/operatorconfig/moduleconfig/authorization/v2.0.0/authorization-crds.yaml index 42bf083aa..9c996f240 100644 --- a/operatorconfig/moduleconfig/authorization/v2.0.0/authorization-crds.yaml +++ b/operatorconfig/moduleconfig/authorization/v2.0.0/authorization-crds.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.15.0 name: csmroles.csm-authorization.storage.dell.com spec: group: csm-authorization.storage.dell.com @@ -13,122 +13,131 @@ spec: singular: csmrole scope: Namespaced versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: CSMRole is the Schema for the csmroles API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: CSMRoleSpec defines the desired state of CSMRole - properties: - pool: - type: string - quota: - description: |- - INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file - type: string - systemID: - type: string - systemType: - type: string - type: object - status: - description: CSMRoleStatus defines the observed state of CSMRole - properties: - conditions: - description: |- - INSERT ADDITIONAL STATUS FIELD - define observed state of cluster - Important: Run "make" to regenerate code after modifying this file - Role.status.conditions.type are: "Available", "NotAvailable", and "UnKnown" - items: - description: "Condition contains details for one aspect of the current state of this API Resource.\n---\nThis struct is intended for direct use as an array at the field path .status.conditions. For example,\n\n\n\ttype FooStatus struct{\n\t // Represents the observations of a foo's current state.\n\t // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t // other fields\n\t}" - properties: - lastTransitionTime: - description: |- - lastTransitionTime is the last time the condition transitioned from one status to another. - This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. - format: date-time - type: string - message: - description: |- - message is a human readable message indicating details about the transition. - This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: |- - observedGeneration represents the .metadata.generation that the condition was set based upon. - For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: |- - reason contains a programmatic identifier indicating the reason for the condition's last transition. - Producers of specific condition types may define expected values and meanings for this field, - and whether the values are considered a guaranteed API. - The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: |- - type of condition in CamelCase or in foo.example.com/CamelCase. - --- - Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be - useful (see .node.status.conditions), the ability to deconflict is important. - The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - type: object - type: object - served: true - storage: true - subresources: - status: {} + - name: v1alpha1 + schema: + openAPIV3Schema: + description: CSMRole is the Schema for the csmroles API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: CSMRoleSpec defines the desired state of CSMRole + properties: + pool: + type: string + quota: + description: |- + INSERT ADDITIONAL SPEC FIELDS - desired state of cluster + Important: Run "make" to regenerate code after modifying this file + type: string + systemID: + type: string + systemType: + type: string + type: object + status: + description: CSMRoleStatus defines the observed state of CSMRole + properties: + conditions: + description: |- + INSERT ADDITIONAL STATUS FIELD - define observed state of cluster + Important: Run "make" to regenerate code after modifying this file + Role.status.conditions.type are: "Available", "NotAvailable", and "UnKnown" + items: + description: "Condition contains details for one aspect of the current + state of this API Resource.\n---\nThis struct is intended for + direct use as an array at the field path .status.conditions. For + example,\n\n\n\ttype FooStatus struct{\n\t // Represents the + observations of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // + +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t + \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: |- + type of condition in CamelCase or in foo.example.com/CamelCase. + --- + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + useful (see .node.status.conditions), the ability to deconflict is important. + The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.15.0 name: csmtenants.csm-authorization.storage.dell.com spec: group: csm-authorization.storage.dell.com @@ -139,126 +148,135 @@ spec: singular: csmtenant scope: Namespaced versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: CSMTenant is the Schema for the csmtenants API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: CSMTenantSpec defines the desired state of CSMTenant - properties: - approveSdc: - type: boolean - revoke: - type: boolean - roles: - description: |- - INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file - type: string - volumePrefix: - maxLength: 3 - minLength: 1 - type: string - required: - - approveSdc - - revoke - type: object - status: - description: CSMTenantStatus defines the observed state of CSMTenant - properties: - conditions: - description: |- - INSERT ADDITIONAL STATUS FIELD - define observed state of cluster - Important: Run "make" to regenerate code after modifying this file - items: - description: "Condition contains details for one aspect of the current state of this API Resource.\n---\nThis struct is intended for direct use as an array at the field path .status.conditions. For example,\n\n\n\ttype FooStatus struct{\n\t // Represents the observations of a foo's current state.\n\t // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t // other fields\n\t}" - properties: - lastTransitionTime: - description: |- - lastTransitionTime is the last time the condition transitioned from one status to another. - This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. - format: date-time - type: string - message: - description: |- - message is a human readable message indicating details about the transition. - This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: |- - observedGeneration represents the .metadata.generation that the condition was set based upon. - For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: |- - reason contains a programmatic identifier indicating the reason for the condition's last transition. - Producers of specific condition types may define expected values and meanings for this field, - and whether the values are considered a guaranteed API. - The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: |- - type of condition in CamelCase or in foo.example.com/CamelCase. - --- - Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be - useful (see .node.status.conditions), the ability to deconflict is important. - The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - type: object - type: object - served: true - storage: true - subresources: - status: {} + - name: v1alpha1 + schema: + openAPIV3Schema: + description: CSMTenant is the Schema for the csmtenants API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: CSMTenantSpec defines the desired state of CSMTenant + properties: + approveSdc: + type: boolean + revoke: + type: boolean + roles: + description: |- + INSERT ADDITIONAL SPEC FIELDS - desired state of cluster + Important: Run "make" to regenerate code after modifying this file + type: string + volumePrefix: + maxLength: 3 + minLength: 1 + type: string + required: + - approveSdc + - revoke + type: object + status: + description: CSMTenantStatus defines the observed state of CSMTenant + properties: + conditions: + description: |- + INSERT ADDITIONAL STATUS FIELD - define observed state of cluster + Important: Run "make" to regenerate code after modifying this file + items: + description: "Condition contains details for one aspect of the current + state of this API Resource.\n---\nThis struct is intended for + direct use as an array at the field path .status.conditions. For + example,\n\n\n\ttype FooStatus struct{\n\t // Represents the + observations of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // + +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t + \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: |- + type of condition in CamelCase or in foo.example.com/CamelCase. + --- + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + useful (see .node.status.conditions), the ability to deconflict is important. + The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.15.0 name: storages.csm-authorization.storage.dell.com spec: group: csm-authorization.storage.dell.com @@ -269,123 +287,130 @@ spec: singular: storage scope: Namespaced versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: Storage is the Schema for the storages API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: StorageSpec defines the desired state of Storage - properties: - endpoint: - type: string - pollInterval: - type: string - vault: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: Storage is the Schema for the storages API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: StorageSpec defines the desired state of Storage + properties: + credentialPath: + type: string + credentialStore: + type: string + endpoint: + type: string + isiPath: + type: string + pollInterval: + type: string + skipCertificateValidation: + type: boolean + systemID: + type: string + type: + description: |- + INSERT ADDITIONAL SPEC FIELDS - desired state of cluster + Important: Run "make" to regenerate code after modifying this file + type: string + required: + - skipCertificateValidation + type: object + status: + description: StorageStatus defines the observed state of Storage + properties: + conditions: + description: 'Storage.status.conditions.type are: "Available", "NotAvailable", + and "UnKnown"' + items: + description: "Condition contains details for one aspect of the current + state of this API Resource.\n---\nThis struct is intended for + direct use as an array at the field path .status.conditions. For + example,\n\n\n\ttype FooStatus struct{\n\t // Represents the + observations of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // + +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t + \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" properties: - identifier: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ type: string - kvEngine: + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown type: string - path: + type: + description: |- + type of condition in CamelCase or in foo.example.com/CamelCase. + --- + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + useful (see .node.status.conditions), the ability to deconflict is important. + The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string + required: + - lastTransitionTime + - message + - reason + - status + - type type: object - skipCertificateValidation: - type: boolean - systemID: - type: string - type: - description: |- - INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file - type: string - required: - - skipCertificateValidation - type: object - status: - description: StorageStatus defines the observed state of Storage - properties: - conditions: - description: 'Storage.status.conditions.type are: "Available", "NotAvailable", and "UnKnown"' - items: - description: "Condition contains details for one aspect of the current state of this API Resource.\n---\nThis struct is intended for direct use as an array at the field path .status.conditions. For example,\n\n\n\ttype FooStatus struct{\n\t // Represents the observations of a foo's current state.\n\t // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t // other fields\n\t}" - properties: - lastTransitionTime: - description: |- - lastTransitionTime is the last time the condition transitioned from one status to another. - This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. - format: date-time - type: string - message: - description: |- - message is a human readable message indicating details about the transition. - This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: |- - observedGeneration represents the .metadata.generation that the condition was set based upon. - For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: |- - reason contains a programmatic identifier indicating the reason for the condition's last transition. - Producers of specific condition types may define expected values and meanings for this field, - and whether the values are considered a guaranteed API. - The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: |- - type of condition in CamelCase or in foo.example.com/CamelCase. - --- - Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be - useful (see .node.status.conditions), the ability to deconflict is important. - The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - type: object - type: object - served: true - storage: true - subresources: - status: {} + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/samples/authorization/csm-authorization_storage.yaml b/samples/authorization/csm-authorization_storage.yaml index 8ab345fa2..f9365d06e 100644 --- a/samples/authorization/csm-authorization_storage.yaml +++ b/samples/authorization/csm-authorization_storage.yaml @@ -12,3 +12,4 @@ spec: path: powerflex/1a99aa999999aa9a skipCertificateValidation: true pollInterval: 30s + isiPath: /ifs/data/csi From 61a8a35e6fc333fe4827617bc9096b8d7112932f Mon Sep 17 00:00:00 2001 From: Alik Saring Date: Mon, 19 Aug 2024 16:25:46 -0400 Subject: [PATCH 2/6] Update storage crd wth isiPath for powerscale support --- .../csm-authorization-template.yaml | 1 + .../csm_authorization_crds.yaml | 719 +++++++++--------- 2 files changed, 367 insertions(+), 353 deletions(-) diff --git a/tests/e2e/testfiles/authorization-templates/csm-authorization-template.yaml b/tests/e2e/testfiles/authorization-templates/csm-authorization-template.yaml index e5b416c98..50f33b642 100644 --- a/tests/e2e/testfiles/authorization-templates/csm-authorization-template.yaml +++ b/tests/e2e/testfiles/authorization-templates/csm-authorization-template.yaml @@ -12,6 +12,7 @@ spec: path: "REPLACE_VAULT_STORAGE_PATH" skipCertificateValidation: true pollInterval: 30s + isiPath: "REPLACE_STORAGE_POOL_PATH" --- apiVersion: csm-authorization.storage.dell.com/v1alpha1 kind: CSMRole diff --git a/tests/e2e/testfiles/authorization-templates/csm_authorization_crds.yaml b/tests/e2e/testfiles/authorization-templates/csm_authorization_crds.yaml index 4f3c39376..9c996f240 100644 --- a/tests/e2e/testfiles/authorization-templates/csm_authorization_crds.yaml +++ b/tests/e2e/testfiles/authorization-templates/csm_authorization_crds.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.15.0 name: csmroles.csm-authorization.storage.dell.com spec: group: csm-authorization.storage.dell.com @@ -13,122 +13,131 @@ spec: singular: csmrole scope: Namespaced versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: CSMRole is the Schema for the csmroles API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: CSMRoleSpec defines the desired state of CSMRole - properties: - pool: - type: string - quota: - description: |- - INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file - type: string - systemID: - type: string - systemType: - type: string - type: object - status: - description: CSMRoleStatus defines the observed state of CSMRole - properties: - conditions: - description: |- - INSERT ADDITIONAL STATUS FIELD - define observed state of cluster - Important: Run "make" to regenerate code after modifying this file - Role.status.conditions.type are: "Available", "NotAvailable", and "UnKnown" - items: - description: "Condition contains details for one aspect of the current state of this API Resource.\n---\nThis struct is intended for direct use as an array at the field path .status.conditions. For example,\n\n\n\ttype FooStatus struct{\n\t // Represents the observations of a foo's current state.\n\t // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t // other fields\n\t}" - properties: - lastTransitionTime: - description: |- - lastTransitionTime is the last time the condition transitioned from one status to another. - This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. - format: date-time - type: string - message: - description: |- - message is a human readable message indicating details about the transition. - This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: |- - observedGeneration represents the .metadata.generation that the condition was set based upon. - For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: |- - reason contains a programmatic identifier indicating the reason for the condition's last transition. - Producers of specific condition types may define expected values and meanings for this field, - and whether the values are considered a guaranteed API. - The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: |- - type of condition in CamelCase or in foo.example.com/CamelCase. - --- - Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be - useful (see .node.status.conditions), the ability to deconflict is important. - The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - type: object - type: object - served: true - storage: true - subresources: - status: {} + - name: v1alpha1 + schema: + openAPIV3Schema: + description: CSMRole is the Schema for the csmroles API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: CSMRoleSpec defines the desired state of CSMRole + properties: + pool: + type: string + quota: + description: |- + INSERT ADDITIONAL SPEC FIELDS - desired state of cluster + Important: Run "make" to regenerate code after modifying this file + type: string + systemID: + type: string + systemType: + type: string + type: object + status: + description: CSMRoleStatus defines the observed state of CSMRole + properties: + conditions: + description: |- + INSERT ADDITIONAL STATUS FIELD - define observed state of cluster + Important: Run "make" to regenerate code after modifying this file + Role.status.conditions.type are: "Available", "NotAvailable", and "UnKnown" + items: + description: "Condition contains details for one aspect of the current + state of this API Resource.\n---\nThis struct is intended for + direct use as an array at the field path .status.conditions. For + example,\n\n\n\ttype FooStatus struct{\n\t // Represents the + observations of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // + +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t + \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: |- + type of condition in CamelCase or in foo.example.com/CamelCase. + --- + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + useful (see .node.status.conditions), the ability to deconflict is important. + The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.14.0 + controller-gen.kubebuilder.io/version: v0.15.0 name: csmtenants.csm-authorization.storage.dell.com spec: group: csm-authorization.storage.dell.com @@ -139,120 +148,129 @@ spec: singular: csmtenant scope: Namespaced versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: CSMTenant is the Schema for the csmtenants API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: CSMTenantSpec defines the desired state of CSMTenant - properties: - approveSdc: - type: boolean - revoke: - type: boolean - roles: - description: |- - INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file - type: string - volumePrefix: - maxLength: 3 - minLength: 1 - type: string - required: - - approveSdc - - revoke - type: object - status: - description: CSMTenantStatus defines the observed state of CSMTenant - properties: - conditions: - description: |- - INSERT ADDITIONAL STATUS FIELD - define observed state of cluster - Important: Run "make" to regenerate code after modifying this file - items: - description: "Condition contains details for one aspect of the current state of this API Resource.\n---\nThis struct is intended for direct use as an array at the field path .status.conditions. For example,\n\n\n\ttype FooStatus struct{\n\t // Represents the observations of a foo's current state.\n\t // Known .status.conditions.type are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t // other fields\n\t}" - properties: - lastTransitionTime: - description: |- - lastTransitionTime is the last time the condition transitioned from one status to another. - This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. - format: date-time - type: string - message: - description: |- - message is a human readable message indicating details about the transition. - This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: |- - observedGeneration represents the .metadata.generation that the condition was set based upon. - For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: |- - reason contains a programmatic identifier indicating the reason for the condition's last transition. - Producers of specific condition types may define expected values and meanings for this field, - and whether the values are considered a guaranteed API. - The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: |- - type of condition in CamelCase or in foo.example.com/CamelCase. - --- - Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be - useful (see .node.status.conditions), the ability to deconflict is important. - The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - type: object - type: object - served: true - storage: true - subresources: - status: {} + - name: v1alpha1 + schema: + openAPIV3Schema: + description: CSMTenant is the Schema for the csmtenants API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: CSMTenantSpec defines the desired state of CSMTenant + properties: + approveSdc: + type: boolean + revoke: + type: boolean + roles: + description: |- + INSERT ADDITIONAL SPEC FIELDS - desired state of cluster + Important: Run "make" to regenerate code after modifying this file + type: string + volumePrefix: + maxLength: 3 + minLength: 1 + type: string + required: + - approveSdc + - revoke + type: object + status: + description: CSMTenantStatus defines the observed state of CSMTenant + properties: + conditions: + description: |- + INSERT ADDITIONAL STATUS FIELD - define observed state of cluster + Important: Run "make" to regenerate code after modifying this file + items: + description: "Condition contains details for one aspect of the current + state of this API Resource.\n---\nThis struct is intended for + direct use as an array at the field path .status.conditions. For + example,\n\n\n\ttype FooStatus struct{\n\t // Represents the + observations of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // + +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t + \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: |- + type of condition in CamelCase or in foo.example.com/CamelCase. + --- + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + useful (see .node.status.conditions), the ability to deconflict is important. + The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -269,135 +287,130 @@ spec: singular: storage scope: Namespaced versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: Storage is the Schema for the storages API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: StorageSpec defines the desired state of Storage - properties: - endpoint: - type: string - pollInterval: - type: string - skipCertificateValidation: - type: boolean - systemID: - type: string - type: - description: |- - INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file - type: string - vault: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: Storage is the Schema for the storages API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: StorageSpec defines the desired state of Storage + properties: + credentialPath: + type: string + credentialStore: + type: string + endpoint: + type: string + isiPath: + type: string + pollInterval: + type: string + skipCertificateValidation: + type: boolean + systemID: + type: string + type: + description: |- + INSERT ADDITIONAL SPEC FIELDS - desired state of cluster + Important: Run "make" to regenerate code after modifying this file + type: string + required: + - skipCertificateValidation + type: object + status: + description: StorageStatus defines the observed state of Storage + properties: + conditions: + description: 'Storage.status.conditions.type are: "Available", "NotAvailable", + and "UnKnown"' + items: + description: "Condition contains details for one aspect of the current + state of this API Resource.\n---\nThis struct is intended for + direct use as an array at the field path .status.conditions. For + example,\n\n\n\ttype FooStatus struct{\n\t // Represents the + observations of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // + +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t + \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" properties: - identifier: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ type: string - kvEngine: + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown type: string - path: + type: + description: |- + type of condition in CamelCase or in foo.example.com/CamelCase. + --- + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + useful (see .node.status.conditions), the ability to deconflict is important. + The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string + required: + - lastTransitionTime + - message + - reason + - status + - type type: object - required: - - skipCertificateValidation - type: object - status: - description: StorageStatus defines the observed state of Storage - properties: - conditions: - description: - 'Storage.status.conditions.type are: "Available", "NotAvailable", - and "UnKnown"' - items: - description: - "Condition contains details for one aspect of the current - state of this API Resource.\n---\nThis struct is intended for - direct use as an array at the field path .status.conditions. For - example,\n\n\n\ttype FooStatus struct{\n\t // Represents the - observations of a foo's current state.\n\t // Known .status.conditions.type - are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // - +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t - \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" - patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t - \ // other fields\n\t}" - properties: - lastTransitionTime: - description: |- - lastTransitionTime is the last time the condition transitioned from one status to another. - This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. - format: date-time - type: string - message: - description: |- - message is a human readable message indicating details about the transition. - This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: |- - observedGeneration represents the .metadata.generation that the condition was set based upon. - For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: |- - reason contains a programmatic identifier indicating the reason for the condition's last transition. - Producers of specific condition types may define expected values and meanings for this field, - and whether the values are considered a guaranteed API. - The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: |- - type of condition in CamelCase or in foo.example.com/CamelCase. - --- - Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be - useful (see .node.status.conditions), the ability to deconflict is important. - The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - type: object - type: object - served: true - storage: true - subresources: - status: {} + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} From 91dec09011829db2ed86ee4408194099cf81cee6 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 19 Aug 2024 20:27:24 +0000 Subject: [PATCH 3/6] fix linting --- .../v2.0.0/authorization-crds.yaml | 742 +++++++++--------- .../csm_authorization_crds.yaml | 742 +++++++++--------- 2 files changed, 746 insertions(+), 738 deletions(-) diff --git a/operatorconfig/moduleconfig/authorization/v2.0.0/authorization-crds.yaml b/operatorconfig/moduleconfig/authorization/v2.0.0/authorization-crds.yaml index 9c996f240..2ab6e5d8e 100644 --- a/operatorconfig/moduleconfig/authorization/v2.0.0/authorization-crds.yaml +++ b/operatorconfig/moduleconfig/authorization/v2.0.0/authorization-crds.yaml @@ -13,125 +13,126 @@ spec: singular: csmrole scope: Namespaced versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: CSMRole is the Schema for the csmroles API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: CSMRoleSpec defines the desired state of CSMRole - properties: - pool: - type: string - quota: - description: |- - INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file - type: string - systemID: - type: string - systemType: - type: string - type: object - status: - description: CSMRoleStatus defines the observed state of CSMRole - properties: - conditions: - description: |- - INSERT ADDITIONAL STATUS FIELD - define observed state of cluster - Important: Run "make" to regenerate code after modifying this file - Role.status.conditions.type are: "Available", "NotAvailable", and "UnKnown" - items: - description: "Condition contains details for one aspect of the current - state of this API Resource.\n---\nThis struct is intended for - direct use as an array at the field path .status.conditions. For - example,\n\n\n\ttype FooStatus struct{\n\t // Represents the - observations of a foo's current state.\n\t // Known .status.conditions.type - are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // - +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t - \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" - patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t - \ // other fields\n\t}" - properties: - lastTransitionTime: - description: |- - lastTransitionTime is the last time the condition transitioned from one status to another. - This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. - format: date-time - type: string - message: - description: |- - message is a human readable message indicating details about the transition. - This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: |- - observedGeneration represents the .metadata.generation that the condition was set based upon. - For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: |- - reason contains a programmatic identifier indicating the reason for the condition's last transition. - Producers of specific condition types may define expected values and meanings for this field, - and whether the values are considered a guaranteed API. - The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: |- - type of condition in CamelCase or in foo.example.com/CamelCase. - --- - Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be - useful (see .node.status.conditions), the ability to deconflict is important. - The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - type: object - type: object - served: true - storage: true - subresources: - status: {} + - name: v1alpha1 + schema: + openAPIV3Schema: + description: CSMRole is the Schema for the csmroles API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: CSMRoleSpec defines the desired state of CSMRole + properties: + pool: + type: string + quota: + description: |- + INSERT ADDITIONAL SPEC FIELDS - desired state of cluster + Important: Run "make" to regenerate code after modifying this file + type: string + systemID: + type: string + systemType: + type: string + type: object + status: + description: CSMRoleStatus defines the observed state of CSMRole + properties: + conditions: + description: |- + INSERT ADDITIONAL STATUS FIELD - define observed state of cluster + Important: Run "make" to regenerate code after modifying this file + Role.status.conditions.type are: "Available", "NotAvailable", and "UnKnown" + items: + description: + "Condition contains details for one aspect of the current + state of this API Resource.\n---\nThis struct is intended for + direct use as an array at the field path .status.conditions. For + example,\n\n\n\ttype FooStatus struct{\n\t // Represents the + observations of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // + +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t + \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: |- + type of condition in CamelCase or in foo.example.com/CamelCase. + --- + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + useful (see .node.status.conditions), the ability to deconflict is important. + The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -148,129 +149,130 @@ spec: singular: csmtenant scope: Namespaced versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: CSMTenant is the Schema for the csmtenants API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: CSMTenantSpec defines the desired state of CSMTenant - properties: - approveSdc: - type: boolean - revoke: - type: boolean - roles: - description: |- - INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file - type: string - volumePrefix: - maxLength: 3 - minLength: 1 - type: string - required: - - approveSdc - - revoke - type: object - status: - description: CSMTenantStatus defines the observed state of CSMTenant - properties: - conditions: - description: |- - INSERT ADDITIONAL STATUS FIELD - define observed state of cluster - Important: Run "make" to regenerate code after modifying this file - items: - description: "Condition contains details for one aspect of the current - state of this API Resource.\n---\nThis struct is intended for - direct use as an array at the field path .status.conditions. For - example,\n\n\n\ttype FooStatus struct{\n\t // Represents the - observations of a foo's current state.\n\t // Known .status.conditions.type - are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // - +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t - \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" - patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t - \ // other fields\n\t}" - properties: - lastTransitionTime: - description: |- - lastTransitionTime is the last time the condition transitioned from one status to another. - This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. - format: date-time - type: string - message: - description: |- - message is a human readable message indicating details about the transition. - This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: |- - observedGeneration represents the .metadata.generation that the condition was set based upon. - For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: |- - reason contains a programmatic identifier indicating the reason for the condition's last transition. - Producers of specific condition types may define expected values and meanings for this field, - and whether the values are considered a guaranteed API. - The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: |- - type of condition in CamelCase or in foo.example.com/CamelCase. - --- - Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be - useful (see .node.status.conditions), the ability to deconflict is important. - The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - type: object - type: object - served: true - storage: true - subresources: - status: {} + - name: v1alpha1 + schema: + openAPIV3Schema: + description: CSMTenant is the Schema for the csmtenants API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: CSMTenantSpec defines the desired state of CSMTenant + properties: + approveSdc: + type: boolean + revoke: + type: boolean + roles: + description: |- + INSERT ADDITIONAL SPEC FIELDS - desired state of cluster + Important: Run "make" to regenerate code after modifying this file + type: string + volumePrefix: + maxLength: 3 + minLength: 1 + type: string + required: + - approveSdc + - revoke + type: object + status: + description: CSMTenantStatus defines the observed state of CSMTenant + properties: + conditions: + description: |- + INSERT ADDITIONAL STATUS FIELD - define observed state of cluster + Important: Run "make" to regenerate code after modifying this file + items: + description: + "Condition contains details for one aspect of the current + state of this API Resource.\n---\nThis struct is intended for + direct use as an array at the field path .status.conditions. For + example,\n\n\n\ttype FooStatus struct{\n\t // Represents the + observations of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // + +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t + \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: |- + type of condition in CamelCase or in foo.example.com/CamelCase. + --- + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + useful (see .node.status.conditions), the ability to deconflict is important. + The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -287,130 +289,132 @@ spec: singular: storage scope: Namespaced versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: Storage is the Schema for the storages API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: StorageSpec defines the desired state of Storage - properties: - credentialPath: - type: string - credentialStore: - type: string - endpoint: - type: string - isiPath: - type: string - pollInterval: - type: string - skipCertificateValidation: - type: boolean - systemID: - type: string - type: - description: |- - INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file - type: string - required: - - skipCertificateValidation - type: object - status: - description: StorageStatus defines the observed state of Storage - properties: - conditions: - description: 'Storage.status.conditions.type are: "Available", "NotAvailable", - and "UnKnown"' - items: - description: "Condition contains details for one aspect of the current - state of this API Resource.\n---\nThis struct is intended for - direct use as an array at the field path .status.conditions. For - example,\n\n\n\ttype FooStatus struct{\n\t // Represents the - observations of a foo's current state.\n\t // Known .status.conditions.type - are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // - +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t - \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" - patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t - \ // other fields\n\t}" - properties: - lastTransitionTime: - description: |- - lastTransitionTime is the last time the condition transitioned from one status to another. - This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. - format: date-time - type: string - message: - description: |- - message is a human readable message indicating details about the transition. - This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: |- - observedGeneration represents the .metadata.generation that the condition was set based upon. - For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: |- - reason contains a programmatic identifier indicating the reason for the condition's last transition. - Producers of specific condition types may define expected values and meanings for this field, - and whether the values are considered a guaranteed API. - The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: |- - type of condition in CamelCase or in foo.example.com/CamelCase. - --- - Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be - useful (see .node.status.conditions), the ability to deconflict is important. - The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - type: object - type: object - served: true - storage: true - subresources: - status: {} + - name: v1alpha1 + schema: + openAPIV3Schema: + description: Storage is the Schema for the storages API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: StorageSpec defines the desired state of Storage + properties: + credentialPath: + type: string + credentialStore: + type: string + endpoint: + type: string + isiPath: + type: string + pollInterval: + type: string + skipCertificateValidation: + type: boolean + systemID: + type: string + type: + description: |- + INSERT ADDITIONAL SPEC FIELDS - desired state of cluster + Important: Run "make" to regenerate code after modifying this file + type: string + required: + - skipCertificateValidation + type: object + status: + description: StorageStatus defines the observed state of Storage + properties: + conditions: + description: + 'Storage.status.conditions.type are: "Available", "NotAvailable", + and "UnKnown"' + items: + description: + "Condition contains details for one aspect of the current + state of this API Resource.\n---\nThis struct is intended for + direct use as an array at the field path .status.conditions. For + example,\n\n\n\ttype FooStatus struct{\n\t // Represents the + observations of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // + +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t + \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: |- + type of condition in CamelCase or in foo.example.com/CamelCase. + --- + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + useful (see .node.status.conditions), the ability to deconflict is important. + The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/tests/e2e/testfiles/authorization-templates/csm_authorization_crds.yaml b/tests/e2e/testfiles/authorization-templates/csm_authorization_crds.yaml index 9c996f240..2ab6e5d8e 100644 --- a/tests/e2e/testfiles/authorization-templates/csm_authorization_crds.yaml +++ b/tests/e2e/testfiles/authorization-templates/csm_authorization_crds.yaml @@ -13,125 +13,126 @@ spec: singular: csmrole scope: Namespaced versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: CSMRole is the Schema for the csmroles API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: CSMRoleSpec defines the desired state of CSMRole - properties: - pool: - type: string - quota: - description: |- - INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file - type: string - systemID: - type: string - systemType: - type: string - type: object - status: - description: CSMRoleStatus defines the observed state of CSMRole - properties: - conditions: - description: |- - INSERT ADDITIONAL STATUS FIELD - define observed state of cluster - Important: Run "make" to regenerate code after modifying this file - Role.status.conditions.type are: "Available", "NotAvailable", and "UnKnown" - items: - description: "Condition contains details for one aspect of the current - state of this API Resource.\n---\nThis struct is intended for - direct use as an array at the field path .status.conditions. For - example,\n\n\n\ttype FooStatus struct{\n\t // Represents the - observations of a foo's current state.\n\t // Known .status.conditions.type - are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // - +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t - \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" - patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t - \ // other fields\n\t}" - properties: - lastTransitionTime: - description: |- - lastTransitionTime is the last time the condition transitioned from one status to another. - This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. - format: date-time - type: string - message: - description: |- - message is a human readable message indicating details about the transition. - This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: |- - observedGeneration represents the .metadata.generation that the condition was set based upon. - For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: |- - reason contains a programmatic identifier indicating the reason for the condition's last transition. - Producers of specific condition types may define expected values and meanings for this field, - and whether the values are considered a guaranteed API. - The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: |- - type of condition in CamelCase or in foo.example.com/CamelCase. - --- - Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be - useful (see .node.status.conditions), the ability to deconflict is important. - The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - type: object - type: object - served: true - storage: true - subresources: - status: {} + - name: v1alpha1 + schema: + openAPIV3Schema: + description: CSMRole is the Schema for the csmroles API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: CSMRoleSpec defines the desired state of CSMRole + properties: + pool: + type: string + quota: + description: |- + INSERT ADDITIONAL SPEC FIELDS - desired state of cluster + Important: Run "make" to regenerate code after modifying this file + type: string + systemID: + type: string + systemType: + type: string + type: object + status: + description: CSMRoleStatus defines the observed state of CSMRole + properties: + conditions: + description: |- + INSERT ADDITIONAL STATUS FIELD - define observed state of cluster + Important: Run "make" to regenerate code after modifying this file + Role.status.conditions.type are: "Available", "NotAvailable", and "UnKnown" + items: + description: + "Condition contains details for one aspect of the current + state of this API Resource.\n---\nThis struct is intended for + direct use as an array at the field path .status.conditions. For + example,\n\n\n\ttype FooStatus struct{\n\t // Represents the + observations of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // + +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t + \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: |- + type of condition in CamelCase or in foo.example.com/CamelCase. + --- + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + useful (see .node.status.conditions), the ability to deconflict is important. + The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -148,129 +149,130 @@ spec: singular: csmtenant scope: Namespaced versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: CSMTenant is the Schema for the csmtenants API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: CSMTenantSpec defines the desired state of CSMTenant - properties: - approveSdc: - type: boolean - revoke: - type: boolean - roles: - description: |- - INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file - type: string - volumePrefix: - maxLength: 3 - minLength: 1 - type: string - required: - - approveSdc - - revoke - type: object - status: - description: CSMTenantStatus defines the observed state of CSMTenant - properties: - conditions: - description: |- - INSERT ADDITIONAL STATUS FIELD - define observed state of cluster - Important: Run "make" to regenerate code after modifying this file - items: - description: "Condition contains details for one aspect of the current - state of this API Resource.\n---\nThis struct is intended for - direct use as an array at the field path .status.conditions. For - example,\n\n\n\ttype FooStatus struct{\n\t // Represents the - observations of a foo's current state.\n\t // Known .status.conditions.type - are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // - +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t - \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" - patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t - \ // other fields\n\t}" - properties: - lastTransitionTime: - description: |- - lastTransitionTime is the last time the condition transitioned from one status to another. - This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. - format: date-time - type: string - message: - description: |- - message is a human readable message indicating details about the transition. - This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: |- - observedGeneration represents the .metadata.generation that the condition was set based upon. - For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: |- - reason contains a programmatic identifier indicating the reason for the condition's last transition. - Producers of specific condition types may define expected values and meanings for this field, - and whether the values are considered a guaranteed API. - The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: |- - type of condition in CamelCase or in foo.example.com/CamelCase. - --- - Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be - useful (see .node.status.conditions), the ability to deconflict is important. - The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - type: object - type: object - served: true - storage: true - subresources: - status: {} + - name: v1alpha1 + schema: + openAPIV3Schema: + description: CSMTenant is the Schema for the csmtenants API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: CSMTenantSpec defines the desired state of CSMTenant + properties: + approveSdc: + type: boolean + revoke: + type: boolean + roles: + description: |- + INSERT ADDITIONAL SPEC FIELDS - desired state of cluster + Important: Run "make" to regenerate code after modifying this file + type: string + volumePrefix: + maxLength: 3 + minLength: 1 + type: string + required: + - approveSdc + - revoke + type: object + status: + description: CSMTenantStatus defines the observed state of CSMTenant + properties: + conditions: + description: |- + INSERT ADDITIONAL STATUS FIELD - define observed state of cluster + Important: Run "make" to regenerate code after modifying this file + items: + description: + "Condition contains details for one aspect of the current + state of this API Resource.\n---\nThis struct is intended for + direct use as an array at the field path .status.conditions. For + example,\n\n\n\ttype FooStatus struct{\n\t // Represents the + observations of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // + +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t + \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: |- + type of condition in CamelCase or in foo.example.com/CamelCase. + --- + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + useful (see .node.status.conditions), the ability to deconflict is important. + The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -287,130 +289,132 @@ spec: singular: storage scope: Namespaced versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: Storage is the Schema for the storages API - properties: - apiVersion: - description: |- - APIVersion defines the versioned schema of this representation of an object. - Servers should convert recognized schemas to the latest internal value, and - may reject unrecognized values. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - type: string - kind: - description: |- - Kind is a string value representing the REST resource this object represents. - Servers may infer this from the endpoint the client submits requests to. - Cannot be updated. - In CamelCase. - More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - type: string - metadata: - type: object - spec: - description: StorageSpec defines the desired state of Storage - properties: - credentialPath: - type: string - credentialStore: - type: string - endpoint: - type: string - isiPath: - type: string - pollInterval: - type: string - skipCertificateValidation: - type: boolean - systemID: - type: string - type: - description: |- - INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file - type: string - required: - - skipCertificateValidation - type: object - status: - description: StorageStatus defines the observed state of Storage - properties: - conditions: - description: 'Storage.status.conditions.type are: "Available", "NotAvailable", - and "UnKnown"' - items: - description: "Condition contains details for one aspect of the current - state of this API Resource.\n---\nThis struct is intended for - direct use as an array at the field path .status.conditions. For - example,\n\n\n\ttype FooStatus struct{\n\t // Represents the - observations of a foo's current state.\n\t // Known .status.conditions.type - are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // - +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t - \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" - patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t - \ // other fields\n\t}" - properties: - lastTransitionTime: - description: |- - lastTransitionTime is the last time the condition transitioned from one status to another. - This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. - format: date-time - type: string - message: - description: |- - message is a human readable message indicating details about the transition. - This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: |- - observedGeneration represents the .metadata.generation that the condition was set based upon. - For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date - with respect to the current state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: |- - reason contains a programmatic identifier indicating the reason for the condition's last transition. - Producers of specific condition types may define expected values and meanings for this field, - and whether the values are considered a guaranteed API. - The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - type: string - status: - description: status of the condition, one of True, False, Unknown. - enum: - - "True" - - "False" - - Unknown - type: string - type: - description: |- - type of condition in CamelCase or in foo.example.com/CamelCase. - --- - Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be - useful (see .node.status.conditions), the ability to deconflict is important. - The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - maxLength: 316 - pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ - type: string - required: - - lastTransitionTime - - message - - reason - - status - - type - type: object - type: array - type: object - type: object - served: true - storage: true - subresources: - status: {} + - name: v1alpha1 + schema: + openAPIV3Schema: + description: Storage is the Schema for the storages API + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: StorageSpec defines the desired state of Storage + properties: + credentialPath: + type: string + credentialStore: + type: string + endpoint: + type: string + isiPath: + type: string + pollInterval: + type: string + skipCertificateValidation: + type: boolean + systemID: + type: string + type: + description: |- + INSERT ADDITIONAL SPEC FIELDS - desired state of cluster + Important: Run "make" to regenerate code after modifying this file + type: string + required: + - skipCertificateValidation + type: object + status: + description: StorageStatus defines the observed state of Storage + properties: + conditions: + description: + 'Storage.status.conditions.type are: "Available", "NotAvailable", + and "UnKnown"' + items: + description: + "Condition contains details for one aspect of the current + state of this API Resource.\n---\nThis struct is intended for + direct use as an array at the field path .status.conditions. For + example,\n\n\n\ttype FooStatus struct{\n\t // Represents the + observations of a foo's current state.\n\t // Known .status.conditions.type + are: \"Available\", \"Progressing\", and \"Degraded\"\n\t // + +patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t + \ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\" + patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t + \ // other fields\n\t}" + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. + maxLength: 32768 + type: string + observedGeneration: + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. + format: int64 + minimum: 0 + type: integer + reason: + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. + This field may not be empty. + maxLength: 1024 + minLength: 1 + pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: |- + type of condition in CamelCase or in foo.example.com/CamelCase. + --- + Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be + useful (see .node.status.conditions), the ability to deconflict is important. + The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - message + - reason + - status + - type + type: object + type: array + type: object + type: object + served: true + storage: true + subresources: + status: {} From 3338ce801e6edbe805f7dcf11ef27822984b4f7f Mon Sep 17 00:00:00 2001 From: root Date: Mon, 19 Aug 2024 20:33:02 +0000 Subject: [PATCH 4/6] update crds --- .../authorization/v2.0.0/authorization-crds.yaml | 13 +++++++++---- .../csm_authorization_crds.yaml | 13 +++++++++---- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/operatorconfig/moduleconfig/authorization/v2.0.0/authorization-crds.yaml b/operatorconfig/moduleconfig/authorization/v2.0.0/authorization-crds.yaml index 2ab6e5d8e..3f46180e5 100644 --- a/operatorconfig/moduleconfig/authorization/v2.0.0/authorization-crds.yaml +++ b/operatorconfig/moduleconfig/authorization/v2.0.0/authorization-crds.yaml @@ -314,10 +314,6 @@ spec: spec: description: StorageSpec defines the desired state of Storage properties: - credentialPath: - type: string - credentialStore: - type: string endpoint: type: string isiPath: @@ -333,6 +329,15 @@ spec: INSERT ADDITIONAL SPEC FIELDS - desired state of cluster Important: Run "make" to regenerate code after modifying this file type: string + vault: + properties: + identifier: + type: string + kvEngine: + type: string + path: + type: string + type: object required: - skipCertificateValidation type: object diff --git a/tests/e2e/testfiles/authorization-templates/csm_authorization_crds.yaml b/tests/e2e/testfiles/authorization-templates/csm_authorization_crds.yaml index 2ab6e5d8e..3f46180e5 100644 --- a/tests/e2e/testfiles/authorization-templates/csm_authorization_crds.yaml +++ b/tests/e2e/testfiles/authorization-templates/csm_authorization_crds.yaml @@ -314,10 +314,6 @@ spec: spec: description: StorageSpec defines the desired state of Storage properties: - credentialPath: - type: string - credentialStore: - type: string endpoint: type: string isiPath: @@ -333,6 +329,15 @@ spec: INSERT ADDITIONAL SPEC FIELDS - desired state of cluster Important: Run "make" to regenerate code after modifying this file type: string + vault: + properties: + identifier: + type: string + kvEngine: + type: string + path: + type: string + type: object required: - skipCertificateValidation type: object From df1abaa16fc5af673340c55e7d268b7a9335a390 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 20 Aug 2024 15:43:19 +0000 Subject: [PATCH 5/6] add description to auth crds and update operator crds --- ...rage.dell.com_apexconnectivityclients.yaml | 703 ++++++-- ...rage.dell.com_containerstoragemodules.yaml | 1460 ++++++++++++----- config/rbac/role.yaml | 22 +- deploy/crds/storage.dell.com.crds.all.yaml | 40 +- deploy/operator.yaml | 28 +- .../v2.0.0/authorization-crds.yaml | 36 +- .../csm_authorization_crds.yaml | 36 +- 7 files changed, 1729 insertions(+), 596 deletions(-) diff --git a/config/crd/bases/storage.dell.com_apexconnectivityclients.yaml b/config/crd/bases/storage.dell.com_apexconnectivityclients.yaml index 64ef0d9a7..c276915c9 100644 --- a/config/crd/bases/storage.dell.com_apexconnectivityclients.yaml +++ b/config/crd/bases/storage.dell.com_apexconnectivityclients.yaml @@ -34,7 +34,9 @@ spec: name: v1 schema: openAPIV3Schema: - description: ApexConnectivityClient is the Schema for the ApexConnectivityClient API + description: + ApexConnectivityClient is the Schema for the ApexConnectivityClient + API properties: apiVersion: description: |- @@ -60,7 +62,9 @@ spec: description: Client is a Apex Connectivity Client for Dell Technologies properties: common: - description: Common is the common specification for both controller and node plugins + description: + Common is the common specification for both controller + and node plugins properties: args: description: Args is the set of arguments for the container @@ -68,59 +72,91 @@ spec: type: string type: array authorizationController: - description: AuthorizationController is the image tag for the container + description: + AuthorizationController is the image tag for + the container type: string authorizationControllerReplicas: - description: AuthorizationControllerReplicas is the number of replicas for the authorization controller deployment + description: + AuthorizationControllerReplicas is the number + of replicas for the authorization controller deployment type: integer certificate: - description: Certificate is a certificate used for a certificate/private-key pair + description: + Certificate is a certificate used for a certificate/private-key + pair type: string certificateAuthority: - description: CertificateAuthority is a certificate authority used to validate a certificate + description: + CertificateAuthority is a certificate authority + used to validate a certificate type: string commander: description: Commander is the image tag for the Container type: string controllerReconcileInterval: - description: The interval which the reconcile of each controller is run + description: + The interval which the reconcile of each controller + is run type: string credentials: - description: ComponentCred is to store the velero credential contents + description: + ComponentCred is to store the velero credential + contents items: description: Credential struct properties: createWithInstall: - description: CreateWithInstall is used to indicate wether or not to create a secret for objectstore + description: + CreateWithInstall is used to indicate wether + or not to create a secret for objectstore type: boolean name: - description: Name is the name of secret which contains credentials to access objectstore + description: + Name is the name of secret which contains + credentials to access objectstore type: string secretContents: - description: SecretContents contains credentials to access objectstore + description: + SecretContents contains credentials to + access objectstore properties: aws_access_key_id: - description: AccessKeyID is a name of key ID to access objectstore + description: + AccessKeyID is a name of key ID to + access objectstore type: string aws_secret_access_key: - description: AccessKey contains the key to access objectstore + description: + AccessKey contains the key to access + objectstore type: string type: object type: object type: array deployNodeAgent: - description: DeployNodeAgent is to enable/disable node-agent services + description: + DeployNodeAgent is to enable/disable node-agent + services type: boolean enabled: - description: Enabled is used to indicate wether or not to deploy a module + description: + Enabled is used to indicate wether or not to + deploy a module type: boolean envs: - description: Envs is the set of environment variables for the container + description: + Envs is the set of environment variables for + the container items: - description: EnvVar represents an environment variable present in a Container. + description: + EnvVar represents an environment variable present + in a Container. properties: name: - description: Name of the environment variable. Must be a C_IDENTIFIER. + description: + Name of the environment variable. Must + be a C_IDENTIFIER. type: string value: description: |- @@ -135,7 +171,9 @@ spec: Defaults to "". type: string valueFrom: - description: Source for the environment variable's value. Cannot be used if value is not empty. + description: + Source for the environment variable's value. + Cannot be used if value is not empty. properties: configMapKeyRef: description: Selects a key of a ConfigMap. @@ -150,7 +188,9 @@ spec: TODO: Add other useful fields. apiVersion, kind, uid? type: string optional: - description: Specify whether the ConfigMap or its key must be defined + description: + Specify whether the ConfigMap or + its key must be defined type: boolean required: - key @@ -162,10 +202,14 @@ spec: spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. properties: apiVersion: - description: Version of the schema the FieldPath is written in terms of, defaults to "v1". + description: + Version of the schema the FieldPath + is written in terms of, defaults to "v1". type: string fieldPath: - description: Path of the field to select in the specified API version. + description: + Path of the field to select in + the specified API version. type: string required: - fieldPath @@ -177,27 +221,35 @@ spec: (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. properties: containerName: - description: 'Container name: required for volumes, optional for env vars' + description: + "Container name: required for volumes, + optional for env vars" type: string divisor: anyOf: - type: integer - type: string - description: Specifies the output format of the exposed resources, defaults to "1" + description: + Specifies the output format of + the exposed resources, defaults to "1" pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: - description: 'Required: resource to select' + description: "Required: resource to select" type: string required: - resource type: object x-kubernetes-map-type: atomic secretKeyRef: - description: Selects a key of a secret in the pod's namespace + description: + Selects a key of a secret in the pod's + namespace properties: key: - description: The key of the secret to select from. Must be a valid secret key. + description: + The key of the secret to select + from. Must be a valid secret key. type: string name: description: |- @@ -206,7 +258,9 @@ spec: TODO: Add other useful fields. apiVersion, kind, uid? type: string optional: - description: Specify whether the Secret or its key must be defined + description: + Specify whether the Secret or its + key must be defined type: boolean required: - key @@ -224,13 +278,14 @@ spec: description: Image is the image tag for the Container type: string imagePullPolicy: - description: ImagePullPolicy is the image pull policy for the image - type: string - kvEnginePath: - description: kvEnginePath is the Authorization vault secret path + description: + ImagePullPolicy is the image pull policy for + the image type: string leaderElection: - description: LeaderElection is boolean flag to enable leader election + description: + LeaderElection is boolean flag to enable leader + election type: boolean licenseName: description: LicenseName is the name of the license for app-mobility @@ -246,7 +301,9 @@ spec: Selector which must match a node's labels for the pod to be scheduled on that node. type: object objectStoreSecretName: - description: ObjectStoreSecretName is the name of the secret for the object store for app-mobility + description: + ObjectStoreSecretName is the name of the secret + for the object store for app-mobility type: string opa: description: Opa is the image tag for the Container @@ -255,17 +312,25 @@ spec: description: OpaKubeMgmt is the image tag for the Container type: string privateKey: - description: PrivateKey is a private key used for a certificate/private-key pair + description: + PrivateKey is a private key used for a certificate/private-key + pair type: string proxyServerIngress: - description: ProxyServerIngress is the authorization proxy server ingress configuration + description: + ProxyServerIngress is the authorization proxy + server ingress configuration items: - description: ProxyServerIngress is the authorization ingress configuration struct + description: + ProxyServerIngress is the authorization ingress + configuration struct properties: annotations: additionalProperties: type: string - description: Annotations is an unstructured key value map that stores additional annotations for the ingress + description: + Annotations is an unstructured key value + map that stores additional annotations for the ingress type: object hosts: description: Hosts is the hosts rules for the ingress @@ -281,7 +346,9 @@ spec: description: ProxyService is the image tag for the Container type: string proxyServiceReplicas: - description: ProxyServiceReplicas is the number of replicas for the proxy service deployment + description: + ProxyServiceReplicas is the number of replicas + for the proxy service deployment type: integer redis: description: Redis is the image tag for the Container @@ -293,7 +360,9 @@ spec: description: RedisName is the name of the redis statefulset type: string redisReplicas: - description: RedisReplicas is the number of replicas for the redis deployment + description: + RedisReplicas is the number of replicas for the + redis deployment type: integer replicaCount: description: ReplicaCount is the replica count for app mobility @@ -302,31 +371,43 @@ spec: description: RoleService is the image tag for the Container type: string roleServiceReplicas: - description: RoleServiceReplicas is the number of replicas for the role service deployment + description: + RoleServiceReplicas is the number of replicas + for the role service deployment type: integer sentinel: description: Sentinel is the name of the sentinel statefulSet type: string skipCertificateValidation: - description: skipCertificateValidation is the flag to skip certificate validation + description: + skipCertificateValidation is the flag to skip + certificate validation type: boolean storageService: description: StorageService is the image tag for the Container type: string storageServiceReplicas: - description: StorageServiceReplicas is the number of replicas for storage service deployment + description: + StorageServiceReplicas is the number of replicas + for storage service deployment type: integer storageclass: - description: RedisStorageClass is the authorization proxy server redis storage class for persistence + description: + RedisStorageClass is the authorization proxy + server redis storage class for persistence type: string tenantService: description: TenantService is the image tag for the Container type: string tenantServiceReplicas: - description: TenantServiceReplicas is the number of replicas for the tenant service deployment + description: + TenantServiceReplicas is the number of replicas + for the tenant service deployment type: integer tolerations: - description: Tolerations is the list of tolerations for the driver pods + description: + Tolerations is the list of tolerations for the + driver pods items: description: |- The pod this Toleration is attached to tolerates any taint that matches @@ -365,29 +446,73 @@ spec: type: object type: array useVolumeSnapshot: - description: UseSnapshot is to check whether volume snapshot is enabled under velero component + description: + UseSnapshot is to check whether volume snapshot + is enabled under velero component type: boolean - vaultAddress: - description: VaultAddress is the address of the vault - type: string - vaultRole: - description: VaultRole is the role for the vault - type: string + vaultConfigurations: + description: Vaults are the vault configurations + items: + description: + Vault is the configuration for a vault instance + struct + properties: + address: + description: Address is the address for this vault + type: string + certificateAuthority: + description: + CertificateAuthority is the base64-encoded + certificate authority for validaitng the vault certificate + type: string + clientCertificate: + description: + ClientCertificate is the base64-encoded + certificate for connecting to vault + type: string + clientKey: + description: + ClientKey validates is the base64-encoded + certificate key for connecting to vault + type: string + identifier: + description: Identifier is the identifier for this vault + type: string + role: + description: Role is the role for this vault + type: string + skipCertificateValidation: + description: + SkipCertificateValidation validates the + vault server certificate or not + type: boolean + type: object + type: array veleroNamespace: - description: VeleroNamespace is the namespace that Velero is installed in + description: + VeleroNamespace is the namespace that Velero + is installed in type: string type: object configVersion: - description: ConfigVersion is the configuration version of the client + description: + ConfigVersion is the configuration version of the + client type: string connectionTarget: - description: ConnectionTarget is the target that the client connects to in the Dell datacenter + description: + ConnectionTarget is the target that the client connects + to in the Dell datacenter type: string csmClientType: - description: ClientType is the Client type for Dell Technologies - e.g, ApexConnectivityClient + description: + ClientType is the Client type for Dell Technologies + - e.g, ApexConnectivityClient type: string forceRemoveClient: - description: ForceRemoveClient is the boolean flag used to remove client deployment when CR is deleted + description: + ForceRemoveClient is the boolean flag used to remove + client deployment when CR is deleted type: boolean initContainers: description: InitContainers is the specification for Driver InitContainers @@ -400,59 +525,91 @@ spec: type: string type: array authorizationController: - description: AuthorizationController is the image tag for the container + description: + AuthorizationController is the image tag for + the container type: string authorizationControllerReplicas: - description: AuthorizationControllerReplicas is the number of replicas for the authorization controller deployment + description: + AuthorizationControllerReplicas is the number + of replicas for the authorization controller deployment type: integer certificate: - description: Certificate is a certificate used for a certificate/private-key pair + description: + Certificate is a certificate used for a certificate/private-key + pair type: string certificateAuthority: - description: CertificateAuthority is a certificate authority used to validate a certificate + description: + CertificateAuthority is a certificate authority + used to validate a certificate type: string commander: description: Commander is the image tag for the Container type: string controllerReconcileInterval: - description: The interval which the reconcile of each controller is run + description: + The interval which the reconcile of each controller + is run type: string credentials: - description: ComponentCred is to store the velero credential contents + description: + ComponentCred is to store the velero credential + contents items: description: Credential struct properties: createWithInstall: - description: CreateWithInstall is used to indicate wether or not to create a secret for objectstore + description: + CreateWithInstall is used to indicate + wether or not to create a secret for objectstore type: boolean name: - description: Name is the name of secret which contains credentials to access objectstore + description: + Name is the name of secret which contains + credentials to access objectstore type: string secretContents: - description: SecretContents contains credentials to access objectstore + description: + SecretContents contains credentials to + access objectstore properties: aws_access_key_id: - description: AccessKeyID is a name of key ID to access objectstore + description: + AccessKeyID is a name of key ID to + access objectstore type: string aws_secret_access_key: - description: AccessKey contains the key to access objectstore + description: + AccessKey contains the key to access + objectstore type: string type: object type: object type: array deployNodeAgent: - description: DeployNodeAgent is to enable/disable node-agent services + description: + DeployNodeAgent is to enable/disable node-agent + services type: boolean enabled: - description: Enabled is used to indicate wether or not to deploy a module + description: + Enabled is used to indicate wether or not to + deploy a module type: boolean envs: - description: Envs is the set of environment variables for the container + description: + Envs is the set of environment variables for + the container items: - description: EnvVar represents an environment variable present in a Container. + description: + EnvVar represents an environment variable + present in a Container. properties: name: - description: Name of the environment variable. Must be a C_IDENTIFIER. + description: + Name of the environment variable. Must + be a C_IDENTIFIER. type: string value: description: |- @@ -467,7 +624,9 @@ spec: Defaults to "". type: string valueFrom: - description: Source for the environment variable's value. Cannot be used if value is not empty. + description: + Source for the environment variable's + value. Cannot be used if value is not empty. properties: configMapKeyRef: description: Selects a key of a ConfigMap. @@ -482,7 +641,9 @@ spec: TODO: Add other useful fields. apiVersion, kind, uid? type: string optional: - description: Specify whether the ConfigMap or its key must be defined + description: + Specify whether the ConfigMap + or its key must be defined type: boolean required: - key @@ -494,10 +655,14 @@ spec: spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. properties: apiVersion: - description: Version of the schema the FieldPath is written in terms of, defaults to "v1". + description: + Version of the schema the FieldPath + is written in terms of, defaults to "v1". type: string fieldPath: - description: Path of the field to select in the specified API version. + description: + Path of the field to select in + the specified API version. type: string required: - fieldPath @@ -509,27 +674,35 @@ spec: (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. properties: containerName: - description: 'Container name: required for volumes, optional for env vars' + description: + "Container name: required for + volumes, optional for env vars" type: string divisor: anyOf: - type: integer - type: string - description: Specifies the output format of the exposed resources, defaults to "1" + description: + Specifies the output format of + the exposed resources, defaults to "1" pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: - description: 'Required: resource to select' + description: "Required: resource to select" type: string required: - resource type: object x-kubernetes-map-type: atomic secretKeyRef: - description: Selects a key of a secret in the pod's namespace + description: + Selects a key of a secret in the + pod's namespace properties: key: - description: The key of the secret to select from. Must be a valid secret key. + description: + The key of the secret to select + from. Must be a valid secret key. type: string name: description: |- @@ -538,7 +711,9 @@ spec: TODO: Add other useful fields. apiVersion, kind, uid? type: string optional: - description: Specify whether the Secret or its key must be defined + description: + Specify whether the Secret or + its key must be defined type: boolean required: - key @@ -550,22 +725,27 @@ spec: type: object type: array hostname: - description: Hostname is the authorization proxy server hostname + description: + Hostname is the authorization proxy server + hostname type: string image: description: Image is the image tag for the Container type: string imagePullPolicy: - description: ImagePullPolicy is the image pull policy for the image - type: string - kvEnginePath: - description: kvEnginePath is the Authorization vault secret path + description: + ImagePullPolicy is the image pull policy for + the image type: string leaderElection: - description: LeaderElection is boolean flag to enable leader election + description: + LeaderElection is boolean flag to enable leader + election type: boolean licenseName: - description: LicenseName is the name of the license for app-mobility + description: + LicenseName is the name of the license for + app-mobility type: string name: description: Name is the name of Container @@ -578,7 +758,9 @@ spec: Selector which must match a node's labels for the pod to be scheduled on that node. type: object objectStoreSecretName: - description: ObjectStoreSecretName is the name of the secret for the object store for app-mobility + description: + ObjectStoreSecretName is the name of the secret + for the object store for app-mobility type: string opa: description: Opa is the image tag for the Container @@ -587,17 +769,25 @@ spec: description: OpaKubeMgmt is the image tag for the Container type: string privateKey: - description: PrivateKey is a private key used for a certificate/private-key pair + description: + PrivateKey is a private key used for a certificate/private-key + pair type: string proxyServerIngress: - description: ProxyServerIngress is the authorization proxy server ingress configuration + description: + ProxyServerIngress is the authorization proxy + server ingress configuration items: - description: ProxyServerIngress is the authorization ingress configuration struct + description: + ProxyServerIngress is the authorization ingress + configuration struct properties: annotations: additionalProperties: type: string - description: Annotations is an unstructured key value map that stores additional annotations for the ingress + description: + Annotations is an unstructured key value + map that stores additional annotations for the ingress type: object hosts: description: Hosts is the hosts rules for the ingress @@ -613,7 +803,9 @@ spec: description: ProxyService is the image tag for the Container type: string proxyServiceReplicas: - description: ProxyServiceReplicas is the number of replicas for the proxy service deployment + description: + ProxyServiceReplicas is the number of replicas + for the proxy service deployment type: integer redis: description: Redis is the image tag for the Container @@ -625,7 +817,9 @@ spec: description: RedisName is the name of the redis statefulset type: string redisReplicas: - description: RedisReplicas is the number of replicas for the redis deployment + description: + RedisReplicas is the number of replicas for + the redis deployment type: integer replicaCount: description: ReplicaCount is the replica count for app mobility @@ -634,31 +828,43 @@ spec: description: RoleService is the image tag for the Container type: string roleServiceReplicas: - description: RoleServiceReplicas is the number of replicas for the role service deployment + description: + RoleServiceReplicas is the number of replicas + for the role service deployment type: integer sentinel: description: Sentinel is the name of the sentinel statefulSet type: string skipCertificateValidation: - description: skipCertificateValidation is the flag to skip certificate validation + description: + skipCertificateValidation is the flag to skip + certificate validation type: boolean storageService: description: StorageService is the image tag for the Container type: string storageServiceReplicas: - description: StorageServiceReplicas is the number of replicas for storage service deployment + description: + StorageServiceReplicas is the number of replicas + for storage service deployment type: integer storageclass: - description: RedisStorageClass is the authorization proxy server redis storage class for persistence + description: + RedisStorageClass is the authorization proxy + server redis storage class for persistence type: string tenantService: description: TenantService is the image tag for the Container type: string tenantServiceReplicas: - description: TenantServiceReplicas is the number of replicas for the tenant service deployment + description: + TenantServiceReplicas is the number of replicas + for the tenant service deployment type: integer tolerations: - description: Tolerations is the list of tolerations for the driver pods + description: + Tolerations is the list of tolerations for + the driver pods items: description: |- The pod this Toleration is attached to tolerates any taint that matches @@ -697,16 +903,54 @@ spec: type: object type: array useVolumeSnapshot: - description: UseSnapshot is to check whether volume snapshot is enabled under velero component + description: + UseSnapshot is to check whether volume snapshot + is enabled under velero component type: boolean - vaultAddress: - description: VaultAddress is the address of the vault - type: string - vaultRole: - description: VaultRole is the role for the vault - type: string + vaultConfigurations: + description: Vaults are the vault configurations + items: + description: + Vault is the configuration for a vault instance + struct + properties: + address: + description: Address is the address for this vault + type: string + certificateAuthority: + description: + CertificateAuthority is the base64-encoded + certificate authority for validaitng the vault certificate + type: string + clientCertificate: + description: + ClientCertificate is the base64-encoded + certificate for connecting to vault + type: string + clientKey: + description: + ClientKey validates is the base64-encoded + certificate key for connecting to vault + type: string + identifier: + description: + Identifier is the identifier for this + vault + type: string + role: + description: Role is the role for this vault + type: string + skipCertificateValidation: + description: + SkipCertificateValidation validates the + vault server certificate or not + type: boolean + type: object + type: array veleroNamespace: - description: VeleroNamespace is the namespace that Velero is installed in + description: + VeleroNamespace is the namespace that Velero + is installed in type: string type: object type: array @@ -721,59 +965,91 @@ spec: type: string type: array authorizationController: - description: AuthorizationController is the image tag for the container + description: + AuthorizationController is the image tag for + the container type: string authorizationControllerReplicas: - description: AuthorizationControllerReplicas is the number of replicas for the authorization controller deployment + description: + AuthorizationControllerReplicas is the number + of replicas for the authorization controller deployment type: integer certificate: - description: Certificate is a certificate used for a certificate/private-key pair + description: + Certificate is a certificate used for a certificate/private-key + pair type: string certificateAuthority: - description: CertificateAuthority is a certificate authority used to validate a certificate + description: + CertificateAuthority is a certificate authority + used to validate a certificate type: string commander: description: Commander is the image tag for the Container type: string controllerReconcileInterval: - description: The interval which the reconcile of each controller is run + description: + The interval which the reconcile of each controller + is run type: string credentials: - description: ComponentCred is to store the velero credential contents + description: + ComponentCred is to store the velero credential + contents items: description: Credential struct properties: createWithInstall: - description: CreateWithInstall is used to indicate wether or not to create a secret for objectstore + description: + CreateWithInstall is used to indicate + wether or not to create a secret for objectstore type: boolean name: - description: Name is the name of secret which contains credentials to access objectstore + description: + Name is the name of secret which contains + credentials to access objectstore type: string secretContents: - description: SecretContents contains credentials to access objectstore + description: + SecretContents contains credentials to + access objectstore properties: aws_access_key_id: - description: AccessKeyID is a name of key ID to access objectstore + description: + AccessKeyID is a name of key ID to + access objectstore type: string aws_secret_access_key: - description: AccessKey contains the key to access objectstore + description: + AccessKey contains the key to access + objectstore type: string type: object type: object type: array deployNodeAgent: - description: DeployNodeAgent is to enable/disable node-agent services + description: + DeployNodeAgent is to enable/disable node-agent + services type: boolean enabled: - description: Enabled is used to indicate wether or not to deploy a module + description: + Enabled is used to indicate wether or not to + deploy a module type: boolean envs: - description: Envs is the set of environment variables for the container + description: + Envs is the set of environment variables for + the container items: - description: EnvVar represents an environment variable present in a Container. + description: + EnvVar represents an environment variable + present in a Container. properties: name: - description: Name of the environment variable. Must be a C_IDENTIFIER. + description: + Name of the environment variable. Must + be a C_IDENTIFIER. type: string value: description: |- @@ -788,7 +1064,9 @@ spec: Defaults to "". type: string valueFrom: - description: Source for the environment variable's value. Cannot be used if value is not empty. + description: + Source for the environment variable's + value. Cannot be used if value is not empty. properties: configMapKeyRef: description: Selects a key of a ConfigMap. @@ -803,7 +1081,9 @@ spec: TODO: Add other useful fields. apiVersion, kind, uid? type: string optional: - description: Specify whether the ConfigMap or its key must be defined + description: + Specify whether the ConfigMap + or its key must be defined type: boolean required: - key @@ -815,10 +1095,14 @@ spec: spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. properties: apiVersion: - description: Version of the schema the FieldPath is written in terms of, defaults to "v1". + description: + Version of the schema the FieldPath + is written in terms of, defaults to "v1". type: string fieldPath: - description: Path of the field to select in the specified API version. + description: + Path of the field to select in + the specified API version. type: string required: - fieldPath @@ -830,27 +1114,35 @@ spec: (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. properties: containerName: - description: 'Container name: required for volumes, optional for env vars' + description: + "Container name: required for + volumes, optional for env vars" type: string divisor: anyOf: - type: integer - type: string - description: Specifies the output format of the exposed resources, defaults to "1" + description: + Specifies the output format of + the exposed resources, defaults to "1" pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: - description: 'Required: resource to select' + description: "Required: resource to select" type: string required: - resource type: object x-kubernetes-map-type: atomic secretKeyRef: - description: Selects a key of a secret in the pod's namespace + description: + Selects a key of a secret in the + pod's namespace properties: key: - description: The key of the secret to select from. Must be a valid secret key. + description: + The key of the secret to select + from. Must be a valid secret key. type: string name: description: |- @@ -859,7 +1151,9 @@ spec: TODO: Add other useful fields. apiVersion, kind, uid? type: string optional: - description: Specify whether the Secret or its key must be defined + description: + Specify whether the Secret or + its key must be defined type: boolean required: - key @@ -871,22 +1165,27 @@ spec: type: object type: array hostname: - description: Hostname is the authorization proxy server hostname + description: + Hostname is the authorization proxy server + hostname type: string image: description: Image is the image tag for the Container type: string imagePullPolicy: - description: ImagePullPolicy is the image pull policy for the image - type: string - kvEnginePath: - description: kvEnginePath is the Authorization vault secret path + description: + ImagePullPolicy is the image pull policy for + the image type: string leaderElection: - description: LeaderElection is boolean flag to enable leader election + description: + LeaderElection is boolean flag to enable leader + election type: boolean licenseName: - description: LicenseName is the name of the license for app-mobility + description: + LicenseName is the name of the license for + app-mobility type: string name: description: Name is the name of Container @@ -899,7 +1198,9 @@ spec: Selector which must match a node's labels for the pod to be scheduled on that node. type: object objectStoreSecretName: - description: ObjectStoreSecretName is the name of the secret for the object store for app-mobility + description: + ObjectStoreSecretName is the name of the secret + for the object store for app-mobility type: string opa: description: Opa is the image tag for the Container @@ -908,17 +1209,25 @@ spec: description: OpaKubeMgmt is the image tag for the Container type: string privateKey: - description: PrivateKey is a private key used for a certificate/private-key pair + description: + PrivateKey is a private key used for a certificate/private-key + pair type: string proxyServerIngress: - description: ProxyServerIngress is the authorization proxy server ingress configuration + description: + ProxyServerIngress is the authorization proxy + server ingress configuration items: - description: ProxyServerIngress is the authorization ingress configuration struct + description: + ProxyServerIngress is the authorization ingress + configuration struct properties: annotations: additionalProperties: type: string - description: Annotations is an unstructured key value map that stores additional annotations for the ingress + description: + Annotations is an unstructured key value + map that stores additional annotations for the ingress type: object hosts: description: Hosts is the hosts rules for the ingress @@ -934,7 +1243,9 @@ spec: description: ProxyService is the image tag for the Container type: string proxyServiceReplicas: - description: ProxyServiceReplicas is the number of replicas for the proxy service deployment + description: + ProxyServiceReplicas is the number of replicas + for the proxy service deployment type: integer redis: description: Redis is the image tag for the Container @@ -946,7 +1257,9 @@ spec: description: RedisName is the name of the redis statefulset type: string redisReplicas: - description: RedisReplicas is the number of replicas for the redis deployment + description: + RedisReplicas is the number of replicas for + the redis deployment type: integer replicaCount: description: ReplicaCount is the replica count for app mobility @@ -955,31 +1268,43 @@ spec: description: RoleService is the image tag for the Container type: string roleServiceReplicas: - description: RoleServiceReplicas is the number of replicas for the role service deployment + description: + RoleServiceReplicas is the number of replicas + for the role service deployment type: integer sentinel: description: Sentinel is the name of the sentinel statefulSet type: string skipCertificateValidation: - description: skipCertificateValidation is the flag to skip certificate validation + description: + skipCertificateValidation is the flag to skip + certificate validation type: boolean storageService: description: StorageService is the image tag for the Container type: string storageServiceReplicas: - description: StorageServiceReplicas is the number of replicas for storage service deployment + description: + StorageServiceReplicas is the number of replicas + for storage service deployment type: integer storageclass: - description: RedisStorageClass is the authorization proxy server redis storage class for persistence + description: + RedisStorageClass is the authorization proxy + server redis storage class for persistence type: string tenantService: description: TenantService is the image tag for the Container type: string tenantServiceReplicas: - description: TenantServiceReplicas is the number of replicas for the tenant service deployment + description: + TenantServiceReplicas is the number of replicas + for the tenant service deployment type: integer tolerations: - description: Tolerations is the list of tolerations for the driver pods + description: + Tolerations is the list of tolerations for + the driver pods items: description: |- The pod this Toleration is attached to tolerates any taint that matches @@ -1018,26 +1343,68 @@ spec: type: object type: array useVolumeSnapshot: - description: UseSnapshot is to check whether volume snapshot is enabled under velero component + description: + UseSnapshot is to check whether volume snapshot + is enabled under velero component type: boolean - vaultAddress: - description: VaultAddress is the address of the vault - type: string - vaultRole: - description: VaultRole is the role for the vault - type: string + vaultConfigurations: + description: Vaults are the vault configurations + items: + description: + Vault is the configuration for a vault instance + struct + properties: + address: + description: Address is the address for this vault + type: string + certificateAuthority: + description: + CertificateAuthority is the base64-encoded + certificate authority for validaitng the vault certificate + type: string + clientCertificate: + description: + ClientCertificate is the base64-encoded + certificate for connecting to vault + type: string + clientKey: + description: + ClientKey validates is the base64-encoded + certificate key for connecting to vault + type: string + identifier: + description: + Identifier is the identifier for this + vault + type: string + role: + description: Role is the role for this vault + type: string + skipCertificateValidation: + description: + SkipCertificateValidation validates the + vault server certificate or not + type: boolean + type: object + type: array veleroNamespace: - description: VeleroNamespace is the namespace that Velero is installed in + description: + VeleroNamespace is the namespace that Velero + is installed in type: string type: object type: array usePrivateCaCerts: - description: UsePrivateCaCerts is used to specify private CA signed certs + description: + UsePrivateCaCerts is used to specify private CA signed + certs type: boolean type: object type: object status: - description: ApexConnectivityClientStatus defines the observed state of ApexConnectivityClient + description: + ApexConnectivityClientStatus defines the observed state of + ApexConnectivityClient properties: clientStatus: description: ClientStatus is the status of Client pods diff --git a/config/crd/bases/storage.dell.com_containerstoragemodules.yaml b/config/crd/bases/storage.dell.com_containerstoragemodules.yaml index dfc482995..b0b50748b 100644 --- a/config/crd/bases/storage.dell.com_containerstoragemodules.yaml +++ b/config/crd/bases/storage.dell.com_containerstoragemodules.yaml @@ -34,7 +34,9 @@ spec: name: v1 schema: openAPIV3Schema: - description: ContainerStorageModule is the Schema for the containerstoragemodules API + description: + ContainerStorageModule is the Schema for the containerstoragemodules + API properties: apiVersion: description: |- @@ -60,10 +62,14 @@ spec: description: Driver is a CSI Drivers for Dell Technologies properties: authSecret: - description: AuthSecret is the name of the credentials secret for the driver + description: + AuthSecret is the name of the credentials secret + for the driver type: string common: - description: Common is the common specification for both controller and node plugins + description: + Common is the common specification for both controller + and node plugins properties: args: description: Args is the set of arguments for the container @@ -71,59 +77,91 @@ spec: type: string type: array authorizationController: - description: AuthorizationController is the image tag for the container + description: + AuthorizationController is the image tag for + the container type: string authorizationControllerReplicas: - description: AuthorizationControllerReplicas is the number of replicas for the authorization controller deployment + description: + AuthorizationControllerReplicas is the number + of replicas for the authorization controller deployment type: integer certificate: - description: Certificate is a certificate used for a certificate/private-key pair + description: + Certificate is a certificate used for a certificate/private-key + pair type: string certificateAuthority: - description: CertificateAuthority is a certificate authority used to validate a certificate + description: + CertificateAuthority is a certificate authority + used to validate a certificate type: string commander: description: Commander is the image tag for the Container type: string controllerReconcileInterval: - description: The interval which the reconcile of each controller is run + description: + The interval which the reconcile of each controller + is run type: string credentials: - description: ComponentCred is to store the velero credential contents + description: + ComponentCred is to store the velero credential + contents items: description: Credential struct properties: createWithInstall: - description: CreateWithInstall is used to indicate wether or not to create a secret for objectstore + description: + CreateWithInstall is used to indicate wether + or not to create a secret for objectstore type: boolean name: - description: Name is the name of secret which contains credentials to access objectstore + description: + Name is the name of secret which contains + credentials to access objectstore type: string secretContents: - description: SecretContents contains credentials to access objectstore + description: + SecretContents contains credentials to + access objectstore properties: aws_access_key_id: - description: AccessKeyID is a name of key ID to access objectstore + description: + AccessKeyID is a name of key ID to + access objectstore type: string aws_secret_access_key: - description: AccessKey contains the key to access objectstore + description: + AccessKey contains the key to access + objectstore type: string type: object type: object type: array deployNodeAgent: - description: DeployNodeAgent is to enable/disable node-agent services + description: + DeployNodeAgent is to enable/disable node-agent + services type: boolean enabled: - description: Enabled is used to indicate wether or not to deploy a module + description: + Enabled is used to indicate wether or not to + deploy a module type: boolean envs: - description: Envs is the set of environment variables for the container + description: + Envs is the set of environment variables for + the container items: - description: EnvVar represents an environment variable present in a Container. + description: + EnvVar represents an environment variable present + in a Container. properties: name: - description: Name of the environment variable. Must be a C_IDENTIFIER. + description: + Name of the environment variable. Must + be a C_IDENTIFIER. type: string value: description: |- @@ -138,7 +176,9 @@ spec: Defaults to "". type: string valueFrom: - description: Source for the environment variable's value. Cannot be used if value is not empty. + description: + Source for the environment variable's value. + Cannot be used if value is not empty. properties: configMapKeyRef: description: Selects a key of a ConfigMap. @@ -153,7 +193,9 @@ spec: TODO: Add other useful fields. apiVersion, kind, uid? type: string optional: - description: Specify whether the ConfigMap or its key must be defined + description: + Specify whether the ConfigMap or + its key must be defined type: boolean required: - key @@ -165,10 +207,14 @@ spec: spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. properties: apiVersion: - description: Version of the schema the FieldPath is written in terms of, defaults to "v1". + description: + Version of the schema the FieldPath + is written in terms of, defaults to "v1". type: string fieldPath: - description: Path of the field to select in the specified API version. + description: + Path of the field to select in + the specified API version. type: string required: - fieldPath @@ -180,27 +226,35 @@ spec: (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. properties: containerName: - description: 'Container name: required for volumes, optional for env vars' + description: + "Container name: required for volumes, + optional for env vars" type: string divisor: anyOf: - type: integer - type: string - description: Specifies the output format of the exposed resources, defaults to "1" + description: + Specifies the output format of + the exposed resources, defaults to "1" pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: - description: 'Required: resource to select' + description: "Required: resource to select" type: string required: - resource type: object x-kubernetes-map-type: atomic secretKeyRef: - description: Selects a key of a secret in the pod's namespace + description: + Selects a key of a secret in the pod's + namespace properties: key: - description: The key of the secret to select from. Must be a valid secret key. + description: + The key of the secret to select + from. Must be a valid secret key. type: string name: description: |- @@ -209,7 +263,9 @@ spec: TODO: Add other useful fields. apiVersion, kind, uid? type: string optional: - description: Specify whether the Secret or its key must be defined + description: + Specify whether the Secret or its + key must be defined type: boolean required: - key @@ -227,10 +283,14 @@ spec: description: Image is the image tag for the Container type: string imagePullPolicy: - description: ImagePullPolicy is the image pull policy for the image + description: + ImagePullPolicy is the image pull policy for + the image type: string leaderElection: - description: LeaderElection is boolean flag to enable leader election + description: + LeaderElection is boolean flag to enable leader + election type: boolean licenseName: description: LicenseName is the name of the license for app-mobility @@ -246,7 +306,9 @@ spec: Selector which must match a node's labels for the pod to be scheduled on that node. type: object objectStoreSecretName: - description: ObjectStoreSecretName is the name of the secret for the object store for app-mobility + description: + ObjectStoreSecretName is the name of the secret + for the object store for app-mobility type: string opa: description: Opa is the image tag for the Container @@ -255,17 +317,25 @@ spec: description: OpaKubeMgmt is the image tag for the Container type: string privateKey: - description: PrivateKey is a private key used for a certificate/private-key pair + description: + PrivateKey is a private key used for a certificate/private-key + pair type: string proxyServerIngress: - description: ProxyServerIngress is the authorization proxy server ingress configuration + description: + ProxyServerIngress is the authorization proxy + server ingress configuration items: - description: ProxyServerIngress is the authorization ingress configuration struct + description: + ProxyServerIngress is the authorization ingress + configuration struct properties: annotations: additionalProperties: type: string - description: Annotations is an unstructured key value map that stores additional annotations for the ingress + description: + Annotations is an unstructured key value + map that stores additional annotations for the ingress type: object hosts: description: Hosts is the hosts rules for the ingress @@ -281,7 +351,9 @@ spec: description: ProxyService is the image tag for the Container type: string proxyServiceReplicas: - description: ProxyServiceReplicas is the number of replicas for the proxy service deployment + description: + ProxyServiceReplicas is the number of replicas + for the proxy service deployment type: integer redis: description: Redis is the image tag for the Container @@ -293,7 +365,9 @@ spec: description: RedisName is the name of the redis statefulset type: string redisReplicas: - description: RedisReplicas is the number of replicas for the redis deployment + description: + RedisReplicas is the number of replicas for the + redis deployment type: integer replicaCount: description: ReplicaCount is the replica count for app mobility @@ -302,31 +376,43 @@ spec: description: RoleService is the image tag for the Container type: string roleServiceReplicas: - description: RoleServiceReplicas is the number of replicas for the role service deployment + description: + RoleServiceReplicas is the number of replicas + for the role service deployment type: integer sentinel: description: Sentinel is the name of the sentinel statefulSet type: string skipCertificateValidation: - description: skipCertificateValidation is the flag to skip certificate validation + description: + skipCertificateValidation is the flag to skip + certificate validation type: boolean storageService: description: StorageService is the image tag for the Container type: string storageServiceReplicas: - description: StorageServiceReplicas is the number of replicas for storage service deployment + description: + StorageServiceReplicas is the number of replicas + for storage service deployment type: integer storageclass: - description: RedisStorageClass is the authorization proxy server redis storage class for persistence + description: + RedisStorageClass is the authorization proxy + server redis storage class for persistence type: string tenantService: description: TenantService is the image tag for the Container type: string tenantServiceReplicas: - description: TenantServiceReplicas is the number of replicas for the tenant service deployment + description: + TenantServiceReplicas is the number of replicas + for the tenant service deployment type: integer tolerations: - description: Tolerations is the list of tolerations for the driver pods + description: + Tolerations is the list of tolerations for the + driver pods items: description: |- The pod this Toleration is attached to tolerates any taint that matches @@ -365,24 +451,34 @@ spec: type: object type: array useVolumeSnapshot: - description: UseSnapshot is to check whether volume snapshot is enabled under velero component + description: + UseSnapshot is to check whether volume snapshot + is enabled under velero component type: boolean vaultConfigurations: description: Vaults are the vault configurations items: - description: Vault is the configuration for a vault instance struct + description: + Vault is the configuration for a vault instance + struct properties: address: description: Address is the address for this vault type: string certificateAuthority: - description: CertificateAuthority is the base64-encoded certificate authority for validaitng the vault certificate + description: + CertificateAuthority is the base64-encoded + certificate authority for validaitng the vault certificate type: string clientCertificate: - description: ClientCertificate is the base64-encoded certificate for connecting to vault + description: + ClientCertificate is the base64-encoded + certificate for connecting to vault type: string clientKey: - description: ClientKey validates is the base64-encoded certificate key for connecting to vault + description: + ClientKey validates is the base64-encoded + certificate key for connecting to vault type: string identifier: description: Identifier is the identifier for this vault @@ -391,19 +487,27 @@ spec: description: Role is the role for this vault type: string skipCertificateValidation: - description: SkipCertificateValidation validates the vault server certificate or not + description: + SkipCertificateValidation validates the + vault server certificate or not type: boolean type: object type: array veleroNamespace: - description: VeleroNamespace is the namespace that Velero is installed in + description: + VeleroNamespace is the namespace that Velero + is installed in type: string type: object configVersion: - description: ConfigVersion is the configuration version of the driver + description: + ConfigVersion is the configuration version of the + driver type: string controller: - description: Controller is the specification for Controller plugin only + description: + Controller is the specification for Controller plugin + only properties: args: description: Args is the set of arguments for the container @@ -411,59 +515,91 @@ spec: type: string type: array authorizationController: - description: AuthorizationController is the image tag for the container + description: + AuthorizationController is the image tag for + the container type: string authorizationControllerReplicas: - description: AuthorizationControllerReplicas is the number of replicas for the authorization controller deployment + description: + AuthorizationControllerReplicas is the number + of replicas for the authorization controller deployment type: integer certificate: - description: Certificate is a certificate used for a certificate/private-key pair + description: + Certificate is a certificate used for a certificate/private-key + pair type: string certificateAuthority: - description: CertificateAuthority is a certificate authority used to validate a certificate + description: + CertificateAuthority is a certificate authority + used to validate a certificate type: string commander: description: Commander is the image tag for the Container type: string controllerReconcileInterval: - description: The interval which the reconcile of each controller is run + description: + The interval which the reconcile of each controller + is run type: string credentials: - description: ComponentCred is to store the velero credential contents + description: + ComponentCred is to store the velero credential + contents items: description: Credential struct properties: createWithInstall: - description: CreateWithInstall is used to indicate wether or not to create a secret for objectstore + description: + CreateWithInstall is used to indicate wether + or not to create a secret for objectstore type: boolean name: - description: Name is the name of secret which contains credentials to access objectstore + description: + Name is the name of secret which contains + credentials to access objectstore type: string secretContents: - description: SecretContents contains credentials to access objectstore + description: + SecretContents contains credentials to + access objectstore properties: aws_access_key_id: - description: AccessKeyID is a name of key ID to access objectstore + description: + AccessKeyID is a name of key ID to + access objectstore type: string aws_secret_access_key: - description: AccessKey contains the key to access objectstore + description: + AccessKey contains the key to access + objectstore type: string type: object type: object type: array deployNodeAgent: - description: DeployNodeAgent is to enable/disable node-agent services + description: + DeployNodeAgent is to enable/disable node-agent + services type: boolean enabled: - description: Enabled is used to indicate wether or not to deploy a module + description: + Enabled is used to indicate wether or not to + deploy a module type: boolean envs: - description: Envs is the set of environment variables for the container + description: + Envs is the set of environment variables for + the container items: - description: EnvVar represents an environment variable present in a Container. + description: + EnvVar represents an environment variable present + in a Container. properties: name: - description: Name of the environment variable. Must be a C_IDENTIFIER. + description: + Name of the environment variable. Must + be a C_IDENTIFIER. type: string value: description: |- @@ -478,7 +614,9 @@ spec: Defaults to "". type: string valueFrom: - description: Source for the environment variable's value. Cannot be used if value is not empty. + description: + Source for the environment variable's value. + Cannot be used if value is not empty. properties: configMapKeyRef: description: Selects a key of a ConfigMap. @@ -493,7 +631,9 @@ spec: TODO: Add other useful fields. apiVersion, kind, uid? type: string optional: - description: Specify whether the ConfigMap or its key must be defined + description: + Specify whether the ConfigMap or + its key must be defined type: boolean required: - key @@ -505,10 +645,14 @@ spec: spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. properties: apiVersion: - description: Version of the schema the FieldPath is written in terms of, defaults to "v1". + description: + Version of the schema the FieldPath + is written in terms of, defaults to "v1". type: string fieldPath: - description: Path of the field to select in the specified API version. + description: + Path of the field to select in + the specified API version. type: string required: - fieldPath @@ -520,27 +664,35 @@ spec: (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. properties: containerName: - description: 'Container name: required for volumes, optional for env vars' + description: + "Container name: required for volumes, + optional for env vars" type: string divisor: anyOf: - type: integer - type: string - description: Specifies the output format of the exposed resources, defaults to "1" + description: + Specifies the output format of + the exposed resources, defaults to "1" pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: - description: 'Required: resource to select' + description: "Required: resource to select" type: string required: - resource type: object x-kubernetes-map-type: atomic secretKeyRef: - description: Selects a key of a secret in the pod's namespace + description: + Selects a key of a secret in the pod's + namespace properties: key: - description: The key of the secret to select from. Must be a valid secret key. + description: + The key of the secret to select + from. Must be a valid secret key. type: string name: description: |- @@ -549,7 +701,9 @@ spec: TODO: Add other useful fields. apiVersion, kind, uid? type: string optional: - description: Specify whether the Secret or its key must be defined + description: + Specify whether the Secret or its + key must be defined type: boolean required: - key @@ -567,10 +721,14 @@ spec: description: Image is the image tag for the Container type: string imagePullPolicy: - description: ImagePullPolicy is the image pull policy for the image + description: + ImagePullPolicy is the image pull policy for + the image type: string leaderElection: - description: LeaderElection is boolean flag to enable leader election + description: + LeaderElection is boolean flag to enable leader + election type: boolean licenseName: description: LicenseName is the name of the license for app-mobility @@ -586,7 +744,9 @@ spec: Selector which must match a node's labels for the pod to be scheduled on that node. type: object objectStoreSecretName: - description: ObjectStoreSecretName is the name of the secret for the object store for app-mobility + description: + ObjectStoreSecretName is the name of the secret + for the object store for app-mobility type: string opa: description: Opa is the image tag for the Container @@ -595,17 +755,25 @@ spec: description: OpaKubeMgmt is the image tag for the Container type: string privateKey: - description: PrivateKey is a private key used for a certificate/private-key pair + description: + PrivateKey is a private key used for a certificate/private-key + pair type: string proxyServerIngress: - description: ProxyServerIngress is the authorization proxy server ingress configuration + description: + ProxyServerIngress is the authorization proxy + server ingress configuration items: - description: ProxyServerIngress is the authorization ingress configuration struct + description: + ProxyServerIngress is the authorization ingress + configuration struct properties: annotations: additionalProperties: type: string - description: Annotations is an unstructured key value map that stores additional annotations for the ingress + description: + Annotations is an unstructured key value + map that stores additional annotations for the ingress type: object hosts: description: Hosts is the hosts rules for the ingress @@ -621,7 +789,9 @@ spec: description: ProxyService is the image tag for the Container type: string proxyServiceReplicas: - description: ProxyServiceReplicas is the number of replicas for the proxy service deployment + description: + ProxyServiceReplicas is the number of replicas + for the proxy service deployment type: integer redis: description: Redis is the image tag for the Container @@ -633,7 +803,9 @@ spec: description: RedisName is the name of the redis statefulset type: string redisReplicas: - description: RedisReplicas is the number of replicas for the redis deployment + description: + RedisReplicas is the number of replicas for the + redis deployment type: integer replicaCount: description: ReplicaCount is the replica count for app mobility @@ -642,31 +814,43 @@ spec: description: RoleService is the image tag for the Container type: string roleServiceReplicas: - description: RoleServiceReplicas is the number of replicas for the role service deployment + description: + RoleServiceReplicas is the number of replicas + for the role service deployment type: integer sentinel: description: Sentinel is the name of the sentinel statefulSet type: string skipCertificateValidation: - description: skipCertificateValidation is the flag to skip certificate validation + description: + skipCertificateValidation is the flag to skip + certificate validation type: boolean storageService: description: StorageService is the image tag for the Container type: string storageServiceReplicas: - description: StorageServiceReplicas is the number of replicas for storage service deployment + description: + StorageServiceReplicas is the number of replicas + for storage service deployment type: integer storageclass: - description: RedisStorageClass is the authorization proxy server redis storage class for persistence + description: + RedisStorageClass is the authorization proxy + server redis storage class for persistence type: string tenantService: description: TenantService is the image tag for the Container type: string tenantServiceReplicas: - description: TenantServiceReplicas is the number of replicas for the tenant service deployment + description: + TenantServiceReplicas is the number of replicas + for the tenant service deployment type: integer tolerations: - description: Tolerations is the list of tolerations for the driver pods + description: + Tolerations is the list of tolerations for the + driver pods items: description: |- The pod this Toleration is attached to tolerates any taint that matches @@ -705,24 +889,34 @@ spec: type: object type: array useVolumeSnapshot: - description: UseSnapshot is to check whether volume snapshot is enabled under velero component + description: + UseSnapshot is to check whether volume snapshot + is enabled under velero component type: boolean vaultConfigurations: description: Vaults are the vault configurations items: - description: Vault is the configuration for a vault instance struct + description: + Vault is the configuration for a vault instance + struct properties: address: description: Address is the address for this vault type: string certificateAuthority: - description: CertificateAuthority is the base64-encoded certificate authority for validaitng the vault certificate + description: + CertificateAuthority is the base64-encoded + certificate authority for validaitng the vault certificate type: string clientCertificate: - description: ClientCertificate is the base64-encoded certificate for connecting to vault + description: + ClientCertificate is the base64-encoded + certificate for connecting to vault type: string clientKey: - description: ClientKey validates is the base64-encoded certificate key for connecting to vault + description: + ClientKey validates is the base64-encoded + certificate key for connecting to vault type: string identifier: description: Identifier is the identifier for this vault @@ -731,12 +925,16 @@ spec: description: Role is the role for this vault type: string skipCertificateValidation: - description: SkipCertificateValidation validates the vault server certificate or not + description: + SkipCertificateValidation validates the + vault server certificate or not type: boolean type: object type: array veleroNamespace: - description: VeleroNamespace is the namespace that Velero is installed in + description: + VeleroNamespace is the namespace that Velero + is installed in type: string type: object csiDriverSpec: @@ -748,16 +946,24 @@ spec: type: boolean type: object csiDriverType: - description: CSIDriverType is the CSI Driver type for Dell Technologies - e.g, powermax, powerflex,... + description: + CSIDriverType is the CSI Driver type for Dell Technologies + - e.g, powermax, powerflex,... type: string dnsPolicy: - description: DNSPolicy is the dnsPolicy of the daemonset for Node plugin + description: + DNSPolicy is the dnsPolicy of the daemonset for Node + plugin type: string forceRemoveDriver: - description: ForceRemoveDriver is the boolean flag used to remove driver deployment when CR is deleted + description: + ForceRemoveDriver is the boolean flag used to remove + driver deployment when CR is deleted type: boolean forceUpdate: - description: ForceUpdate is the boolean flag used to force an update of the driver instance + description: + ForceUpdate is the boolean flag used to force an + update of the driver instance type: boolean initContainers: description: InitContainers is the specification for Driver InitContainers @@ -770,59 +976,91 @@ spec: type: string type: array authorizationController: - description: AuthorizationController is the image tag for the container + description: + AuthorizationController is the image tag for + the container type: string authorizationControllerReplicas: - description: AuthorizationControllerReplicas is the number of replicas for the authorization controller deployment + description: + AuthorizationControllerReplicas is the number + of replicas for the authorization controller deployment type: integer certificate: - description: Certificate is a certificate used for a certificate/private-key pair + description: + Certificate is a certificate used for a certificate/private-key + pair type: string certificateAuthority: - description: CertificateAuthority is a certificate authority used to validate a certificate + description: + CertificateAuthority is a certificate authority + used to validate a certificate type: string commander: description: Commander is the image tag for the Container type: string controllerReconcileInterval: - description: The interval which the reconcile of each controller is run + description: + The interval which the reconcile of each controller + is run type: string credentials: - description: ComponentCred is to store the velero credential contents + description: + ComponentCred is to store the velero credential + contents items: description: Credential struct properties: createWithInstall: - description: CreateWithInstall is used to indicate wether or not to create a secret for objectstore + description: + CreateWithInstall is used to indicate + wether or not to create a secret for objectstore type: boolean name: - description: Name is the name of secret which contains credentials to access objectstore + description: + Name is the name of secret which contains + credentials to access objectstore type: string secretContents: - description: SecretContents contains credentials to access objectstore + description: + SecretContents contains credentials to + access objectstore properties: aws_access_key_id: - description: AccessKeyID is a name of key ID to access objectstore + description: + AccessKeyID is a name of key ID to + access objectstore type: string aws_secret_access_key: - description: AccessKey contains the key to access objectstore + description: + AccessKey contains the key to access + objectstore type: string type: object type: object type: array deployNodeAgent: - description: DeployNodeAgent is to enable/disable node-agent services + description: + DeployNodeAgent is to enable/disable node-agent + services type: boolean enabled: - description: Enabled is used to indicate wether or not to deploy a module + description: + Enabled is used to indicate wether or not to + deploy a module type: boolean envs: - description: Envs is the set of environment variables for the container + description: + Envs is the set of environment variables for + the container items: - description: EnvVar represents an environment variable present in a Container. + description: + EnvVar represents an environment variable + present in a Container. properties: name: - description: Name of the environment variable. Must be a C_IDENTIFIER. + description: + Name of the environment variable. Must + be a C_IDENTIFIER. type: string value: description: |- @@ -837,7 +1075,9 @@ spec: Defaults to "". type: string valueFrom: - description: Source for the environment variable's value. Cannot be used if value is not empty. + description: + Source for the environment variable's + value. Cannot be used if value is not empty. properties: configMapKeyRef: description: Selects a key of a ConfigMap. @@ -852,7 +1092,9 @@ spec: TODO: Add other useful fields. apiVersion, kind, uid? type: string optional: - description: Specify whether the ConfigMap or its key must be defined + description: + Specify whether the ConfigMap + or its key must be defined type: boolean required: - key @@ -864,10 +1106,14 @@ spec: spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. properties: apiVersion: - description: Version of the schema the FieldPath is written in terms of, defaults to "v1". + description: + Version of the schema the FieldPath + is written in terms of, defaults to "v1". type: string fieldPath: - description: Path of the field to select in the specified API version. + description: + Path of the field to select in + the specified API version. type: string required: - fieldPath @@ -879,27 +1125,35 @@ spec: (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. properties: containerName: - description: 'Container name: required for volumes, optional for env vars' + description: + "Container name: required for + volumes, optional for env vars" type: string divisor: anyOf: - type: integer - type: string - description: Specifies the output format of the exposed resources, defaults to "1" + description: + Specifies the output format of + the exposed resources, defaults to "1" pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: - description: 'Required: resource to select' + description: "Required: resource to select" type: string required: - resource type: object x-kubernetes-map-type: atomic secretKeyRef: - description: Selects a key of a secret in the pod's namespace + description: + Selects a key of a secret in the + pod's namespace properties: key: - description: The key of the secret to select from. Must be a valid secret key. + description: + The key of the secret to select + from. Must be a valid secret key. type: string name: description: |- @@ -908,7 +1162,9 @@ spec: TODO: Add other useful fields. apiVersion, kind, uid? type: string optional: - description: Specify whether the Secret or its key must be defined + description: + Specify whether the Secret or + its key must be defined type: boolean required: - key @@ -920,19 +1176,27 @@ spec: type: object type: array hostname: - description: Hostname is the authorization proxy server hostname + description: + Hostname is the authorization proxy server + hostname type: string image: description: Image is the image tag for the Container type: string imagePullPolicy: - description: ImagePullPolicy is the image pull policy for the image + description: + ImagePullPolicy is the image pull policy for + the image type: string leaderElection: - description: LeaderElection is boolean flag to enable leader election + description: + LeaderElection is boolean flag to enable leader + election type: boolean licenseName: - description: LicenseName is the name of the license for app-mobility + description: + LicenseName is the name of the license for + app-mobility type: string name: description: Name is the name of Container @@ -945,7 +1209,9 @@ spec: Selector which must match a node's labels for the pod to be scheduled on that node. type: object objectStoreSecretName: - description: ObjectStoreSecretName is the name of the secret for the object store for app-mobility + description: + ObjectStoreSecretName is the name of the secret + for the object store for app-mobility type: string opa: description: Opa is the image tag for the Container @@ -954,17 +1220,25 @@ spec: description: OpaKubeMgmt is the image tag for the Container type: string privateKey: - description: PrivateKey is a private key used for a certificate/private-key pair + description: + PrivateKey is a private key used for a certificate/private-key + pair type: string proxyServerIngress: - description: ProxyServerIngress is the authorization proxy server ingress configuration + description: + ProxyServerIngress is the authorization proxy + server ingress configuration items: - description: ProxyServerIngress is the authorization ingress configuration struct + description: + ProxyServerIngress is the authorization ingress + configuration struct properties: annotations: additionalProperties: type: string - description: Annotations is an unstructured key value map that stores additional annotations for the ingress + description: + Annotations is an unstructured key value + map that stores additional annotations for the ingress type: object hosts: description: Hosts is the hosts rules for the ingress @@ -980,7 +1254,9 @@ spec: description: ProxyService is the image tag for the Container type: string proxyServiceReplicas: - description: ProxyServiceReplicas is the number of replicas for the proxy service deployment + description: + ProxyServiceReplicas is the number of replicas + for the proxy service deployment type: integer redis: description: Redis is the image tag for the Container @@ -992,7 +1268,9 @@ spec: description: RedisName is the name of the redis statefulset type: string redisReplicas: - description: RedisReplicas is the number of replicas for the redis deployment + description: + RedisReplicas is the number of replicas for + the redis deployment type: integer replicaCount: description: ReplicaCount is the replica count for app mobility @@ -1001,31 +1279,43 @@ spec: description: RoleService is the image tag for the Container type: string roleServiceReplicas: - description: RoleServiceReplicas is the number of replicas for the role service deployment + description: + RoleServiceReplicas is the number of replicas + for the role service deployment type: integer sentinel: description: Sentinel is the name of the sentinel statefulSet type: string skipCertificateValidation: - description: skipCertificateValidation is the flag to skip certificate validation + description: + skipCertificateValidation is the flag to skip + certificate validation type: boolean storageService: description: StorageService is the image tag for the Container type: string storageServiceReplicas: - description: StorageServiceReplicas is the number of replicas for storage service deployment + description: + StorageServiceReplicas is the number of replicas + for storage service deployment type: integer storageclass: - description: RedisStorageClass is the authorization proxy server redis storage class for persistence + description: + RedisStorageClass is the authorization proxy + server redis storage class for persistence type: string tenantService: description: TenantService is the image tag for the Container type: string tenantServiceReplicas: - description: TenantServiceReplicas is the number of replicas for the tenant service deployment + description: + TenantServiceReplicas is the number of replicas + for the tenant service deployment type: integer tolerations: - description: Tolerations is the list of tolerations for the driver pods + description: + Tolerations is the list of tolerations for + the driver pods items: description: |- The pod this Toleration is attached to tolerates any taint that matches @@ -1064,38 +1354,54 @@ spec: type: object type: array useVolumeSnapshot: - description: UseSnapshot is to check whether volume snapshot is enabled under velero component + description: + UseSnapshot is to check whether volume snapshot + is enabled under velero component type: boolean vaultConfigurations: description: Vaults are the vault configurations items: - description: Vault is the configuration for a vault instance struct + description: + Vault is the configuration for a vault instance + struct properties: address: description: Address is the address for this vault type: string certificateAuthority: - description: CertificateAuthority is the base64-encoded certificate authority for validaitng the vault certificate + description: + CertificateAuthority is the base64-encoded + certificate authority for validaitng the vault certificate type: string clientCertificate: - description: ClientCertificate is the base64-encoded certificate for connecting to vault + description: + ClientCertificate is the base64-encoded + certificate for connecting to vault type: string clientKey: - description: ClientKey validates is the base64-encoded certificate key for connecting to vault + description: + ClientKey validates is the base64-encoded + certificate key for connecting to vault type: string identifier: - description: Identifier is the identifier for this vault + description: + Identifier is the identifier for this + vault type: string role: description: Role is the role for this vault type: string skipCertificateValidation: - description: SkipCertificateValidation validates the vault server certificate or not + description: + SkipCertificateValidation validates the + vault server certificate or not type: boolean type: object type: array veleroNamespace: - description: VeleroNamespace is the namespace that Velero is installed in + description: + VeleroNamespace is the namespace that Velero + is installed in type: string type: object type: array @@ -1108,59 +1414,91 @@ spec: type: string type: array authorizationController: - description: AuthorizationController is the image tag for the container + description: + AuthorizationController is the image tag for + the container type: string authorizationControllerReplicas: - description: AuthorizationControllerReplicas is the number of replicas for the authorization controller deployment + description: + AuthorizationControllerReplicas is the number + of replicas for the authorization controller deployment type: integer certificate: - description: Certificate is a certificate used for a certificate/private-key pair + description: + Certificate is a certificate used for a certificate/private-key + pair type: string certificateAuthority: - description: CertificateAuthority is a certificate authority used to validate a certificate + description: + CertificateAuthority is a certificate authority + used to validate a certificate type: string commander: description: Commander is the image tag for the Container type: string controllerReconcileInterval: - description: The interval which the reconcile of each controller is run + description: + The interval which the reconcile of each controller + is run type: string credentials: - description: ComponentCred is to store the velero credential contents + description: + ComponentCred is to store the velero credential + contents items: description: Credential struct properties: createWithInstall: - description: CreateWithInstall is used to indicate wether or not to create a secret for objectstore + description: + CreateWithInstall is used to indicate wether + or not to create a secret for objectstore type: boolean name: - description: Name is the name of secret which contains credentials to access objectstore + description: + Name is the name of secret which contains + credentials to access objectstore type: string secretContents: - description: SecretContents contains credentials to access objectstore + description: + SecretContents contains credentials to + access objectstore properties: aws_access_key_id: - description: AccessKeyID is a name of key ID to access objectstore + description: + AccessKeyID is a name of key ID to + access objectstore type: string aws_secret_access_key: - description: AccessKey contains the key to access objectstore + description: + AccessKey contains the key to access + objectstore type: string type: object type: object type: array deployNodeAgent: - description: DeployNodeAgent is to enable/disable node-agent services + description: + DeployNodeAgent is to enable/disable node-agent + services type: boolean enabled: - description: Enabled is used to indicate wether or not to deploy a module + description: + Enabled is used to indicate wether or not to + deploy a module type: boolean envs: - description: Envs is the set of environment variables for the container + description: + Envs is the set of environment variables for + the container items: - description: EnvVar represents an environment variable present in a Container. + description: + EnvVar represents an environment variable present + in a Container. properties: name: - description: Name of the environment variable. Must be a C_IDENTIFIER. + description: + Name of the environment variable. Must + be a C_IDENTIFIER. type: string value: description: |- @@ -1175,7 +1513,9 @@ spec: Defaults to "". type: string valueFrom: - description: Source for the environment variable's value. Cannot be used if value is not empty. + description: + Source for the environment variable's value. + Cannot be used if value is not empty. properties: configMapKeyRef: description: Selects a key of a ConfigMap. @@ -1190,7 +1530,9 @@ spec: TODO: Add other useful fields. apiVersion, kind, uid? type: string optional: - description: Specify whether the ConfigMap or its key must be defined + description: + Specify whether the ConfigMap or + its key must be defined type: boolean required: - key @@ -1202,10 +1544,14 @@ spec: spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. properties: apiVersion: - description: Version of the schema the FieldPath is written in terms of, defaults to "v1". + description: + Version of the schema the FieldPath + is written in terms of, defaults to "v1". type: string fieldPath: - description: Path of the field to select in the specified API version. + description: + Path of the field to select in + the specified API version. type: string required: - fieldPath @@ -1217,27 +1563,35 @@ spec: (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. properties: containerName: - description: 'Container name: required for volumes, optional for env vars' + description: + "Container name: required for volumes, + optional for env vars" type: string divisor: anyOf: - type: integer - type: string - description: Specifies the output format of the exposed resources, defaults to "1" + description: + Specifies the output format of + the exposed resources, defaults to "1" pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: - description: 'Required: resource to select' + description: "Required: resource to select" type: string required: - resource type: object x-kubernetes-map-type: atomic secretKeyRef: - description: Selects a key of a secret in the pod's namespace + description: + Selects a key of a secret in the pod's + namespace properties: key: - description: The key of the secret to select from. Must be a valid secret key. + description: + The key of the secret to select + from. Must be a valid secret key. type: string name: description: |- @@ -1246,7 +1600,9 @@ spec: TODO: Add other useful fields. apiVersion, kind, uid? type: string optional: - description: Specify whether the Secret or its key must be defined + description: + Specify whether the Secret or its + key must be defined type: boolean required: - key @@ -1264,10 +1620,14 @@ spec: description: Image is the image tag for the Container type: string imagePullPolicy: - description: ImagePullPolicy is the image pull policy for the image + description: + ImagePullPolicy is the image pull policy for + the image type: string leaderElection: - description: LeaderElection is boolean flag to enable leader election + description: + LeaderElection is boolean flag to enable leader + election type: boolean licenseName: description: LicenseName is the name of the license for app-mobility @@ -1283,7 +1643,9 @@ spec: Selector which must match a node's labels for the pod to be scheduled on that node. type: object objectStoreSecretName: - description: ObjectStoreSecretName is the name of the secret for the object store for app-mobility + description: + ObjectStoreSecretName is the name of the secret + for the object store for app-mobility type: string opa: description: Opa is the image tag for the Container @@ -1292,17 +1654,25 @@ spec: description: OpaKubeMgmt is the image tag for the Container type: string privateKey: - description: PrivateKey is a private key used for a certificate/private-key pair + description: + PrivateKey is a private key used for a certificate/private-key + pair type: string proxyServerIngress: - description: ProxyServerIngress is the authorization proxy server ingress configuration + description: + ProxyServerIngress is the authorization proxy + server ingress configuration items: - description: ProxyServerIngress is the authorization ingress configuration struct + description: + ProxyServerIngress is the authorization ingress + configuration struct properties: annotations: additionalProperties: type: string - description: Annotations is an unstructured key value map that stores additional annotations for the ingress + description: + Annotations is an unstructured key value + map that stores additional annotations for the ingress type: object hosts: description: Hosts is the hosts rules for the ingress @@ -1318,7 +1688,9 @@ spec: description: ProxyService is the image tag for the Container type: string proxyServiceReplicas: - description: ProxyServiceReplicas is the number of replicas for the proxy service deployment + description: + ProxyServiceReplicas is the number of replicas + for the proxy service deployment type: integer redis: description: Redis is the image tag for the Container @@ -1330,7 +1702,9 @@ spec: description: RedisName is the name of the redis statefulset type: string redisReplicas: - description: RedisReplicas is the number of replicas for the redis deployment + description: + RedisReplicas is the number of replicas for the + redis deployment type: integer replicaCount: description: ReplicaCount is the replica count for app mobility @@ -1339,31 +1713,43 @@ spec: description: RoleService is the image tag for the Container type: string roleServiceReplicas: - description: RoleServiceReplicas is the number of replicas for the role service deployment + description: + RoleServiceReplicas is the number of replicas + for the role service deployment type: integer sentinel: description: Sentinel is the name of the sentinel statefulSet type: string skipCertificateValidation: - description: skipCertificateValidation is the flag to skip certificate validation + description: + skipCertificateValidation is the flag to skip + certificate validation type: boolean storageService: description: StorageService is the image tag for the Container type: string storageServiceReplicas: - description: StorageServiceReplicas is the number of replicas for storage service deployment + description: + StorageServiceReplicas is the number of replicas + for storage service deployment type: integer storageclass: - description: RedisStorageClass is the authorization proxy server redis storage class for persistence + description: + RedisStorageClass is the authorization proxy + server redis storage class for persistence type: string tenantService: description: TenantService is the image tag for the Container type: string tenantServiceReplicas: - description: TenantServiceReplicas is the number of replicas for the tenant service deployment + description: + TenantServiceReplicas is the number of replicas + for the tenant service deployment type: integer tolerations: - description: Tolerations is the list of tolerations for the driver pods + description: + Tolerations is the list of tolerations for the + driver pods items: description: |- The pod this Toleration is attached to tolerates any taint that matches @@ -1402,24 +1788,34 @@ spec: type: object type: array useVolumeSnapshot: - description: UseSnapshot is to check whether volume snapshot is enabled under velero component + description: + UseSnapshot is to check whether volume snapshot + is enabled under velero component type: boolean vaultConfigurations: description: Vaults are the vault configurations items: - description: Vault is the configuration for a vault instance struct + description: + Vault is the configuration for a vault instance + struct properties: address: description: Address is the address for this vault type: string certificateAuthority: - description: CertificateAuthority is the base64-encoded certificate authority for validaitng the vault certificate + description: + CertificateAuthority is the base64-encoded + certificate authority for validaitng the vault certificate type: string clientCertificate: - description: ClientCertificate is the base64-encoded certificate for connecting to vault + description: + ClientCertificate is the base64-encoded + certificate for connecting to vault type: string clientKey: - description: ClientKey validates is the base64-encoded certificate key for connecting to vault + description: + ClientKey validates is the base64-encoded + certificate key for connecting to vault type: string identifier: description: Identifier is the identifier for this vault @@ -1428,16 +1824,22 @@ spec: description: Role is the role for this vault type: string skipCertificateValidation: - description: SkipCertificateValidation validates the vault server certificate or not + description: + SkipCertificateValidation validates the + vault server certificate or not type: boolean type: object type: array veleroNamespace: - description: VeleroNamespace is the namespace that Velero is installed in + description: + VeleroNamespace is the namespace that Velero + is installed in type: string type: object replicas: - description: Replicas is the count of controllers for Controller plugin + description: + Replicas is the count of controllers for Controller + plugin format: int32 type: integer sideCars: @@ -1451,59 +1853,91 @@ spec: type: string type: array authorizationController: - description: AuthorizationController is the image tag for the container + description: + AuthorizationController is the image tag for + the container type: string authorizationControllerReplicas: - description: AuthorizationControllerReplicas is the number of replicas for the authorization controller deployment + description: + AuthorizationControllerReplicas is the number + of replicas for the authorization controller deployment type: integer certificate: - description: Certificate is a certificate used for a certificate/private-key pair + description: + Certificate is a certificate used for a certificate/private-key + pair type: string certificateAuthority: - description: CertificateAuthority is a certificate authority used to validate a certificate + description: + CertificateAuthority is a certificate authority + used to validate a certificate type: string commander: description: Commander is the image tag for the Container type: string controllerReconcileInterval: - description: The interval which the reconcile of each controller is run + description: + The interval which the reconcile of each controller + is run type: string credentials: - description: ComponentCred is to store the velero credential contents + description: + ComponentCred is to store the velero credential + contents items: description: Credential struct properties: createWithInstall: - description: CreateWithInstall is used to indicate wether or not to create a secret for objectstore + description: + CreateWithInstall is used to indicate + wether or not to create a secret for objectstore type: boolean name: - description: Name is the name of secret which contains credentials to access objectstore + description: + Name is the name of secret which contains + credentials to access objectstore type: string secretContents: - description: SecretContents contains credentials to access objectstore + description: + SecretContents contains credentials to + access objectstore properties: aws_access_key_id: - description: AccessKeyID is a name of key ID to access objectstore + description: + AccessKeyID is a name of key ID to + access objectstore type: string aws_secret_access_key: - description: AccessKey contains the key to access objectstore + description: + AccessKey contains the key to access + objectstore type: string type: object type: object type: array deployNodeAgent: - description: DeployNodeAgent is to enable/disable node-agent services + description: + DeployNodeAgent is to enable/disable node-agent + services type: boolean enabled: - description: Enabled is used to indicate wether or not to deploy a module + description: + Enabled is used to indicate wether or not to + deploy a module type: boolean envs: - description: Envs is the set of environment variables for the container + description: + Envs is the set of environment variables for + the container items: - description: EnvVar represents an environment variable present in a Container. + description: + EnvVar represents an environment variable + present in a Container. properties: name: - description: Name of the environment variable. Must be a C_IDENTIFIER. + description: + Name of the environment variable. Must + be a C_IDENTIFIER. type: string value: description: |- @@ -1518,7 +1952,9 @@ spec: Defaults to "". type: string valueFrom: - description: Source for the environment variable's value. Cannot be used if value is not empty. + description: + Source for the environment variable's + value. Cannot be used if value is not empty. properties: configMapKeyRef: description: Selects a key of a ConfigMap. @@ -1533,7 +1969,9 @@ spec: TODO: Add other useful fields. apiVersion, kind, uid? type: string optional: - description: Specify whether the ConfigMap or its key must be defined + description: + Specify whether the ConfigMap + or its key must be defined type: boolean required: - key @@ -1545,10 +1983,14 @@ spec: spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. properties: apiVersion: - description: Version of the schema the FieldPath is written in terms of, defaults to "v1". + description: + Version of the schema the FieldPath + is written in terms of, defaults to "v1". type: string fieldPath: - description: Path of the field to select in the specified API version. + description: + Path of the field to select in + the specified API version. type: string required: - fieldPath @@ -1560,27 +2002,35 @@ spec: (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. properties: containerName: - description: 'Container name: required for volumes, optional for env vars' + description: + "Container name: required for + volumes, optional for env vars" type: string divisor: anyOf: - type: integer - type: string - description: Specifies the output format of the exposed resources, defaults to "1" + description: + Specifies the output format of + the exposed resources, defaults to "1" pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: - description: 'Required: resource to select' + description: "Required: resource to select" type: string required: - resource type: object x-kubernetes-map-type: atomic secretKeyRef: - description: Selects a key of a secret in the pod's namespace + description: + Selects a key of a secret in the + pod's namespace properties: key: - description: The key of the secret to select from. Must be a valid secret key. + description: + The key of the secret to select + from. Must be a valid secret key. type: string name: description: |- @@ -1589,7 +2039,9 @@ spec: TODO: Add other useful fields. apiVersion, kind, uid? type: string optional: - description: Specify whether the Secret or its key must be defined + description: + Specify whether the Secret or + its key must be defined type: boolean required: - key @@ -1601,19 +2053,27 @@ spec: type: object type: array hostname: - description: Hostname is the authorization proxy server hostname + description: + Hostname is the authorization proxy server + hostname type: string image: description: Image is the image tag for the Container type: string imagePullPolicy: - description: ImagePullPolicy is the image pull policy for the image + description: + ImagePullPolicy is the image pull policy for + the image type: string leaderElection: - description: LeaderElection is boolean flag to enable leader election + description: + LeaderElection is boolean flag to enable leader + election type: boolean licenseName: - description: LicenseName is the name of the license for app-mobility + description: + LicenseName is the name of the license for + app-mobility type: string name: description: Name is the name of Container @@ -1626,7 +2086,9 @@ spec: Selector which must match a node's labels for the pod to be scheduled on that node. type: object objectStoreSecretName: - description: ObjectStoreSecretName is the name of the secret for the object store for app-mobility + description: + ObjectStoreSecretName is the name of the secret + for the object store for app-mobility type: string opa: description: Opa is the image tag for the Container @@ -1635,17 +2097,25 @@ spec: description: OpaKubeMgmt is the image tag for the Container type: string privateKey: - description: PrivateKey is a private key used for a certificate/private-key pair + description: + PrivateKey is a private key used for a certificate/private-key + pair type: string proxyServerIngress: - description: ProxyServerIngress is the authorization proxy server ingress configuration + description: + ProxyServerIngress is the authorization proxy + server ingress configuration items: - description: ProxyServerIngress is the authorization ingress configuration struct + description: + ProxyServerIngress is the authorization ingress + configuration struct properties: annotations: additionalProperties: type: string - description: Annotations is an unstructured key value map that stores additional annotations for the ingress + description: + Annotations is an unstructured key value + map that stores additional annotations for the ingress type: object hosts: description: Hosts is the hosts rules for the ingress @@ -1661,7 +2131,9 @@ spec: description: ProxyService is the image tag for the Container type: string proxyServiceReplicas: - description: ProxyServiceReplicas is the number of replicas for the proxy service deployment + description: + ProxyServiceReplicas is the number of replicas + for the proxy service deployment type: integer redis: description: Redis is the image tag for the Container @@ -1673,7 +2145,9 @@ spec: description: RedisName is the name of the redis statefulset type: string redisReplicas: - description: RedisReplicas is the number of replicas for the redis deployment + description: + RedisReplicas is the number of replicas for + the redis deployment type: integer replicaCount: description: ReplicaCount is the replica count for app mobility @@ -1682,31 +2156,43 @@ spec: description: RoleService is the image tag for the Container type: string roleServiceReplicas: - description: RoleServiceReplicas is the number of replicas for the role service deployment + description: + RoleServiceReplicas is the number of replicas + for the role service deployment type: integer sentinel: description: Sentinel is the name of the sentinel statefulSet type: string skipCertificateValidation: - description: skipCertificateValidation is the flag to skip certificate validation + description: + skipCertificateValidation is the flag to skip + certificate validation type: boolean storageService: description: StorageService is the image tag for the Container type: string storageServiceReplicas: - description: StorageServiceReplicas is the number of replicas for storage service deployment + description: + StorageServiceReplicas is the number of replicas + for storage service deployment type: integer storageclass: - description: RedisStorageClass is the authorization proxy server redis storage class for persistence + description: + RedisStorageClass is the authorization proxy + server redis storage class for persistence type: string tenantService: description: TenantService is the image tag for the Container type: string tenantServiceReplicas: - description: TenantServiceReplicas is the number of replicas for the tenant service deployment + description: + TenantServiceReplicas is the number of replicas + for the tenant service deployment type: integer tolerations: - description: Tolerations is the list of tolerations for the driver pods + description: + Tolerations is the list of tolerations for + the driver pods items: description: |- The pod this Toleration is attached to tolerates any taint that matches @@ -1745,38 +2231,54 @@ spec: type: object type: array useVolumeSnapshot: - description: UseSnapshot is to check whether volume snapshot is enabled under velero component + description: + UseSnapshot is to check whether volume snapshot + is enabled under velero component type: boolean vaultConfigurations: description: Vaults are the vault configurations items: - description: Vault is the configuration for a vault instance struct + description: + Vault is the configuration for a vault instance + struct properties: address: description: Address is the address for this vault type: string certificateAuthority: - description: CertificateAuthority is the base64-encoded certificate authority for validaitng the vault certificate + description: + CertificateAuthority is the base64-encoded + certificate authority for validaitng the vault certificate type: string clientCertificate: - description: ClientCertificate is the base64-encoded certificate for connecting to vault + description: + ClientCertificate is the base64-encoded + certificate for connecting to vault type: string clientKey: - description: ClientKey validates is the base64-encoded certificate key for connecting to vault + description: + ClientKey validates is the base64-encoded + certificate key for connecting to vault type: string identifier: - description: Identifier is the identifier for this vault + description: + Identifier is the identifier for this + vault type: string role: description: Role is the role for this vault type: string skipCertificateValidation: - description: SkipCertificateValidation validates the vault server certificate or not + description: + SkipCertificateValidation validates the + vault server certificate or not type: boolean type: object type: array veleroNamespace: - description: VeleroNamespace is the namespace that Velero is installed in + description: + VeleroNamespace is the namespace that Velero + is installed in type: string type: object type: array @@ -1791,7 +2293,9 @@ spec: parameters: additionalProperties: type: string - description: Parameters is a map of driver specific parameters for snapshot class + description: + Parameters is a map of driver specific parameters + for snapshot class type: object type: object type: array @@ -1800,12 +2304,16 @@ spec: type: string type: object modules: - description: Modules is list of Container Storage Module modules you want to deploy + description: + Modules is list of Container Storage Module modules you + want to deploy items: description: Module defines the desired state of a ContainerStorageModule properties: components: - description: Components is the specification for CSM components containers + description: + Components is the specification for CSM components + containers items: description: ContainerTemplate template properties: @@ -1815,59 +2323,91 @@ spec: type: string type: array authorizationController: - description: AuthorizationController is the image tag for the container + description: + AuthorizationController is the image tag + for the container type: string authorizationControllerReplicas: - description: AuthorizationControllerReplicas is the number of replicas for the authorization controller deployment + description: + AuthorizationControllerReplicas is the number + of replicas for the authorization controller deployment type: integer certificate: - description: Certificate is a certificate used for a certificate/private-key pair + description: + Certificate is a certificate used for a certificate/private-key + pair type: string certificateAuthority: - description: CertificateAuthority is a certificate authority used to validate a certificate + description: + CertificateAuthority is a certificate authority + used to validate a certificate type: string commander: description: Commander is the image tag for the Container type: string controllerReconcileInterval: - description: The interval which the reconcile of each controller is run + description: + The interval which the reconcile of each + controller is run type: string credentials: - description: ComponentCred is to store the velero credential contents + description: + ComponentCred is to store the velero credential + contents items: description: Credential struct properties: createWithInstall: - description: CreateWithInstall is used to indicate wether or not to create a secret for objectstore + description: + CreateWithInstall is used to indicate + wether or not to create a secret for objectstore type: boolean name: - description: Name is the name of secret which contains credentials to access objectstore + description: + Name is the name of secret which contains + credentials to access objectstore type: string secretContents: - description: SecretContents contains credentials to access objectstore + description: + SecretContents contains credentials + to access objectstore properties: aws_access_key_id: - description: AccessKeyID is a name of key ID to access objectstore + description: + AccessKeyID is a name of key ID + to access objectstore type: string aws_secret_access_key: - description: AccessKey contains the key to access objectstore + description: + AccessKey contains the key to access + objectstore type: string type: object type: object type: array deployNodeAgent: - description: DeployNodeAgent is to enable/disable node-agent services + description: + DeployNodeAgent is to enable/disable node-agent + services type: boolean enabled: - description: Enabled is used to indicate wether or not to deploy a module + description: + Enabled is used to indicate wether or not + to deploy a module type: boolean envs: - description: Envs is the set of environment variables for the container + description: + Envs is the set of environment variables + for the container items: - description: EnvVar represents an environment variable present in a Container. + description: + EnvVar represents an environment variable + present in a Container. properties: name: - description: Name of the environment variable. Must be a C_IDENTIFIER. + description: + Name of the environment variable. Must + be a C_IDENTIFIER. type: string value: description: |- @@ -1882,7 +2422,9 @@ spec: Defaults to "". type: string valueFrom: - description: Source for the environment variable's value. Cannot be used if value is not empty. + description: + Source for the environment variable's + value. Cannot be used if value is not empty. properties: configMapKeyRef: description: Selects a key of a ConfigMap. @@ -1897,7 +2439,9 @@ spec: TODO: Add other useful fields. apiVersion, kind, uid? type: string optional: - description: Specify whether the ConfigMap or its key must be defined + description: + Specify whether the ConfigMap + or its key must be defined type: boolean required: - key @@ -1909,10 +2453,14 @@ spec: spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. properties: apiVersion: - description: Version of the schema the FieldPath is written in terms of, defaults to "v1". + description: + Version of the schema the FieldPath + is written in terms of, defaults to "v1". type: string fieldPath: - description: Path of the field to select in the specified API version. + description: + Path of the field to select + in the specified API version. type: string required: - fieldPath @@ -1924,27 +2472,36 @@ spec: (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. properties: containerName: - description: 'Container name: required for volumes, optional for env vars' + description: + "Container name: required for + volumes, optional for env vars" type: string divisor: anyOf: - type: integer - type: string - description: Specifies the output format of the exposed resources, defaults to "1" + description: + Specifies the output format + of the exposed resources, defaults to + "1" pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: - description: 'Required: resource to select' + description: "Required: resource to select" type: string required: - resource type: object x-kubernetes-map-type: atomic secretKeyRef: - description: Selects a key of a secret in the pod's namespace + description: + Selects a key of a secret in the + pod's namespace properties: key: - description: The key of the secret to select from. Must be a valid secret key. + description: + The key of the secret to select + from. Must be a valid secret key. type: string name: description: |- @@ -1953,7 +2510,9 @@ spec: TODO: Add other useful fields. apiVersion, kind, uid? type: string optional: - description: Specify whether the Secret or its key must be defined + description: + Specify whether the Secret + or its key must be defined type: boolean required: - key @@ -1965,19 +2524,27 @@ spec: type: object type: array hostname: - description: Hostname is the authorization proxy server hostname + description: + Hostname is the authorization proxy server + hostname type: string image: description: Image is the image tag for the Container type: string imagePullPolicy: - description: ImagePullPolicy is the image pull policy for the image + description: + ImagePullPolicy is the image pull policy + for the image type: string leaderElection: - description: LeaderElection is boolean flag to enable leader election + description: + LeaderElection is boolean flag to enable + leader election type: boolean licenseName: - description: LicenseName is the name of the license for app-mobility + description: + LicenseName is the name of the license for + app-mobility type: string name: description: Name is the name of Container @@ -1990,7 +2557,9 @@ spec: Selector which must match a node's labels for the pod to be scheduled on that node. type: object objectStoreSecretName: - description: ObjectStoreSecretName is the name of the secret for the object store for app-mobility + description: + ObjectStoreSecretName is the name of the + secret for the object store for app-mobility type: string opa: description: Opa is the image tag for the Container @@ -1999,17 +2568,26 @@ spec: description: OpaKubeMgmt is the image tag for the Container type: string privateKey: - description: PrivateKey is a private key used for a certificate/private-key pair + description: + PrivateKey is a private key used for a certificate/private-key + pair type: string proxyServerIngress: - description: ProxyServerIngress is the authorization proxy server ingress configuration + description: + ProxyServerIngress is the authorization proxy + server ingress configuration items: - description: ProxyServerIngress is the authorization ingress configuration struct + description: + ProxyServerIngress is the authorization + ingress configuration struct properties: annotations: additionalProperties: type: string - description: Annotations is an unstructured key value map that stores additional annotations for the ingress + description: + Annotations is an unstructured key + value map that stores additional annotations for + the ingress type: object hosts: description: Hosts is the hosts rules for the ingress @@ -2025,7 +2603,9 @@ spec: description: ProxyService is the image tag for the Container type: string proxyServiceReplicas: - description: ProxyServiceReplicas is the number of replicas for the proxy service deployment + description: + ProxyServiceReplicas is the number of replicas + for the proxy service deployment type: integer redis: description: Redis is the image tag for the Container @@ -2037,40 +2617,56 @@ spec: description: RedisName is the name of the redis statefulset type: string redisReplicas: - description: RedisReplicas is the number of replicas for the redis deployment + description: + RedisReplicas is the number of replicas for + the redis deployment type: integer replicaCount: - description: ReplicaCount is the replica count for app mobility + description: + ReplicaCount is the replica count for app + mobility type: string roleService: description: RoleService is the image tag for the Container type: string roleServiceReplicas: - description: RoleServiceReplicas is the number of replicas for the role service deployment + description: + RoleServiceReplicas is the number of replicas + for the role service deployment type: integer sentinel: description: Sentinel is the name of the sentinel statefulSet type: string skipCertificateValidation: - description: skipCertificateValidation is the flag to skip certificate validation + description: + skipCertificateValidation is the flag to + skip certificate validation type: boolean storageService: description: StorageService is the image tag for the Container type: string storageServiceReplicas: - description: StorageServiceReplicas is the number of replicas for storage service deployment + description: + StorageServiceReplicas is the number of replicas + for storage service deployment type: integer storageclass: - description: RedisStorageClass is the authorization proxy server redis storage class for persistence + description: + RedisStorageClass is the authorization proxy + server redis storage class for persistence type: string tenantService: description: TenantService is the image tag for the Container type: string tenantServiceReplicas: - description: TenantServiceReplicas is the number of replicas for the tenant service deployment + description: + TenantServiceReplicas is the number of replicas + for the tenant service deployment type: integer tolerations: - description: Tolerations is the list of tolerations for the driver pods + description: + Tolerations is the list of tolerations for + the driver pods items: description: |- The pod this Toleration is attached to tolerates any taint that matches @@ -2109,49 +2705,72 @@ spec: type: object type: array useVolumeSnapshot: - description: UseSnapshot is to check whether volume snapshot is enabled under velero component + description: + UseSnapshot is to check whether volume snapshot + is enabled under velero component type: boolean vaultConfigurations: description: Vaults are the vault configurations items: - description: Vault is the configuration for a vault instance struct + description: + Vault is the configuration for a vault + instance struct properties: address: description: Address is the address for this vault type: string certificateAuthority: - description: CertificateAuthority is the base64-encoded certificate authority for validaitng the vault certificate + description: + CertificateAuthority is the base64-encoded + certificate authority for validaitng the vault + certificate type: string clientCertificate: - description: ClientCertificate is the base64-encoded certificate for connecting to vault + description: + ClientCertificate is the base64-encoded + certificate for connecting to vault type: string clientKey: - description: ClientKey validates is the base64-encoded certificate key for connecting to vault + description: + ClientKey validates is the base64-encoded + certificate key for connecting to vault type: string identifier: - description: Identifier is the identifier for this vault + description: + Identifier is the identifier for this + vault type: string role: description: Role is the role for this vault type: string skipCertificateValidation: - description: SkipCertificateValidation validates the vault server certificate or not + description: + SkipCertificateValidation validates + the vault server certificate or not type: boolean type: object type: array veleroNamespace: - description: VeleroNamespace is the namespace that Velero is installed in + description: + VeleroNamespace is the namespace that Velero + is installed in type: string type: object type: array configVersion: - description: ConfigVersion is the configuration version of the module + description: + ConfigVersion is the configuration version of the + module type: string enabled: - description: Enabled is used to indicate whether or not to deploy a module + description: + Enabled is used to indicate whether or not to deploy + a module type: boolean forceRemoveModule: - description: ForceRemoveModule is the boolean flag used to remove authorization proxy server deployment when CR is deleted + description: + ForceRemoveModule is the boolean flag used to remove + authorization proxy server deployment when CR is deleted type: boolean initContainer: description: InitContainer is the specification for Module InitContainer @@ -2164,59 +2783,91 @@ spec: type: string type: array authorizationController: - description: AuthorizationController is the image tag for the container + description: + AuthorizationController is the image tag + for the container type: string authorizationControllerReplicas: - description: AuthorizationControllerReplicas is the number of replicas for the authorization controller deployment + description: + AuthorizationControllerReplicas is the number + of replicas for the authorization controller deployment type: integer certificate: - description: Certificate is a certificate used for a certificate/private-key pair + description: + Certificate is a certificate used for a certificate/private-key + pair type: string certificateAuthority: - description: CertificateAuthority is a certificate authority used to validate a certificate + description: + CertificateAuthority is a certificate authority + used to validate a certificate type: string commander: description: Commander is the image tag for the Container type: string controllerReconcileInterval: - description: The interval which the reconcile of each controller is run + description: + The interval which the reconcile of each + controller is run type: string credentials: - description: ComponentCred is to store the velero credential contents + description: + ComponentCred is to store the velero credential + contents items: description: Credential struct properties: createWithInstall: - description: CreateWithInstall is used to indicate wether or not to create a secret for objectstore + description: + CreateWithInstall is used to indicate + wether or not to create a secret for objectstore type: boolean name: - description: Name is the name of secret which contains credentials to access objectstore + description: + Name is the name of secret which contains + credentials to access objectstore type: string secretContents: - description: SecretContents contains credentials to access objectstore + description: + SecretContents contains credentials + to access objectstore properties: aws_access_key_id: - description: AccessKeyID is a name of key ID to access objectstore + description: + AccessKeyID is a name of key ID + to access objectstore type: string aws_secret_access_key: - description: AccessKey contains the key to access objectstore + description: + AccessKey contains the key to access + objectstore type: string type: object type: object type: array deployNodeAgent: - description: DeployNodeAgent is to enable/disable node-agent services + description: + DeployNodeAgent is to enable/disable node-agent + services type: boolean enabled: - description: Enabled is used to indicate wether or not to deploy a module + description: + Enabled is used to indicate wether or not + to deploy a module type: boolean envs: - description: Envs is the set of environment variables for the container + description: + Envs is the set of environment variables + for the container items: - description: EnvVar represents an environment variable present in a Container. + description: + EnvVar represents an environment variable + present in a Container. properties: name: - description: Name of the environment variable. Must be a C_IDENTIFIER. + description: + Name of the environment variable. Must + be a C_IDENTIFIER. type: string value: description: |- @@ -2231,7 +2882,9 @@ spec: Defaults to "". type: string valueFrom: - description: Source for the environment variable's value. Cannot be used if value is not empty. + description: + Source for the environment variable's + value. Cannot be used if value is not empty. properties: configMapKeyRef: description: Selects a key of a ConfigMap. @@ -2246,7 +2899,9 @@ spec: TODO: Add other useful fields. apiVersion, kind, uid? type: string optional: - description: Specify whether the ConfigMap or its key must be defined + description: + Specify whether the ConfigMap + or its key must be defined type: boolean required: - key @@ -2258,10 +2913,14 @@ spec: spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. properties: apiVersion: - description: Version of the schema the FieldPath is written in terms of, defaults to "v1". + description: + Version of the schema the FieldPath + is written in terms of, defaults to "v1". type: string fieldPath: - description: Path of the field to select in the specified API version. + description: + Path of the field to select + in the specified API version. type: string required: - fieldPath @@ -2273,27 +2932,36 @@ spec: (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. properties: containerName: - description: 'Container name: required for volumes, optional for env vars' + description: + "Container name: required for + volumes, optional for env vars" type: string divisor: anyOf: - type: integer - type: string - description: Specifies the output format of the exposed resources, defaults to "1" + description: + Specifies the output format + of the exposed resources, defaults to + "1" pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: - description: 'Required: resource to select' + description: "Required: resource to select" type: string required: - resource type: object x-kubernetes-map-type: atomic secretKeyRef: - description: Selects a key of a secret in the pod's namespace + description: + Selects a key of a secret in the + pod's namespace properties: key: - description: The key of the secret to select from. Must be a valid secret key. + description: + The key of the secret to select + from. Must be a valid secret key. type: string name: description: |- @@ -2302,7 +2970,9 @@ spec: TODO: Add other useful fields. apiVersion, kind, uid? type: string optional: - description: Specify whether the Secret or its key must be defined + description: + Specify whether the Secret + or its key must be defined type: boolean required: - key @@ -2314,19 +2984,27 @@ spec: type: object type: array hostname: - description: Hostname is the authorization proxy server hostname + description: + Hostname is the authorization proxy server + hostname type: string image: description: Image is the image tag for the Container type: string imagePullPolicy: - description: ImagePullPolicy is the image pull policy for the image + description: + ImagePullPolicy is the image pull policy + for the image type: string leaderElection: - description: LeaderElection is boolean flag to enable leader election + description: + LeaderElection is boolean flag to enable + leader election type: boolean licenseName: - description: LicenseName is the name of the license for app-mobility + description: + LicenseName is the name of the license for + app-mobility type: string name: description: Name is the name of Container @@ -2339,7 +3017,9 @@ spec: Selector which must match a node's labels for the pod to be scheduled on that node. type: object objectStoreSecretName: - description: ObjectStoreSecretName is the name of the secret for the object store for app-mobility + description: + ObjectStoreSecretName is the name of the + secret for the object store for app-mobility type: string opa: description: Opa is the image tag for the Container @@ -2348,17 +3028,26 @@ spec: description: OpaKubeMgmt is the image tag for the Container type: string privateKey: - description: PrivateKey is a private key used for a certificate/private-key pair + description: + PrivateKey is a private key used for a certificate/private-key + pair type: string proxyServerIngress: - description: ProxyServerIngress is the authorization proxy server ingress configuration + description: + ProxyServerIngress is the authorization proxy + server ingress configuration items: - description: ProxyServerIngress is the authorization ingress configuration struct + description: + ProxyServerIngress is the authorization + ingress configuration struct properties: annotations: additionalProperties: type: string - description: Annotations is an unstructured key value map that stores additional annotations for the ingress + description: + Annotations is an unstructured key + value map that stores additional annotations for + the ingress type: object hosts: description: Hosts is the hosts rules for the ingress @@ -2374,7 +3063,9 @@ spec: description: ProxyService is the image tag for the Container type: string proxyServiceReplicas: - description: ProxyServiceReplicas is the number of replicas for the proxy service deployment + description: + ProxyServiceReplicas is the number of replicas + for the proxy service deployment type: integer redis: description: Redis is the image tag for the Container @@ -2386,40 +3077,56 @@ spec: description: RedisName is the name of the redis statefulset type: string redisReplicas: - description: RedisReplicas is the number of replicas for the redis deployment + description: + RedisReplicas is the number of replicas for + the redis deployment type: integer replicaCount: - description: ReplicaCount is the replica count for app mobility + description: + ReplicaCount is the replica count for app + mobility type: string roleService: description: RoleService is the image tag for the Container type: string roleServiceReplicas: - description: RoleServiceReplicas is the number of replicas for the role service deployment + description: + RoleServiceReplicas is the number of replicas + for the role service deployment type: integer sentinel: description: Sentinel is the name of the sentinel statefulSet type: string skipCertificateValidation: - description: skipCertificateValidation is the flag to skip certificate validation + description: + skipCertificateValidation is the flag to + skip certificate validation type: boolean storageService: description: StorageService is the image tag for the Container type: string storageServiceReplicas: - description: StorageServiceReplicas is the number of replicas for storage service deployment + description: + StorageServiceReplicas is the number of replicas + for storage service deployment type: integer storageclass: - description: RedisStorageClass is the authorization proxy server redis storage class for persistence + description: + RedisStorageClass is the authorization proxy + server redis storage class for persistence type: string tenantService: description: TenantService is the image tag for the Container type: string tenantServiceReplicas: - description: TenantServiceReplicas is the number of replicas for the tenant service deployment + description: + TenantServiceReplicas is the number of replicas + for the tenant service deployment type: integer tolerations: - description: Tolerations is the list of tolerations for the driver pods + description: + Tolerations is the list of tolerations for + the driver pods items: description: |- The pod this Toleration is attached to tolerates any taint that matches @@ -2458,38 +3165,55 @@ spec: type: object type: array useVolumeSnapshot: - description: UseSnapshot is to check whether volume snapshot is enabled under velero component + description: + UseSnapshot is to check whether volume snapshot + is enabled under velero component type: boolean vaultConfigurations: description: Vaults are the vault configurations items: - description: Vault is the configuration for a vault instance struct + description: + Vault is the configuration for a vault + instance struct properties: address: description: Address is the address for this vault type: string certificateAuthority: - description: CertificateAuthority is the base64-encoded certificate authority for validaitng the vault certificate + description: + CertificateAuthority is the base64-encoded + certificate authority for validaitng the vault + certificate type: string clientCertificate: - description: ClientCertificate is the base64-encoded certificate for connecting to vault + description: + ClientCertificate is the base64-encoded + certificate for connecting to vault type: string clientKey: - description: ClientKey validates is the base64-encoded certificate key for connecting to vault + description: + ClientKey validates is the base64-encoded + certificate key for connecting to vault type: string identifier: - description: Identifier is the identifier for this vault + description: + Identifier is the identifier for this + vault type: string role: description: Role is the role for this vault type: string skipCertificateValidation: - description: SkipCertificateValidation validates the vault server certificate or not + description: + SkipCertificateValidation validates + the vault server certificate or not type: boolean type: object type: array veleroNamespace: - description: VeleroNamespace is the namespace that Velero is installed in + description: + VeleroNamespace is the namespace that Velero + is installed in type: string type: object type: array @@ -2500,7 +3224,9 @@ spec: type: array type: object status: - description: ContainerStorageModuleStatus defines the observed state of ContainerStorageModule + description: + ContainerStorageModuleStatus defines the observed state of + ContainerStorageModule properties: controllerStatus: description: ControllerStatus is the status of Controller pods diff --git a/config/rbac/role.yaml b/config/rbac/role.yaml index 727d99eaa..177fbad65 100644 --- a/config/rbac/role.yaml +++ b/config/rbac/role.yaml @@ -53,7 +53,7 @@ rules: - services - services/finalizers verbs: - - '*' + - "*" - apiGroups: - "" resourceNames: @@ -114,19 +114,19 @@ rules: - update - watch - apiGroups: - - '*' + - "*" resourceNames: - application-mobility-velero-server resources: - - '*' + - "*" verbs: - - '*' + - "*" - apiGroups: - acme.cert-manager.io resources: - - '*/*' + - "*/*" verbs: - - '*' + - "*" - apiGroups: - acme.cert-manager.io resources: @@ -216,7 +216,7 @@ rules: resources: - customresourcedefinitions verbs: - - '*' + - "*" - apiGroups: - apiextensions.k8s.io resources: @@ -305,9 +305,9 @@ rules: - apiGroups: - cert-manager.io resources: - - '*/*' + - "*/*" verbs: - - '*' + - "*" - apiGroups: - cert-manager.io resources: @@ -316,7 +316,7 @@ rules: - clusterissuers - issuers verbs: - - '*' + - "*" - apiGroups: - cert-manager.io resources: @@ -759,7 +759,7 @@ rules: resources: - ingresses verbs: - - '*' + - "*" - apiGroups: - networking.k8s.io resources: diff --git a/deploy/crds/storage.dell.com.crds.all.yaml b/deploy/crds/storage.dell.com.crds.all.yaml index 77b509e36..71330267a 100644 --- a/deploy/crds/storage.dell.com.crds.all.yaml +++ b/deploy/crds/storage.dell.com.crds.all.yaml @@ -177,7 +177,7 @@ spec: (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. properties: containerName: - description: 'Container name: required for volumes, optional for env vars' + description: "Container name: required for volumes, optional for env vars" type: string divisor: anyOf: @@ -187,7 +187,7 @@ spec: pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: - description: 'Required: resource to select' + description: "Required: resource to select" type: string required: - resource @@ -528,7 +528,7 @@ spec: (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. properties: containerName: - description: 'Container name: required for volumes, optional for env vars' + description: "Container name: required for volumes, optional for env vars" type: string divisor: anyOf: @@ -538,7 +538,7 @@ spec: pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: - description: 'Required: resource to select' + description: "Required: resource to select" type: string required: - resource @@ -868,7 +868,7 @@ spec: (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. properties: containerName: - description: 'Container name: required for volumes, optional for env vars' + description: "Container name: required for volumes, optional for env vars" type: string divisor: anyOf: @@ -878,7 +878,7 @@ spec: pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: - description: 'Required: resource to select' + description: "Required: resource to select" type: string required: - resource @@ -1298,7 +1298,7 @@ spec: (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. properties: containerName: - description: 'Container name: required for volumes, optional for env vars' + description: "Container name: required for volumes, optional for env vars" type: string divisor: anyOf: @@ -1308,7 +1308,7 @@ spec: pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: - description: 'Required: resource to select' + description: "Required: resource to select" type: string required: - resource @@ -1638,7 +1638,7 @@ spec: (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. properties: containerName: - description: 'Container name: required for volumes, optional for env vars' + description: "Container name: required for volumes, optional for env vars" type: string divisor: anyOf: @@ -1648,7 +1648,7 @@ spec: pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: - description: 'Required: resource to select' + description: "Required: resource to select" type: string required: - resource @@ -1997,7 +1997,7 @@ spec: (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. properties: containerName: - description: 'Container name: required for volumes, optional for env vars' + description: "Container name: required for volumes, optional for env vars" type: string divisor: anyOf: @@ -2007,7 +2007,7 @@ spec: pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: - description: 'Required: resource to select' + description: "Required: resource to select" type: string required: - resource @@ -2335,7 +2335,7 @@ spec: (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. properties: containerName: - description: 'Container name: required for volumes, optional for env vars' + description: "Container name: required for volumes, optional for env vars" type: string divisor: anyOf: @@ -2345,7 +2345,7 @@ spec: pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: - description: 'Required: resource to select' + description: "Required: resource to select" type: string required: - resource @@ -2678,7 +2678,7 @@ spec: (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. properties: containerName: - description: 'Container name: required for volumes, optional for env vars' + description: "Container name: required for volumes, optional for env vars" type: string divisor: anyOf: @@ -2688,7 +2688,7 @@ spec: pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: - description: 'Required: resource to select' + description: "Required: resource to select" type: string required: - resource @@ -3042,7 +3042,7 @@ spec: (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. properties: containerName: - description: 'Container name: required for volumes, optional for env vars' + description: "Container name: required for volumes, optional for env vars" type: string divisor: anyOf: @@ -3052,7 +3052,7 @@ spec: pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: - description: 'Required: resource to select' + description: "Required: resource to select" type: string required: - resource @@ -3391,7 +3391,7 @@ spec: (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. properties: containerName: - description: 'Container name: required for volumes, optional for env vars' + description: "Container name: required for volumes, optional for env vars" type: string divisor: anyOf: @@ -3401,7 +3401,7 @@ spec: pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ x-kubernetes-int-or-string: true resource: - description: 'Required: resource to select' + description: "Required: resource to select" type: string required: - resource diff --git a/deploy/operator.yaml b/deploy/operator.yaml index d00ef8f32..9bba6d1cb 100644 --- a/deploy/operator.yaml +++ b/deploy/operator.yaml @@ -50,11 +50,11 @@ metadata: name: dell-csm-operator-application-mobility-velero-server rules: - apiGroups: - - '*' + - "*" resources: - - '*' + - "*" verbs: - - '*' + - "*" --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole @@ -111,7 +111,7 @@ rules: - services - services/finalizers verbs: - - '*' + - "*" - apiGroups: - "" resourceNames: @@ -172,19 +172,19 @@ rules: - update - watch - apiGroups: - - '*' + - "*" resourceNames: - application-mobility-velero-server resources: - - '*' + - "*" verbs: - - '*' + - "*" - apiGroups: - acme.cert-manager.io resources: - - '*/*' + - "*/*" verbs: - - '*' + - "*" - apiGroups: - acme.cert-manager.io resources: @@ -274,7 +274,7 @@ rules: resources: - customresourcedefinitions verbs: - - '*' + - "*" - apiGroups: - apiextensions.k8s.io resources: @@ -363,9 +363,9 @@ rules: - apiGroups: - cert-manager.io resources: - - '*/*' + - "*/*" verbs: - - '*' + - "*" - apiGroups: - cert-manager.io resources: @@ -374,7 +374,7 @@ rules: - clusterissuers - issuers verbs: - - '*' + - "*" - apiGroups: - cert-manager.io resources: @@ -817,7 +817,7 @@ rules: resources: - ingresses verbs: - - '*' + - "*" - apiGroups: - networking.k8s.io resources: diff --git a/operatorconfig/moduleconfig/authorization/v2.0.0/authorization-crds.yaml b/operatorconfig/moduleconfig/authorization/v2.0.0/authorization-crds.yaml index 3f46180e5..464f50fda 100644 --- a/operatorconfig/moduleconfig/authorization/v2.0.0/authorization-crds.yaml +++ b/operatorconfig/moduleconfig/authorization/v2.0.0/authorization-crds.yaml @@ -39,15 +39,18 @@ spec: description: CSMRoleSpec defines the desired state of CSMRole properties: pool: + description: Pool is the storage pool name type: string quota: - description: |- - INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file + description: Quota is the total provision capacity for a given role type: string systemID: + description: SystemID is the system ID of the storage array type: string systemType: + description: |- + SystemType is the type of the storage array + Example powerflex, powermax, powerscale type: string type: object status: @@ -175,15 +178,22 @@ spec: description: CSMTenantSpec defines the desired state of CSMTenant properties: approveSdc: + description: |- + ApproveSdc is a boolean to indicate whether approveSDC is enabled + Default value is false type: boolean revoke: + description: Revoke is a boolean to indicate whether tenant is revoked type: boolean roles: description: |- - INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file + Roles defines the roles for this tenant + Comma separated list type: string volumePrefix: + description: + VolumePrefix is the prefix added for each new volume + provisioned by the tenant maxLength: 3 minLength: 1 type: string @@ -315,21 +325,31 @@ spec: description: StorageSpec defines the desired state of Storage properties: endpoint: + description: EndPoint is the storage array endpoint type: string isiPath: + description: |- + IsiPath the base path for the volumes to be created on PowerScale cluster + Needed only for PowerScale type: string pollInterval: + description: PollInterval is the interval to poll the storage array type: string skipCertificateValidation: + description: + SkipCertificateValidation is the flag to skip certificate + validation type: boolean systemID: + description: SystemID is the storage array system ID type: string type: - description: |- - INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file + description: Type is the storage array type type: string vault: + description: |- + Vault is the credential manager for storage arrays + Currently support only Hashicorp Vault properties: identifier: type: string diff --git a/tests/e2e/testfiles/authorization-templates/csm_authorization_crds.yaml b/tests/e2e/testfiles/authorization-templates/csm_authorization_crds.yaml index 3f46180e5..464f50fda 100644 --- a/tests/e2e/testfiles/authorization-templates/csm_authorization_crds.yaml +++ b/tests/e2e/testfiles/authorization-templates/csm_authorization_crds.yaml @@ -39,15 +39,18 @@ spec: description: CSMRoleSpec defines the desired state of CSMRole properties: pool: + description: Pool is the storage pool name type: string quota: - description: |- - INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file + description: Quota is the total provision capacity for a given role type: string systemID: + description: SystemID is the system ID of the storage array type: string systemType: + description: |- + SystemType is the type of the storage array + Example powerflex, powermax, powerscale type: string type: object status: @@ -175,15 +178,22 @@ spec: description: CSMTenantSpec defines the desired state of CSMTenant properties: approveSdc: + description: |- + ApproveSdc is a boolean to indicate whether approveSDC is enabled + Default value is false type: boolean revoke: + description: Revoke is a boolean to indicate whether tenant is revoked type: boolean roles: description: |- - INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file + Roles defines the roles for this tenant + Comma separated list type: string volumePrefix: + description: + VolumePrefix is the prefix added for each new volume + provisioned by the tenant maxLength: 3 minLength: 1 type: string @@ -315,21 +325,31 @@ spec: description: StorageSpec defines the desired state of Storage properties: endpoint: + description: EndPoint is the storage array endpoint type: string isiPath: + description: |- + IsiPath the base path for the volumes to be created on PowerScale cluster + Needed only for PowerScale type: string pollInterval: + description: PollInterval is the interval to poll the storage array type: string skipCertificateValidation: + description: + SkipCertificateValidation is the flag to skip certificate + validation type: boolean systemID: + description: SystemID is the storage array system ID type: string type: - description: |- - INSERT ADDITIONAL SPEC FIELDS - desired state of cluster - Important: Run "make" to regenerate code after modifying this file + description: Type is the storage array type type: string vault: + description: |- + Vault is the credential manager for storage arrays + Currently support only Hashicorp Vault properties: identifier: type: string From 39653113e2a75ffdba37f1e2844c0b0976724553 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 20 Aug 2024 15:57:13 +0000 Subject: [PATCH 6/6] fix merge conflicts --- config/crd/bases/storage.dell.com_apexconnectivityclients.yaml | 1 + config/crd/bases/storage.dell.com_containerstoragemodules.yaml | 1 + config/rbac/role.yaml | 1 + 3 files changed, 3 insertions(+) diff --git a/config/crd/bases/storage.dell.com_apexconnectivityclients.yaml b/config/crd/bases/storage.dell.com_apexconnectivityclients.yaml index c276915c9..731ee1df1 100644 --- a/config/crd/bases/storage.dell.com_apexconnectivityclients.yaml +++ b/config/crd/bases/storage.dell.com_apexconnectivityclients.yaml @@ -1,3 +1,4 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: diff --git a/config/crd/bases/storage.dell.com_containerstoragemodules.yaml b/config/crd/bases/storage.dell.com_containerstoragemodules.yaml index b0b50748b..b7260f29a 100644 --- a/config/crd/bases/storage.dell.com_containerstoragemodules.yaml +++ b/config/crd/bases/storage.dell.com_containerstoragemodules.yaml @@ -1,3 +1,4 @@ +--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: diff --git a/config/rbac/role.yaml b/config/rbac/role.yaml index 177fbad65..dde44c600 100644 --- a/config/rbac/role.yaml +++ b/config/rbac/role.yaml @@ -1,3 +1,4 @@ +--- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: