diff --git a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers-DevPreviewNoUpgrade.crd.yaml b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers-DevPreviewNoUpgrade.crd.yaml deleted file mode 100644 index 1400f1a654f..00000000000 --- a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers-DevPreviewNoUpgrade.crd.yaml +++ /dev/null @@ -1,234 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - api-approved.openshift.io: https://github.com/openshift/api/pull/2448 - api.openshift.io/merged-by-featuregates: "true" - capability.openshift.io/name: Insights - include.release.openshift.io/ibm-cloud-managed: "true" - include.release.openshift.io/self-managed-high-availability: "true" - release.openshift.io/feature-set: DevPreviewNoUpgrade - name: insightsdatagathers.config.openshift.io -spec: - group: config.openshift.io - names: - kind: InsightsDataGather - listKind: InsightsDataGatherList - plural: insightsdatagathers - singular: insightsdatagather - scope: Cluster - versions: - - name: v1 - schema: - openAPIV3Schema: - description: |- - InsightsDataGather provides data gather configuration options for the Insights Operator. - - Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). - 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: spec holds user settable values for configuration - properties: - gatherConfig: - description: gatherConfig is a required spec attribute that includes - all the configuration options related to gathering of the Insights - data and its uploading to the ingress. - properties: - dataPolicy: - description: |- - dataPolicy is an optional list of DataPolicyOptions that allows user to enable additional obfuscation of the Insights archive data. - It may not exceed 2 items and must not contain duplicates. - Valid values are ObfuscateNetworking and WorkloadNames. - When set to ObfuscateNetworking the IP addresses and the cluster domain name are obfuscated. - When set to WorkloadNames, the gathered data about cluster resources will not contain the workload names for your deployments. Resources UIDs will be used instead. - When omitted no obfuscation is applied. - items: - description: DataPolicyOption declares valid data policy options - enum: - - ObfuscateNetworking - - WorkloadNames - type: string - maxItems: 2 - minItems: 1 - type: array - x-kubernetes-list-type: atomic - x-kubernetes-validations: - - message: dataPolicy items must be unique - rule: self.all(x, self.exists_one(y, x == y)) - gatherers: - description: gatherers is a required field that specifies the - configuration of the gatherers. - properties: - custom: - description: |- - custom provides gathering configuration. - It is required when mode is Custom, and forbidden otherwise. - Custom configuration allows user to disable only a subset of gatherers. - Gatherers that are not explicitly disabled in custom configuration will run. - properties: - configs: - description: |- - configs is a required list of gatherers configurations that can be used to enable or disable specific gatherers. - It may not exceed 100 items and each gatherer can be present only once. - It is possible to disable an entire set of gatherers while allowing a specific function within that set. - The particular gatherers IDs can be found at https://github.com/openshift/insights-operator/blob/master/docs/gathered-data.md. - Run the following command to get the names of last active gatherers: - "oc get insightsoperators.operator.openshift.io cluster -o json | jq '.status.gatherStatus.gatherers[].name'" - items: - description: GathererConfig allows to configure specific - gatherers - properties: - name: - description: |- - name is the required name of a specific gatherer. - It may not exceed 256 characters. - The format for a gatherer name is: {gatherer}/{function} where the function is optional. - Gatherer consists of a lowercase letters only that may include underscores (_). - Function consists of a lowercase letters only that may include underscores (_) and is separated from the gatherer by a forward slash (/). - The particular gatherers can be found at https://github.com/openshift/insights-operator/blob/master/docs/gathered-data.md. - Run the following command to get the names of last active gatherers: - "oc get insightsoperators.operator.openshift.io cluster -o json | jq '.status.gatherStatus.gatherers[].name'" - maxLength: 256 - minLength: 1 - type: string - x-kubernetes-validations: - - message: gatherer name must be in the format of - {gatherer}/{function} where the gatherer and - function are lowercase letters only that may - include underscores (_) and are separated by - a forward slash (/) if the function is provided - rule: self.matches("^[a-z]+[_a-z]*[a-z]([/a-z][_a-z]*)?[a-z]$") - state: - description: |- - state is a required field that allows you to configure specific gatherer. Valid values are "Enabled" and "Disabled". - When set to Enabled the gatherer will run. - When set to Disabled the gatherer will not run. - enum: - - Enabled - - Disabled - type: string - required: - - name - - state - type: object - maxItems: 100 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - required: - - configs - type: object - mode: - description: |- - mode is a required field that specifies the mode for gatherers. Allowed values are All, None, and Custom. - When set to All, all gatherers will run and gather data. - When set to None, all gatherers will be disabled and no data will be gathered. - When set to Custom, the custom configuration from the custom field will be applied. - enum: - - All - - None - - Custom - type: string - required: - - mode - type: object - x-kubernetes-validations: - - message: custom is required when mode is Custom, and forbidden - otherwise - rule: 'has(self.mode) && self.mode == ''Custom'' ? has(self.custom) - : !has(self.custom)' - storage: - description: |- - storage is an optional field that allows user to define persistent storage for gathering jobs to store the Insights data archive. - If omitted, the gathering job will use ephemeral storage. - properties: - persistentVolume: - description: |- - persistentVolume is an optional field that specifies the PersistentVolume that will be used to store the Insights data archive. - The PersistentVolume must be created in the openshift-insights namespace. - properties: - claim: - description: |- - claim is a required field that specifies the configuration of the PersistentVolumeClaim that will be used to store the Insights data archive. - The PersistentVolumeClaim must be created in the openshift-insights namespace. - properties: - name: - description: |- - name is the name of the PersistentVolumeClaim that will be used to store the Insights data archive. - It is a string that follows the DNS1123 subdomain format. - It must be at most 253 characters in length, and must consist only of lower case alphanumeric characters, '-' and '.', and must start and end with an alphanumeric character. - maxLength: 253 - minLength: 1 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist - of lower case alphanumeric characters, '-' or - '.', and must start and end with an alphanumeric - character. - rule: '!format.dns1123Subdomain().validate(self).hasValue()' - required: - - name - type: object - mountPath: - description: |- - mountPath is an optional field specifying the directory where the PVC will be mounted inside the Insights data gathering Pod. - When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. - The current default mount path is /var/lib/insights-operator - The path may not exceed 1024 characters and must not contain a colon. - maxLength: 1024 - minLength: 1 - type: string - x-kubernetes-validations: - - message: mountPath must not contain a colon - rule: '!self.contains('':'')' - required: - - claim - type: object - type: - description: |- - type is a required field that specifies the type of storage that will be used to store the Insights data archive. - Valid values are "PersistentVolume" and "Ephemeral". - When set to Ephemeral, the Insights data archive is stored in the ephemeral storage of the gathering job. - When set to PersistentVolume, the Insights data archive is stored in the PersistentVolume that is defined by the persistentVolume field. - enum: - - PersistentVolume - - Ephemeral - type: string - required: - - type - type: object - x-kubernetes-validations: - - message: persistentVolume is required when type is PersistentVolume, - and forbidden otherwise - rule: 'has(self.type) && self.type == ''PersistentVolume'' ? has(self.persistentVolume) - : !has(self.persistentVolume)' - required: - - gatherers - type: object - required: - - gatherConfig - type: object - required: - - spec - type: object - served: true - storage: true diff --git a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers-TechPreviewNoUpgrade.crd.yaml b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers-TechPreviewNoUpgrade.crd.yaml deleted file mode 100644 index d537572823d..00000000000 --- a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers-TechPreviewNoUpgrade.crd.yaml +++ /dev/null @@ -1,234 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - api-approved.openshift.io: https://github.com/openshift/api/pull/2448 - api.openshift.io/merged-by-featuregates: "true" - capability.openshift.io/name: Insights - include.release.openshift.io/ibm-cloud-managed: "true" - include.release.openshift.io/self-managed-high-availability: "true" - release.openshift.io/feature-set: TechPreviewNoUpgrade - name: insightsdatagathers.config.openshift.io -spec: - group: config.openshift.io - names: - kind: InsightsDataGather - listKind: InsightsDataGatherList - plural: insightsdatagathers - singular: insightsdatagather - scope: Cluster - versions: - - name: v1 - schema: - openAPIV3Schema: - description: |- - InsightsDataGather provides data gather configuration options for the Insights Operator. - - Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). - 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: spec holds user settable values for configuration - properties: - gatherConfig: - description: gatherConfig is a required spec attribute that includes - all the configuration options related to gathering of the Insights - data and its uploading to the ingress. - properties: - dataPolicy: - description: |- - dataPolicy is an optional list of DataPolicyOptions that allows user to enable additional obfuscation of the Insights archive data. - It may not exceed 2 items and must not contain duplicates. - Valid values are ObfuscateNetworking and WorkloadNames. - When set to ObfuscateNetworking the IP addresses and the cluster domain name are obfuscated. - When set to WorkloadNames, the gathered data about cluster resources will not contain the workload names for your deployments. Resources UIDs will be used instead. - When omitted no obfuscation is applied. - items: - description: DataPolicyOption declares valid data policy options - enum: - - ObfuscateNetworking - - WorkloadNames - type: string - maxItems: 2 - minItems: 1 - type: array - x-kubernetes-list-type: atomic - x-kubernetes-validations: - - message: dataPolicy items must be unique - rule: self.all(x, self.exists_one(y, x == y)) - gatherers: - description: gatherers is a required field that specifies the - configuration of the gatherers. - properties: - custom: - description: |- - custom provides gathering configuration. - It is required when mode is Custom, and forbidden otherwise. - Custom configuration allows user to disable only a subset of gatherers. - Gatherers that are not explicitly disabled in custom configuration will run. - properties: - configs: - description: |- - configs is a required list of gatherers configurations that can be used to enable or disable specific gatherers. - It may not exceed 100 items and each gatherer can be present only once. - It is possible to disable an entire set of gatherers while allowing a specific function within that set. - The particular gatherers IDs can be found at https://github.com/openshift/insights-operator/blob/master/docs/gathered-data.md. - Run the following command to get the names of last active gatherers: - "oc get insightsoperators.operator.openshift.io cluster -o json | jq '.status.gatherStatus.gatherers[].name'" - items: - description: GathererConfig allows to configure specific - gatherers - properties: - name: - description: |- - name is the required name of a specific gatherer. - It may not exceed 256 characters. - The format for a gatherer name is: {gatherer}/{function} where the function is optional. - Gatherer consists of a lowercase letters only that may include underscores (_). - Function consists of a lowercase letters only that may include underscores (_) and is separated from the gatherer by a forward slash (/). - The particular gatherers can be found at https://github.com/openshift/insights-operator/blob/master/docs/gathered-data.md. - Run the following command to get the names of last active gatherers: - "oc get insightsoperators.operator.openshift.io cluster -o json | jq '.status.gatherStatus.gatherers[].name'" - maxLength: 256 - minLength: 1 - type: string - x-kubernetes-validations: - - message: gatherer name must be in the format of - {gatherer}/{function} where the gatherer and - function are lowercase letters only that may - include underscores (_) and are separated by - a forward slash (/) if the function is provided - rule: self.matches("^[a-z]+[_a-z]*[a-z]([/a-z][_a-z]*)?[a-z]$") - state: - description: |- - state is a required field that allows you to configure specific gatherer. Valid values are "Enabled" and "Disabled". - When set to Enabled the gatherer will run. - When set to Disabled the gatherer will not run. - enum: - - Enabled - - Disabled - type: string - required: - - name - - state - type: object - maxItems: 100 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - required: - - configs - type: object - mode: - description: |- - mode is a required field that specifies the mode for gatherers. Allowed values are All, None, and Custom. - When set to All, all gatherers will run and gather data. - When set to None, all gatherers will be disabled and no data will be gathered. - When set to Custom, the custom configuration from the custom field will be applied. - enum: - - All - - None - - Custom - type: string - required: - - mode - type: object - x-kubernetes-validations: - - message: custom is required when mode is Custom, and forbidden - otherwise - rule: 'has(self.mode) && self.mode == ''Custom'' ? has(self.custom) - : !has(self.custom)' - storage: - description: |- - storage is an optional field that allows user to define persistent storage for gathering jobs to store the Insights data archive. - If omitted, the gathering job will use ephemeral storage. - properties: - persistentVolume: - description: |- - persistentVolume is an optional field that specifies the PersistentVolume that will be used to store the Insights data archive. - The PersistentVolume must be created in the openshift-insights namespace. - properties: - claim: - description: |- - claim is a required field that specifies the configuration of the PersistentVolumeClaim that will be used to store the Insights data archive. - The PersistentVolumeClaim must be created in the openshift-insights namespace. - properties: - name: - description: |- - name is the name of the PersistentVolumeClaim that will be used to store the Insights data archive. - It is a string that follows the DNS1123 subdomain format. - It must be at most 253 characters in length, and must consist only of lower case alphanumeric characters, '-' and '.', and must start and end with an alphanumeric character. - maxLength: 253 - minLength: 1 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist - of lower case alphanumeric characters, '-' or - '.', and must start and end with an alphanumeric - character. - rule: '!format.dns1123Subdomain().validate(self).hasValue()' - required: - - name - type: object - mountPath: - description: |- - mountPath is an optional field specifying the directory where the PVC will be mounted inside the Insights data gathering Pod. - When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. - The current default mount path is /var/lib/insights-operator - The path may not exceed 1024 characters and must not contain a colon. - maxLength: 1024 - minLength: 1 - type: string - x-kubernetes-validations: - - message: mountPath must not contain a colon - rule: '!self.contains('':'')' - required: - - claim - type: object - type: - description: |- - type is a required field that specifies the type of storage that will be used to store the Insights data archive. - Valid values are "PersistentVolume" and "Ephemeral". - When set to Ephemeral, the Insights data archive is stored in the ephemeral storage of the gathering job. - When set to PersistentVolume, the Insights data archive is stored in the PersistentVolume that is defined by the persistentVolume field. - enum: - - PersistentVolume - - Ephemeral - type: string - required: - - type - type: object - x-kubernetes-validations: - - message: persistentVolume is required when type is PersistentVolume, - and forbidden otherwise - rule: 'has(self.type) && self.type == ''PersistentVolume'' ? has(self.persistentVolume) - : !has(self.persistentVolume)' - required: - - gatherers - type: object - required: - - gatherConfig - type: object - required: - - spec - type: object - served: true - storage: true diff --git a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers-CustomNoUpgrade.crd.yaml b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers.crd.yaml similarity index 99% rename from config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers-CustomNoUpgrade.crd.yaml rename to config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers.crd.yaml index 97698ce0bec..650c1605838 100644 --- a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers-CustomNoUpgrade.crd.yaml +++ b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers.crd.yaml @@ -7,7 +7,6 @@ metadata: capability.openshift.io/name: Insights include.release.openshift.io/ibm-cloud-managed: "true" include.release.openshift.io/self-managed-high-availability: "true" - release.openshift.io/feature-set: CustomNoUpgrade name: insightsdatagathers.config.openshift.io spec: group: config.openshift.io diff --git a/config/v1alpha1/types_insights.go b/config/v1alpha1/types_insights.go index bef31b905ab..43546d03b2d 100644 --- a/config/v1alpha1/types_insights.go +++ b/config/v1alpha1/types_insights.go @@ -59,6 +59,7 @@ type GatherConfig struct { // "oc get insightsoperators.operator.openshift.io cluster -o json | jq '.status.gatherStatus.gatherers[].name'" // An example of disabling gatherers looks like this: `disabledGatherers: ["clusterconfig/machine_configs", "workloads/workload_info"]` // +kubebuilder:validation:MaxItems=100 + // +listType=atomic // +optional DisabledGatherers []DisabledGatherer `json:"disabledGatherers"` // storage is an optional field that allows user to define persistent storage for gathering jobs to store the Insights data archive. diff --git a/config/v1alpha1/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers-DevPreviewNoUpgrade.crd.yaml b/config/v1alpha1/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers-DevPreviewNoUpgrade.crd.yaml deleted file mode 100644 index 70cd51ad565..00000000000 --- a/config/v1alpha1/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers-DevPreviewNoUpgrade.crd.yaml +++ /dev/null @@ -1,164 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - api-approved.openshift.io: https://github.com/openshift/api/pull/1245 - api.openshift.io/merged-by-featuregates: "true" - capability.openshift.io/name: Insights - include.release.openshift.io/ibm-cloud-managed: "true" - include.release.openshift.io/self-managed-high-availability: "true" - release.openshift.io/feature-set: DevPreviewNoUpgrade - name: insightsdatagathers.config.openshift.io -spec: - group: config.openshift.io - names: - kind: InsightsDataGather - listKind: InsightsDataGatherList - plural: insightsdatagathers - singular: insightsdatagather - scope: Cluster - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: |- - InsightsDataGather provides data gather configuration options for the the Insights Operator. - - Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. - 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: spec holds user settable values for configuration - properties: - gatherConfig: - description: gatherConfig spec attribute includes all the configuration - options related to gathering of the Insights data and its uploading - to the ingress. - properties: - dataPolicy: - description: |- - dataPolicy allows user to enable additional global obfuscation of the IP addresses and base domain in the Insights archive data. - Valid values are "None" and "ObfuscateNetworking". - When set to None the data is not obfuscated. - When set to ObfuscateNetworking the IP addresses and the cluster domain name are obfuscated. - When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. - enum: - - "" - - None - - ObfuscateNetworking - type: string - disabledGatherers: - description: |- - disabledGatherers is a list of gatherers to be excluded from the gathering. All the gatherers can be disabled by providing "all" value. - If all the gatherers are disabled, the Insights operator does not gather any data. - The format for the disabledGatherer should be: {gatherer}/{function} where the function is optional. - Gatherer consists of a lowercase letters only that may include underscores (_). - Function consists of a lowercase letters only that may include underscores (_) and is separated from the gatherer by a forward slash (/). - The particular gatherers IDs can be found at https://github.com/openshift/insights-operator/blob/master/docs/gathered-data.md. - Run the following command to get the names of last active gatherers: - "oc get insightsoperators.operator.openshift.io cluster -o json | jq '.status.gatherStatus.gatherers[].name'" - An example of disabling gatherers looks like this: `disabledGatherers: ["clusterconfig/machine_configs", "workloads/workload_info"]` - items: - description: disabledGatherer is a string that represents a - gatherer that should be disabled - maxLength: 256 - type: string - x-kubernetes-validations: - - message: disabledGatherer must be in the format of {gatherer}/{function} - where the gatherer and function are lowercase letters only - that may include underscores (_) and are separated by a - forward slash (/) if the function is provided - rule: self.matches("^[a-z]+[_a-z]*[a-z]([/a-z][_a-z]*)?[a-z]$") - maxItems: 100 - type: array - storage: - description: |- - storage is an optional field that allows user to define persistent storage for gathering jobs to store the Insights data archive. - If omitted, the gathering job will use ephemeral storage. - properties: - persistentVolume: - description: |- - persistentVolume is an optional field that specifies the PersistentVolume that will be used to store the Insights data archive. - The PersistentVolume must be created in the openshift-insights namespace. - properties: - claim: - description: |- - claim is a required field that specifies the configuration of the PersistentVolumeClaim that will be used to store the Insights data archive. - The PersistentVolumeClaim must be created in the openshift-insights namespace. - properties: - name: - description: |- - name is a string that follows the DNS1123 subdomain format. - It must be at most 253 characters in length, and must consist only of lower case alphanumeric characters, '-' and '.', and must start and end with an alphanumeric character. - maxLength: 253 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist - of lower case alphanumeric characters, '-' or - '.', and must start and end with an alphanumeric - character. - rule: '!format.dns1123Subdomain().validate(self).hasValue()' - required: - - name - type: object - mountPath: - description: |- - mountPath is an optional field specifying the directory where the PVC will be mounted inside the Insights data gathering Pod. - When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. - The current default mount path is /var/lib/insights-operator - The path may not exceed 1024 characters and must not contain a colon. - maxLength: 1024 - type: string - x-kubernetes-validations: - - message: mountPath must not contain a colon - rule: '!self.contains('':'')' - required: - - claim - type: object - type: - description: |- - type is a required field that specifies the type of storage that will be used to store the Insights data archive. - Valid values are "PersistentVolume" and "Ephemeral". - When set to Ephemeral, the Insights data archive is stored in the ephemeral storage of the gathering job. - When set to PersistentVolume, the Insights data archive is stored in the PersistentVolume that is defined by the persistentVolume field. - enum: - - PersistentVolume - - Ephemeral - type: string - required: - - type - type: object - x-kubernetes-validations: - - message: persistentVolume is required when type is PersistentVolume, - and forbidden otherwise - rule: 'has(self.type) && self.type == ''PersistentVolume'' ? has(self.persistentVolume) - : !has(self.persistentVolume)' - type: object - type: object - status: - description: status holds observed values from the cluster. They may not - be overridden. - type: object - required: - - spec - type: object - served: true - storage: true - subresources: - status: {} diff --git a/config/v1alpha1/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers-TechPreviewNoUpgrade.crd.yaml b/config/v1alpha1/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers-TechPreviewNoUpgrade.crd.yaml deleted file mode 100644 index 92f6de4884b..00000000000 --- a/config/v1alpha1/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers-TechPreviewNoUpgrade.crd.yaml +++ /dev/null @@ -1,164 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - api-approved.openshift.io: https://github.com/openshift/api/pull/1245 - api.openshift.io/merged-by-featuregates: "true" - capability.openshift.io/name: Insights - include.release.openshift.io/ibm-cloud-managed: "true" - include.release.openshift.io/self-managed-high-availability: "true" - release.openshift.io/feature-set: TechPreviewNoUpgrade - name: insightsdatagathers.config.openshift.io -spec: - group: config.openshift.io - names: - kind: InsightsDataGather - listKind: InsightsDataGatherList - plural: insightsdatagathers - singular: insightsdatagather - scope: Cluster - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: |- - InsightsDataGather provides data gather configuration options for the the Insights Operator. - - Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. - 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: spec holds user settable values for configuration - properties: - gatherConfig: - description: gatherConfig spec attribute includes all the configuration - options related to gathering of the Insights data and its uploading - to the ingress. - properties: - dataPolicy: - description: |- - dataPolicy allows user to enable additional global obfuscation of the IP addresses and base domain in the Insights archive data. - Valid values are "None" and "ObfuscateNetworking". - When set to None the data is not obfuscated. - When set to ObfuscateNetworking the IP addresses and the cluster domain name are obfuscated. - When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. - enum: - - "" - - None - - ObfuscateNetworking - type: string - disabledGatherers: - description: |- - disabledGatherers is a list of gatherers to be excluded from the gathering. All the gatherers can be disabled by providing "all" value. - If all the gatherers are disabled, the Insights operator does not gather any data. - The format for the disabledGatherer should be: {gatherer}/{function} where the function is optional. - Gatherer consists of a lowercase letters only that may include underscores (_). - Function consists of a lowercase letters only that may include underscores (_) and is separated from the gatherer by a forward slash (/). - The particular gatherers IDs can be found at https://github.com/openshift/insights-operator/blob/master/docs/gathered-data.md. - Run the following command to get the names of last active gatherers: - "oc get insightsoperators.operator.openshift.io cluster -o json | jq '.status.gatherStatus.gatherers[].name'" - An example of disabling gatherers looks like this: `disabledGatherers: ["clusterconfig/machine_configs", "workloads/workload_info"]` - items: - description: disabledGatherer is a string that represents a - gatherer that should be disabled - maxLength: 256 - type: string - x-kubernetes-validations: - - message: disabledGatherer must be in the format of {gatherer}/{function} - where the gatherer and function are lowercase letters only - that may include underscores (_) and are separated by a - forward slash (/) if the function is provided - rule: self.matches("^[a-z]+[_a-z]*[a-z]([/a-z][_a-z]*)?[a-z]$") - maxItems: 100 - type: array - storage: - description: |- - storage is an optional field that allows user to define persistent storage for gathering jobs to store the Insights data archive. - If omitted, the gathering job will use ephemeral storage. - properties: - persistentVolume: - description: |- - persistentVolume is an optional field that specifies the PersistentVolume that will be used to store the Insights data archive. - The PersistentVolume must be created in the openshift-insights namespace. - properties: - claim: - description: |- - claim is a required field that specifies the configuration of the PersistentVolumeClaim that will be used to store the Insights data archive. - The PersistentVolumeClaim must be created in the openshift-insights namespace. - properties: - name: - description: |- - name is a string that follows the DNS1123 subdomain format. - It must be at most 253 characters in length, and must consist only of lower case alphanumeric characters, '-' and '.', and must start and end with an alphanumeric character. - maxLength: 253 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist - of lower case alphanumeric characters, '-' or - '.', and must start and end with an alphanumeric - character. - rule: '!format.dns1123Subdomain().validate(self).hasValue()' - required: - - name - type: object - mountPath: - description: |- - mountPath is an optional field specifying the directory where the PVC will be mounted inside the Insights data gathering Pod. - When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. - The current default mount path is /var/lib/insights-operator - The path may not exceed 1024 characters and must not contain a colon. - maxLength: 1024 - type: string - x-kubernetes-validations: - - message: mountPath must not contain a colon - rule: '!self.contains('':'')' - required: - - claim - type: object - type: - description: |- - type is a required field that specifies the type of storage that will be used to store the Insights data archive. - Valid values are "PersistentVolume" and "Ephemeral". - When set to Ephemeral, the Insights data archive is stored in the ephemeral storage of the gathering job. - When set to PersistentVolume, the Insights data archive is stored in the PersistentVolume that is defined by the persistentVolume field. - enum: - - PersistentVolume - - Ephemeral - type: string - required: - - type - type: object - x-kubernetes-validations: - - message: persistentVolume is required when type is PersistentVolume, - and forbidden otherwise - rule: 'has(self.type) && self.type == ''PersistentVolume'' ? has(self.persistentVolume) - : !has(self.persistentVolume)' - type: object - type: object - status: - description: status holds observed values from the cluster. They may not - be overridden. - type: object - required: - - spec - type: object - served: true - storage: true - subresources: - status: {} diff --git a/config/v1alpha1/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers-CustomNoUpgrade.crd.yaml b/config/v1alpha1/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers.crd.yaml similarity index 99% rename from config/v1alpha1/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers-CustomNoUpgrade.crd.yaml rename to config/v1alpha1/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers.crd.yaml index 28bbb740c55..3e9b415ae36 100644 --- a/config/v1alpha1/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers-CustomNoUpgrade.crd.yaml +++ b/config/v1alpha1/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers.crd.yaml @@ -7,7 +7,6 @@ metadata: capability.openshift.io/name: Insights include.release.openshift.io/ibm-cloud-managed: "true" include.release.openshift.io/self-managed-high-availability: "true" - release.openshift.io/feature-set: CustomNoUpgrade name: insightsdatagathers.config.openshift.io spec: group: config.openshift.io @@ -87,6 +86,7 @@ spec: rule: self.matches("^[a-z]+[_a-z]*[a-z]([/a-z][_a-z]*)?[a-z]$") maxItems: 100 type: array + x-kubernetes-list-type: atomic storage: description: |- storage is an optional field that allows user to define persistent storage for gathering jobs to store the Insights data archive. diff --git a/config/v1alpha1/zz_generated.featuregated-crd-manifests/insightsdatagathers.config.openshift.io/InsightsConfig.yaml b/config/v1alpha1/zz_generated.featuregated-crd-manifests/insightsdatagathers.config.openshift.io/InsightsConfig.yaml index 4e9b63a25d3..6e381df9b7f 100644 --- a/config/v1alpha1/zz_generated.featuregated-crd-manifests/insightsdatagathers.config.openshift.io/InsightsConfig.yaml +++ b/config/v1alpha1/zz_generated.featuregated-crd-manifests/insightsdatagathers.config.openshift.io/InsightsConfig.yaml @@ -87,6 +87,7 @@ spec: rule: self.matches("^[a-z]+[_a-z]*[a-z]([/a-z][_a-z]*)?[a-z]$") maxItems: 100 type: array + x-kubernetes-list-type: atomic storage: description: |- storage is an optional field that allows user to define persistent storage for gathering jobs to store the Insights data archive. diff --git a/config/v1alpha2/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers-DevPreviewNoUpgrade.crd.yaml b/config/v1alpha2/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers-DevPreviewNoUpgrade.crd.yaml deleted file mode 100644 index de4681b67cc..00000000000 --- a/config/v1alpha2/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers-DevPreviewNoUpgrade.crd.yaml +++ /dev/null @@ -1,232 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - api-approved.openshift.io: https://github.com/openshift/api/pull/2195 - api.openshift.io/merged-by-featuregates: "true" - capability.openshift.io/name: Insights - include.release.openshift.io/ibm-cloud-managed: "true" - include.release.openshift.io/self-managed-high-availability: "true" - release.openshift.io/feature-set: DevPreviewNoUpgrade - name: insightsdatagathers.config.openshift.io -spec: - group: config.openshift.io - names: - kind: InsightsDataGather - listKind: InsightsDataGatherList - plural: insightsdatagathers - singular: insightsdatagather - scope: Cluster - versions: - - name: v1alpha2 - schema: - openAPIV3Schema: - description: |- - InsightsDataGather provides data gather configuration options for the the Insights Operator. - - Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. - 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: spec holds user settable values for configuration - properties: - gatherConfig: - description: gatherConfig is an optional spec attribute that includes - all the configuration options related to gathering of the Insights - data and its uploading to the ingress. - properties: - dataPolicy: - description: |- - dataPolicy is an optional list of DataPolicyOptions that allows user to enable additional obfuscation of the Insights archive data. - It may not exceed 2 items and must not contain duplicates. - Valid values are ObfuscateNetworking and WorkloadNames. - When set to ObfuscateNetworking the IP addresses and the cluster domain name are obfuscated. - When set to WorkloadNames, the gathered data about cluster resources will not contain the workload names for your deployments. Resources UIDs will be used instead. - When omitted no obfuscation is applied. - items: - description: dataPolicyOption declares valid data policy options - enum: - - ObfuscateNetworking - - WorkloadNames - type: string - maxItems: 2 - type: array - x-kubernetes-list-type: atomic - x-kubernetes-validations: - - message: dataPolicy items must be unique - rule: self.all(x, self.exists_one(y, x == y)) - gatherers: - description: gatherers is a required field that specifies the - configuration of the gatherers. - properties: - custom: - description: |- - custom provides gathering configuration. - It is required when mode is Custom, and forbidden otherwise. - Custom configuration allows user to disable only a subset of gatherers. - Gatherers that are not explicitly disabled in custom configuration will run. - properties: - configs: - description: |- - configs is a required list of gatherers configurations that can be used to enable or disable specific gatherers. - It may not exceed 100 items and each gatherer can be present only once. - It is possible to disable an entire set of gatherers while allowing a specific function within that set. - The particular gatherers IDs can be found at https://github.com/openshift/insights-operator/blob/master/docs/gathered-data.md. - Run the following command to get the names of last active gatherers: - "oc get insightsoperators.operator.openshift.io cluster -o json | jq '.status.gatherStatus.gatherers[].name'" - items: - description: gathererConfig allows to configure specific - gatherers - properties: - name: - description: |- - name is the required name of a specific gatherer - It may not exceed 256 characters. - The format for a gatherer name is: {gatherer}/{function} where the function is optional. - Gatherer consists of a lowercase letters only that may include underscores (_). - Function consists of a lowercase letters only that may include underscores (_) and is separated from the gatherer by a forward slash (/). - The particular gatherers can be found at https://github.com/openshift/insights-operator/blob/master/docs/gathered-data.md. - Run the following command to get the names of last active gatherers: - "oc get insightsoperators.operator.openshift.io cluster -o json | jq '.status.gatherStatus.gatherers[].name'" - maxLength: 256 - type: string - x-kubernetes-validations: - - message: gatherer name must be in the format of - {gatherer}/{function} where the gatherer and - function are lowercase letters only that may - include underscores (_) and are separated by - a forward slash (/) if the function is provided - rule: self.matches("^[a-z]+[_a-z]*[a-z]([/a-z][_a-z]*)?[a-z]$") - state: - description: |- - state is a required field that allows you to configure specific gatherer. Valid values are "Enabled" and "Disabled". - When set to Enabled the gatherer will run. - When set to Disabled the gatherer will not run. - enum: - - Enabled - - Disabled - type: string - required: - - name - - state - type: object - maxItems: 100 - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - required: - - configs - type: object - mode: - description: |- - mode is a required field that specifies the mode for gatherers. Allowed values are All, None, and Custom. - When set to All, all gatherers wil run and gather data. - When set to None, all gatherers will be disabled and no data will be gathered. - When set to Custom, the custom configuration from the custom field will be applied. - enum: - - All - - None - - Custom - type: string - required: - - mode - type: object - x-kubernetes-validations: - - message: custom is required when mode is Custom, and forbidden - otherwise - rule: 'has(self.mode) && self.mode == ''Custom'' ? has(self.custom) - : !has(self.custom)' - storage: - description: |- - storage is an optional field that allows user to define persistent storage for gathering jobs to store the Insights data archive. - If omitted, the gathering job will use ephemeral storage. - properties: - persistentVolume: - description: |- - persistentVolume is an optional field that specifies the PersistentVolume that will be used to store the Insights data archive. - The PersistentVolume must be created in the openshift-insights namespace. - properties: - claim: - description: |- - claim is a required field that specifies the configuration of the PersistentVolumeClaim that will be used to store the Insights data archive. - The PersistentVolumeClaim must be created in the openshift-insights namespace. - properties: - name: - description: |- - name is a string that follows the DNS1123 subdomain format. - It must be at most 253 characters in length, and must consist only of lower case alphanumeric characters, '-' and '.', and must start and end with an alphanumeric character. - maxLength: 253 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist - of lower case alphanumeric characters, '-' or - '.', and must start and end with an alphanumeric - character. - rule: '!format.dns1123Subdomain().validate(self).hasValue()' - required: - - name - type: object - mountPath: - description: |- - mountPath is an optional field specifying the directory where the PVC will be mounted inside the Insights data gathering Pod. - When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. - The current default mount path is /var/lib/insights-operator - The path may not exceed 1024 characters and must not contain a colon. - maxLength: 1024 - type: string - x-kubernetes-validations: - - message: mountPath must not contain a colon - rule: '!self.contains('':'')' - required: - - claim - type: object - type: - description: |- - type is a required field that specifies the type of storage that will be used to store the Insights data archive. - Valid values are "PersistentVolume" and "Ephemeral". - When set to Ephemeral, the Insights data archive is stored in the ephemeral storage of the gathering job. - When set to PersistentVolume, the Insights data archive is stored in the PersistentVolume that is defined by the persistentVolume field. - enum: - - PersistentVolume - - Ephemeral - type: string - required: - - type - type: object - x-kubernetes-validations: - - message: persistentVolume is required when type is PersistentVolume, - and forbidden otherwise - rule: 'has(self.type) && self.type == ''PersistentVolume'' ? has(self.persistentVolume) - : !has(self.persistentVolume)' - required: - - gatherers - type: object - type: object - status: - description: status holds observed values from the cluster. They may not - be overridden. - type: object - required: - - spec - type: object - served: true - storage: true - subresources: - status: {} diff --git a/config/v1alpha2/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers-TechPreviewNoUpgrade.crd.yaml b/config/v1alpha2/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers-TechPreviewNoUpgrade.crd.yaml deleted file mode 100644 index 1f58fe39cc1..00000000000 --- a/config/v1alpha2/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers-TechPreviewNoUpgrade.crd.yaml +++ /dev/null @@ -1,232 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - api-approved.openshift.io: https://github.com/openshift/api/pull/2195 - api.openshift.io/merged-by-featuregates: "true" - capability.openshift.io/name: Insights - include.release.openshift.io/ibm-cloud-managed: "true" - include.release.openshift.io/self-managed-high-availability: "true" - release.openshift.io/feature-set: TechPreviewNoUpgrade - name: insightsdatagathers.config.openshift.io -spec: - group: config.openshift.io - names: - kind: InsightsDataGather - listKind: InsightsDataGatherList - plural: insightsdatagathers - singular: insightsdatagather - scope: Cluster - versions: - - name: v1alpha2 - schema: - openAPIV3Schema: - description: |- - InsightsDataGather provides data gather configuration options for the the Insights Operator. - - Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. - 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: spec holds user settable values for configuration - properties: - gatherConfig: - description: gatherConfig is an optional spec attribute that includes - all the configuration options related to gathering of the Insights - data and its uploading to the ingress. - properties: - dataPolicy: - description: |- - dataPolicy is an optional list of DataPolicyOptions that allows user to enable additional obfuscation of the Insights archive data. - It may not exceed 2 items and must not contain duplicates. - Valid values are ObfuscateNetworking and WorkloadNames. - When set to ObfuscateNetworking the IP addresses and the cluster domain name are obfuscated. - When set to WorkloadNames, the gathered data about cluster resources will not contain the workload names for your deployments. Resources UIDs will be used instead. - When omitted no obfuscation is applied. - items: - description: dataPolicyOption declares valid data policy options - enum: - - ObfuscateNetworking - - WorkloadNames - type: string - maxItems: 2 - type: array - x-kubernetes-list-type: atomic - x-kubernetes-validations: - - message: dataPolicy items must be unique - rule: self.all(x, self.exists_one(y, x == y)) - gatherers: - description: gatherers is a required field that specifies the - configuration of the gatherers. - properties: - custom: - description: |- - custom provides gathering configuration. - It is required when mode is Custom, and forbidden otherwise. - Custom configuration allows user to disable only a subset of gatherers. - Gatherers that are not explicitly disabled in custom configuration will run. - properties: - configs: - description: |- - configs is a required list of gatherers configurations that can be used to enable or disable specific gatherers. - It may not exceed 100 items and each gatherer can be present only once. - It is possible to disable an entire set of gatherers while allowing a specific function within that set. - The particular gatherers IDs can be found at https://github.com/openshift/insights-operator/blob/master/docs/gathered-data.md. - Run the following command to get the names of last active gatherers: - "oc get insightsoperators.operator.openshift.io cluster -o json | jq '.status.gatherStatus.gatherers[].name'" - items: - description: gathererConfig allows to configure specific - gatherers - properties: - name: - description: |- - name is the required name of a specific gatherer - It may not exceed 256 characters. - The format for a gatherer name is: {gatherer}/{function} where the function is optional. - Gatherer consists of a lowercase letters only that may include underscores (_). - Function consists of a lowercase letters only that may include underscores (_) and is separated from the gatherer by a forward slash (/). - The particular gatherers can be found at https://github.com/openshift/insights-operator/blob/master/docs/gathered-data.md. - Run the following command to get the names of last active gatherers: - "oc get insightsoperators.operator.openshift.io cluster -o json | jq '.status.gatherStatus.gatherers[].name'" - maxLength: 256 - type: string - x-kubernetes-validations: - - message: gatherer name must be in the format of - {gatherer}/{function} where the gatherer and - function are lowercase letters only that may - include underscores (_) and are separated by - a forward slash (/) if the function is provided - rule: self.matches("^[a-z]+[_a-z]*[a-z]([/a-z][_a-z]*)?[a-z]$") - state: - description: |- - state is a required field that allows you to configure specific gatherer. Valid values are "Enabled" and "Disabled". - When set to Enabled the gatherer will run. - When set to Disabled the gatherer will not run. - enum: - - Enabled - - Disabled - type: string - required: - - name - - state - type: object - maxItems: 100 - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - required: - - configs - type: object - mode: - description: |- - mode is a required field that specifies the mode for gatherers. Allowed values are All, None, and Custom. - When set to All, all gatherers wil run and gather data. - When set to None, all gatherers will be disabled and no data will be gathered. - When set to Custom, the custom configuration from the custom field will be applied. - enum: - - All - - None - - Custom - type: string - required: - - mode - type: object - x-kubernetes-validations: - - message: custom is required when mode is Custom, and forbidden - otherwise - rule: 'has(self.mode) && self.mode == ''Custom'' ? has(self.custom) - : !has(self.custom)' - storage: - description: |- - storage is an optional field that allows user to define persistent storage for gathering jobs to store the Insights data archive. - If omitted, the gathering job will use ephemeral storage. - properties: - persistentVolume: - description: |- - persistentVolume is an optional field that specifies the PersistentVolume that will be used to store the Insights data archive. - The PersistentVolume must be created in the openshift-insights namespace. - properties: - claim: - description: |- - claim is a required field that specifies the configuration of the PersistentVolumeClaim that will be used to store the Insights data archive. - The PersistentVolumeClaim must be created in the openshift-insights namespace. - properties: - name: - description: |- - name is a string that follows the DNS1123 subdomain format. - It must be at most 253 characters in length, and must consist only of lower case alphanumeric characters, '-' and '.', and must start and end with an alphanumeric character. - maxLength: 253 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist - of lower case alphanumeric characters, '-' or - '.', and must start and end with an alphanumeric - character. - rule: '!format.dns1123Subdomain().validate(self).hasValue()' - required: - - name - type: object - mountPath: - description: |- - mountPath is an optional field specifying the directory where the PVC will be mounted inside the Insights data gathering Pod. - When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. - The current default mount path is /var/lib/insights-operator - The path may not exceed 1024 characters and must not contain a colon. - maxLength: 1024 - type: string - x-kubernetes-validations: - - message: mountPath must not contain a colon - rule: '!self.contains('':'')' - required: - - claim - type: object - type: - description: |- - type is a required field that specifies the type of storage that will be used to store the Insights data archive. - Valid values are "PersistentVolume" and "Ephemeral". - When set to Ephemeral, the Insights data archive is stored in the ephemeral storage of the gathering job. - When set to PersistentVolume, the Insights data archive is stored in the PersistentVolume that is defined by the persistentVolume field. - enum: - - PersistentVolume - - Ephemeral - type: string - required: - - type - type: object - x-kubernetes-validations: - - message: persistentVolume is required when type is PersistentVolume, - and forbidden otherwise - rule: 'has(self.type) && self.type == ''PersistentVolume'' ? has(self.persistentVolume) - : !has(self.persistentVolume)' - required: - - gatherers - type: object - type: object - status: - description: status holds observed values from the cluster. They may not - be overridden. - type: object - required: - - spec - type: object - served: true - storage: true - subresources: - status: {} diff --git a/config/v1alpha2/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers-CustomNoUpgrade.crd.yaml b/config/v1alpha2/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers.crd.yaml similarity index 99% rename from config/v1alpha2/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers-CustomNoUpgrade.crd.yaml rename to config/v1alpha2/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers.crd.yaml index c656518b308..14559ef2785 100644 --- a/config/v1alpha2/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers-CustomNoUpgrade.crd.yaml +++ b/config/v1alpha2/zz_generated.crd-manifests/0000_10_config-operator_01_insightsdatagathers.crd.yaml @@ -7,7 +7,6 @@ metadata: capability.openshift.io/name: Insights include.release.openshift.io/ibm-cloud-managed: "true" include.release.openshift.io/self-managed-high-availability: "true" - release.openshift.io/feature-set: CustomNoUpgrade name: insightsdatagathers.config.openshift.io spec: group: config.openshift.io diff --git a/features.md b/features.md index f5231897023..c3cf20eeb28 100644 --- a/features.md +++ b/features.md @@ -55,8 +55,6 @@ | GCPDualStackInstall| | | Enabled | Enabled | | | Enabled | Enabled | | HyperShiftOnlyDynamicResourceAllocation| Enabled | | Enabled | | Enabled | | Enabled | | | ImageModeStatusReporting| | | Enabled | Enabled | | | Enabled | Enabled | -| InsightsConfig| | | Enabled | Enabled | | | Enabled | Enabled | -| InsightsOnDemandDataGather| | | Enabled | Enabled | | | Enabled | Enabled | | IrreconcilableMachineConfig| | | Enabled | Enabled | | | Enabled | Enabled | | KMSEncryption| | | Enabled | Enabled | | | Enabled | Enabled | | MachineAPIMigration| | | Enabled | Enabled | | | Enabled | Enabled | @@ -91,6 +89,8 @@ | HighlyAvailableArbiter| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | ImageStreamImportMode| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | ImageVolume| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | +| InsightsConfig| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | +| InsightsOnDemandDataGather| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | KMSv1| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | MachineConfigNodes| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | ManagedBootImages| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | diff --git a/features/features.go b/features/features.go index 711f0e3eae8..e9a31181d1d 100644 --- a/features/features.go +++ b/features/features.go @@ -195,6 +195,22 @@ var ( enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() + FeatureGatePreconfiguredUDNAddresses = newFeatureGate("PreconfiguredUDNAddresses"). + reportProblemsToJiraComponent("Networking/ovn-kubernetes"). + contactPerson("tssurya"). + productScope(ocpSpecific). + enhancementPR("https://github.com/ovn-kubernetes/ovn-kubernetes/pull/5246"). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). + mustRegister() + + FeatureGateAdminNetworkPolicy = newFeatureGate("AdminNetworkPolicy"). + reportProblemsToJiraComponent("Networking/ovn-kubernetes"). + contactPerson("tssurya"). + productScope(kubernetes). + enhancementPR("https://github.com/kubernetes/enhancements/issues/2091"). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). + mustRegister() + FeatureGateBackendQuotaGiB = newFeatureGate("EtcdBackendQuota"). reportProblemsToJiraComponent("etcd"). contactPerson("hasbro17"). @@ -486,7 +502,7 @@ var ( contactPerson("tremes"). productScope(ocpSpecific). enhancementPR(legacyFeatureGateWithoutEnhancement). - enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). + enableIn(configv1.Default, configv1.OKD, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateInsightsConfig = newFeatureGate("InsightsConfig"). @@ -494,7 +510,7 @@ var ( contactPerson("tremes"). productScope(ocpSpecific). enhancementPR(legacyFeatureGateWithoutEnhancement). - enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). + enableIn(configv1.Default, configv1.OKD, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateMetricsCollectionProfiles = newFeatureGate("MetricsCollectionProfiles"). diff --git a/insights/v1/zz_generated.crd-manifests/0000_10_insights_01_datagathers-DevPreviewNoUpgrade.crd.yaml b/insights/v1/zz_generated.crd-manifests/0000_10_insights_01_datagathers-DevPreviewNoUpgrade.crd.yaml deleted file mode 100644 index c35ebb5217c..00000000000 --- a/insights/v1/zz_generated.crd-manifests/0000_10_insights_01_datagathers-DevPreviewNoUpgrade.crd.yaml +++ /dev/null @@ -1,628 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - api-approved.openshift.io: https://github.com/openshift/api/pull/2448 - api.openshift.io/merged-by-featuregates: "true" - capability.openshift.io/name: Insights - include.release.openshift.io/ibm-cloud-managed: "true" - include.release.openshift.io/self-managed-high-availability: "true" - release.openshift.io/feature-set: DevPreviewNoUpgrade - name: datagathers.insights.openshift.io -spec: - group: insights.openshift.io - names: - kind: DataGather - listKind: DataGatherList - plural: datagathers - singular: datagather - scope: Cluster - versions: - - additionalPrinterColumns: - - description: DataGather start time - jsonPath: .status.startTime - name: StartTime - type: date - - description: DataGather finish time - jsonPath: .status.finishTime - name: FinishTime - type: date - - description: DataGather age - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1 - schema: - openAPIV3Schema: - description: |- - DataGather provides data gather configuration options and status for the particular Insights data gathering. - - Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). - 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: spec holds user settable values for configuration - properties: - dataPolicy: - description: |- - dataPolicy is an optional list of DataPolicyOptions that allows user to enable additional obfuscation of the Insights archive data. - It may not exceed 2 items and must not contain duplicates. - Valid values are ObfuscateNetworking and WorkloadNames. - When set to ObfuscateNetworking the IP addresses and the cluster domain name are obfuscated. - When set to WorkloadNames, the gathered data about cluster resources will not contain the workload names for your deployments. Resources UIDs will be used instead. - When omitted no obfuscation is applied. - items: - description: DataPolicyOption declares valid data policy types - enum: - - ObfuscateNetworking - - WorkloadNames - type: string - maxItems: 2 - minItems: 1 - type: array - x-kubernetes-list-type: atomic - x-kubernetes-validations: - - message: dataPolicy items must be unique - rule: self.all(x, self.exists_one(y, x == y)) - gatherers: - description: gatherers is a required field that specifies the configuration - of the gatherers. - properties: - custom: - description: |- - custom provides gathering configuration. - It is required when mode is Custom, and forbidden otherwise. - Custom configuration allows user to disable only a subset of gatherers. - Gatherers that are not explicitly disabled in custom configuration will run. - properties: - configs: - description: |- - configs is a required list of gatherers configurations that can be used to enable or disable specific gatherers. - It may not exceed 100 items and each gatherer can be present only once. - It is possible to disable an entire set of gatherers while allowing a specific function within that set. - The particular gatherers IDs can be found at https://github.com/openshift/insights-operator/blob/master/docs/gathered-data.md. - Run the following command to get the names of last active gatherers: - "oc get insightsoperators.operator.openshift.io cluster -o json | jq '.status.gatherStatus.gatherers[].name'" - items: - description: GathererConfig allows to configure specific - gatherers - properties: - name: - description: |- - name is the required name of a specific gatherer. - It may not exceed 256 characters. - The format for a gatherer name is: {gatherer}/{function} where the function is optional. - Gatherer consists of a lowercase letters only that may include underscores (_). - Function consists of a lowercase letters only that may include underscores (_) and is separated from the gatherer by a forward slash (/). - The particular gatherers can be found at https://github.com/openshift/insights-operator/blob/master/docs/gathered-data.md. - Run the following command to get the names of last active gatherers: - "oc get insightsoperators.operator.openshift.io cluster -o json | jq '.status.gatherStatus.gatherers[].name'" - maxLength: 256 - minLength: 1 - type: string - x-kubernetes-validations: - - message: gatherer name must be in the format of {gatherer}/{function} - where the gatherer and function are lowercase letters - only that may include underscores (_) and are separated - by a forward slash (/) if the function is provided - rule: self.matches("^[a-z]+[_a-z]*[a-z]([/a-z][_a-z]*)?[a-z]$") - state: - description: |- - state is a required field that allows you to configure specific gatherer. Valid values are "Enabled" and "Disabled". - When set to Enabled the gatherer will run. - When set to Disabled the gatherer will not run. - enum: - - Enabled - - Disabled - type: string - required: - - name - - state - type: object - maxItems: 100 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - required: - - configs - type: object - mode: - description: |- - mode is a required field that specifies the mode for gatherers. Allowed values are All and Custom. - When set to All, all gatherers will run and gather data. - When set to Custom, the custom configuration from the custom field will be applied. - enum: - - All - - Custom - type: string - required: - - mode - type: object - x-kubernetes-validations: - - message: custom is required when mode is Custom, and forbidden otherwise - rule: 'has(self.mode) && self.mode == ''Custom'' ? has(self.custom) - : !has(self.custom)' - storage: - description: |- - storage is an optional field that allows user to define persistent storage for gathering jobs to store the Insights data archive. - If omitted, the gathering job will use ephemeral storage. - properties: - persistentVolume: - description: |- - persistentVolume is an optional field that specifies the PersistentVolume that will be used to store the Insights data archive. - The PersistentVolume must be created in the openshift-insights namespace. - properties: - claim: - description: |- - claim is a required field that specifies the configuration of the PersistentVolumeClaim that will be used to store the Insights data archive. - The PersistentVolumeClaim must be created in the openshift-insights namespace. - properties: - name: - description: |- - name is the name of the PersistentVolumeClaim that will be used to store the Insights data archive. - It is a string that follows the DNS1123 subdomain format. - It must be at most 253 characters in length, and must consist only of lower case alphanumeric characters, '-' and '.', and must start and end with an alphanumeric character. - maxLength: 253 - minLength: 1 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist - of lower case alphanumeric characters, '-' or '.', - and must start and end with an alphanumeric character. - rule: '!format.dns1123Subdomain().validate(self).hasValue()' - required: - - name - type: object - mountPath: - description: |- - mountPath is an optional field specifying the directory where the PVC will be mounted inside the Insights data gathering Pod. - When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. - The current default mount path is /var/lib/insights-operator - The path may not exceed 1024 characters and must not contain a colon. - maxLength: 1024 - minLength: 1 - type: string - x-kubernetes-validations: - - message: mountPath must not contain a colon - rule: '!self.contains('':'')' - required: - - claim - type: object - type: - description: |- - type is a required field that specifies the type of storage that will be used to store the Insights data archive. - Valid values are "PersistentVolume" and "Ephemeral". - When set to Ephemeral, the Insights data archive is stored in the ephemeral storage of the gathering job. - When set to PersistentVolume, the Insights data archive is stored in the PersistentVolume that is - defined by the PersistentVolume field. - enum: - - PersistentVolume - - Ephemeral - type: string - required: - - type - type: object - x-kubernetes-validations: - - message: persistentVolume is required when type is PersistentVolume, - and forbidden otherwise - rule: 'has(self.type) && self.type == ''PersistentVolume'' ? has(self.persistentVolume) - : !has(self.persistentVolume)' - required: - - gatherers - type: object - status: - description: status holds observed values from the cluster. They may not - be overridden. - minProperties: 1 - properties: - conditions: - description: |- - conditions is an optional field that provides details on the status of the gatherer job. - It may not exceed 100 items and must not contain duplicates. - - The current condition types are DataUploaded, DataRecorded, DataProcessed, RemoteConfigurationNotAvailable, RemoteConfigurationInvalid - - The DataUploaded condition is used to represent whether or not the archive was successfully uploaded for further processing. - When it has a status of True and a reason of Succeeded, the archive was successfully uploaded. - When it has a status of Unknown and a reason of NoUploadYet, the upload has not occurred, or there was no data to upload. - When it has a status of False and a reason Failed, the upload failed. The accompanying message will include the specific error encountered. - - The DataRecorded condition is used to represent whether or not the archive was successfully recorded. - When it has a status of True and a reason of Succeeded, the archive was recorded successfully. - When it has a status of Unknown and a reason of NoDataGatheringYet, the data gathering process has not started yet. - When it has a status of False and a reason of RecordingFailed, the recording failed and a message will include the specific error encountered. - - The DataProcessed condition is used to represent whether or not the archive was processed by the processing service. - When it has a status of True and a reason of Processed, the data was processed successfully. - When it has a status of Unknown and a reason of NothingToProcessYet, there is no data to process at the moment. - When it has a status of False and a reason of Failure, processing failed and a message will include the specific error encountered. - - The RemoteConfigurationAvailable condition is used to represent whether the remote configuration is available. - When it has a status of Unknown and a reason of Unknown or RemoteConfigNotRequestedYet, the state of the remote configuration is unknown—typically at startup. - When it has a status of True and a reason of Succeeded, the configuration is available. - When it has a status of False and a reason of NoToken, the configuration was disabled by removing the cloud.openshift.com field from the pull secret. - When it has a status of False and a reason of DisabledByConfiguration, the configuration was disabled in insightsdatagather.config.openshift.io. - - The RemoteConfigurationValid condition is used to represent whether the remote configuration is valid. - When it has a status of Unknown and a reason of Unknown or NoValidationYet, the validity of the remote configuration is unknown—typically at startup. - When it has a status of True and a reason of Succeeded, the configuration is valid. - When it has a status of False and a reason of Invalid, the configuration is invalid. - - The Progressing condition is used to represent the phase of gathering - When it has a status of False and the reason is DataGatherPending, the gathering has not started yet. - When it has a status of True and reason is Gathering, the gathering is running. - When it has a status of False and reason is GatheringSucceeded, the gathering successfully finished. - When it has a status of False and reason is GatheringFailed, the gathering failed. - items: - description: Condition contains details for one aspect of the current - state of this API Resource. - 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. - 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 - maxItems: 100 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - type - x-kubernetes-list-type: map - finishTime: - description: finishTime is the time when Insights data gathering finished. - format: date-time - type: string - x-kubernetes-validations: - - message: finishTime is immutable once set - rule: self == oldSelf - gatherers: - description: gatherers is a list of active gatherers (and their statuses) - in the last gathering. - items: - description: |- - GathererStatus represents information about a particular - data gatherer. - properties: - conditions: - description: |- - conditions provide details on the status of each gatherer. - - The current condition type is DataGathered - - The DataGathered condition is used to represent whether or not the data was gathered by a gatherer specified by name. - When it has a status of True and a reason of GatheredOK, the data has been successfully gathered as expected. - When it has a status of False and a reason of NoData, no data was gathered—for example, when the resource is not present in the cluster. - When it has a status of False and a reason of GatherError, an error occurred and no data was gathered. - When it has a status of False and a reason of GatherPanic, a panic occurred during gathering and no data was collected. - When it has a status of False and a reason of GatherWithErrorReason, data was partially gathered or gathered with an error message. - items: - description: Condition contains details for one aspect of - the current state of this API Resource. - 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. - 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 - maxItems: 100 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - type - x-kubernetes-list-type: map - lastGatherSeconds: - description: lastGatherSeconds is required field that represents - the time spent gathering in seconds - format: int32 - minimum: 0 - type: integer - name: - description: |- - name is the required name of the gatherer. - It must contain at least 5 characters and may not exceed 256 characters. - maxLength: 256 - minLength: 5 - type: string - required: - - lastGatherSeconds - - name - type: object - maxItems: 100 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - insightsReport: - description: |- - insightsReport provides general Insights analysis results. - When omitted, this means no data gathering has taken place yet or the - corresponding Insights analysis (identified by "insightsRequestID") is not available. - properties: - downloadedTime: - description: downloadedTime is a required field that specifies - when the Insights report was last downloaded. - format: date-time - type: string - healthChecks: - description: |- - healthChecks is an optional field that provides basic information about active Insights - recommendations, which serve as proactive notifications for potential issues in the cluster. - When omitted, it means that there are no active recommendations in the cluster. - items: - description: HealthCheck represents an Insights health check - attributes. - properties: - advisorURI: - description: |- - advisorURI is required field that provides the URL link to the Insights Advisor. - The link must be a valid HTTPS URL and the maximum length is 2048 characters. - maxLength: 2048 - minLength: 1 - type: string - x-kubernetes-validations: - - message: advisorURI must be a valid HTTPS URL (e.g., https://example.com) - rule: isURL(self) && url(self).getScheme() == "https" - description: - description: |- - description is required field that provides basic description of the healthcheck. - It must contain at least 10 characters and may not exceed 2048 characters. - maxLength: 2048 - minLength: 10 - type: string - totalRisk: - description: |- - totalRisk is the required field of the healthcheck. - It is indicator of the total risk posed by the detected issue; combination of impact and likelihood. - Allowed values are Low, Moderate, Important and Critical. - The value represents the severity of the issue. - enum: - - Low - - Moderate - - Important - - Critical - type: string - required: - - advisorURI - - description - - totalRisk - type: object - maxItems: 100 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - advisorURI - - totalRisk - - description - x-kubernetes-list-type: map - uri: - description: |- - uri is a required field that provides the URL link from which the report was downloaded. - The link must be a valid HTTPS URL and the maximum length is 2048 characters. - maxLength: 2048 - minLength: 1 - type: string - x-kubernetes-validations: - - message: URI must be a valid HTTPS URL (e.g., https://example.com) - rule: isURL(self) && url(self).getScheme() == "https" - required: - - downloadedTime - - uri - type: object - insightsRequestID: - description: |- - insightsRequestID is an optional Insights request ID to track the status of the Insights analysis (in console.redhat.com processing pipeline) for the corresponding Insights data archive. - It may not exceed 256 characters and is immutable once set. - maxLength: 256 - minLength: 1 - type: string - x-kubernetes-validations: - - message: insightsRequestID is immutable once set - rule: self == oldSelf - relatedObjects: - description: |- - relatedObjects is an optional list of resources which are useful when debugging or inspecting the data gathering Pod - It may not exceed 100 items and must not contain duplicates. - items: - description: ObjectReference contains enough information to let - you inspect or modify the referred object. - properties: - group: - description: |- - group is required field that specifies the API Group of the Resource. - Enter empty string for the core group. - This value is empty or it should follow the DNS1123 subdomain format. - It must be at most 253 characters in length, and must consist only of lower case alphanumeric characters, '-' and '.', and must start with an alphabetic character and end with an alphanumeric character. - Example: "", "apps", "build.openshift.io", etc. - maxLength: 253 - minLength: 0 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist of lower - case alphanumeric characters, '-' or '.', and must start - with an alphabetic character and end with an alphanumeric - character. - rule: self.size() == 0 || !format.dns1123Subdomain().validate(self).hasValue() - name: - description: |- - name is required field that specifies the referent that follows the DNS1123 subdomain format. - It must be at most 253 characters in length, and must consist only of lower case alphanumeric characters, '-' and '.', and must start with an alphabetic character and end with an alphanumeric character.. - maxLength: 253 - minLength: 1 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist of lower - case alphanumeric characters, '-' or '.', and must start - with an alphabetic character and end with an alphanumeric - character. - rule: '!format.dns1123Subdomain().validate(self).hasValue()' - namespace: - description: |- - namespace if required field of the referent that follows the DNS1123 labels format. - It must be at most 63 characters in length, and must must consist of only lowercase alphanumeric characters and hyphens, and must start with an alphabetic character and end with an alphanumeric character. - maxLength: 63 - minLength: 1 - type: string - x-kubernetes-validations: - - message: the value must consist of only lowercase alphanumeric - characters and hyphens, and must start with an alphabetic - character and end with an alphanumeric character. - rule: '!format.dns1123Label().validate(self).hasValue()' - resource: - description: |- - resource is required field of the type that is being referenced and follows the DNS1035 format. - It is normally the plural form of the resource kind in lowercase. - It must be at most 63 characters in length, and must must consist of only lowercase alphanumeric characters and hyphens, and must start with an alphabetic character and end with an alphanumeric character. - Example: "deployments", "deploymentconfigs", "pods", etc. - maxLength: 63 - minLength: 1 - type: string - x-kubernetes-validations: - - message: the value must consist of only lowercase alphanumeric - characters and hyphens, and must start with an alphabetic - character and end with an alphanumeric character. - rule: '!format.dns1035Label().validate(self).hasValue()' - required: - - group - - name - - namespace - - resource - type: object - maxItems: 100 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - name - - namespace - x-kubernetes-list-type: map - startTime: - description: startTime is the time when Insights data gathering started. - format: date-time - type: string - x-kubernetes-validations: - - message: startTime is immutable once set - rule: self == oldSelf - type: object - x-kubernetes-validations: - - message: cannot remove insightsRequestID attribute from status - rule: (!has(oldSelf.insightsRequestID) || has(self.insightsRequestID)) - - message: cannot remove startTime attribute from status - rule: (!has(oldSelf.startTime) || has(self.startTime)) - - message: cannot remove finishTime attribute from status - rule: (!has(oldSelf.finishTime) || has(self.finishTime)) - required: - - spec - type: object - served: true - storage: true - subresources: - status: {} diff --git a/insights/v1/zz_generated.crd-manifests/0000_10_insights_01_datagathers-TechPreviewNoUpgrade.crd.yaml b/insights/v1/zz_generated.crd-manifests/0000_10_insights_01_datagathers-TechPreviewNoUpgrade.crd.yaml deleted file mode 100644 index b0dc6cb1df5..00000000000 --- a/insights/v1/zz_generated.crd-manifests/0000_10_insights_01_datagathers-TechPreviewNoUpgrade.crd.yaml +++ /dev/null @@ -1,628 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - api-approved.openshift.io: https://github.com/openshift/api/pull/2448 - api.openshift.io/merged-by-featuregates: "true" - capability.openshift.io/name: Insights - include.release.openshift.io/ibm-cloud-managed: "true" - include.release.openshift.io/self-managed-high-availability: "true" - release.openshift.io/feature-set: TechPreviewNoUpgrade - name: datagathers.insights.openshift.io -spec: - group: insights.openshift.io - names: - kind: DataGather - listKind: DataGatherList - plural: datagathers - singular: datagather - scope: Cluster - versions: - - additionalPrinterColumns: - - description: DataGather start time - jsonPath: .status.startTime - name: StartTime - type: date - - description: DataGather finish time - jsonPath: .status.finishTime - name: FinishTime - type: date - - description: DataGather age - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1 - schema: - openAPIV3Schema: - description: |- - DataGather provides data gather configuration options and status for the particular Insights data gathering. - - Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). - 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: spec holds user settable values for configuration - properties: - dataPolicy: - description: |- - dataPolicy is an optional list of DataPolicyOptions that allows user to enable additional obfuscation of the Insights archive data. - It may not exceed 2 items and must not contain duplicates. - Valid values are ObfuscateNetworking and WorkloadNames. - When set to ObfuscateNetworking the IP addresses and the cluster domain name are obfuscated. - When set to WorkloadNames, the gathered data about cluster resources will not contain the workload names for your deployments. Resources UIDs will be used instead. - When omitted no obfuscation is applied. - items: - description: DataPolicyOption declares valid data policy types - enum: - - ObfuscateNetworking - - WorkloadNames - type: string - maxItems: 2 - minItems: 1 - type: array - x-kubernetes-list-type: atomic - x-kubernetes-validations: - - message: dataPolicy items must be unique - rule: self.all(x, self.exists_one(y, x == y)) - gatherers: - description: gatherers is a required field that specifies the configuration - of the gatherers. - properties: - custom: - description: |- - custom provides gathering configuration. - It is required when mode is Custom, and forbidden otherwise. - Custom configuration allows user to disable only a subset of gatherers. - Gatherers that are not explicitly disabled in custom configuration will run. - properties: - configs: - description: |- - configs is a required list of gatherers configurations that can be used to enable or disable specific gatherers. - It may not exceed 100 items and each gatherer can be present only once. - It is possible to disable an entire set of gatherers while allowing a specific function within that set. - The particular gatherers IDs can be found at https://github.com/openshift/insights-operator/blob/master/docs/gathered-data.md. - Run the following command to get the names of last active gatherers: - "oc get insightsoperators.operator.openshift.io cluster -o json | jq '.status.gatherStatus.gatherers[].name'" - items: - description: GathererConfig allows to configure specific - gatherers - properties: - name: - description: |- - name is the required name of a specific gatherer. - It may not exceed 256 characters. - The format for a gatherer name is: {gatherer}/{function} where the function is optional. - Gatherer consists of a lowercase letters only that may include underscores (_). - Function consists of a lowercase letters only that may include underscores (_) and is separated from the gatherer by a forward slash (/). - The particular gatherers can be found at https://github.com/openshift/insights-operator/blob/master/docs/gathered-data.md. - Run the following command to get the names of last active gatherers: - "oc get insightsoperators.operator.openshift.io cluster -o json | jq '.status.gatherStatus.gatherers[].name'" - maxLength: 256 - minLength: 1 - type: string - x-kubernetes-validations: - - message: gatherer name must be in the format of {gatherer}/{function} - where the gatherer and function are lowercase letters - only that may include underscores (_) and are separated - by a forward slash (/) if the function is provided - rule: self.matches("^[a-z]+[_a-z]*[a-z]([/a-z][_a-z]*)?[a-z]$") - state: - description: |- - state is a required field that allows you to configure specific gatherer. Valid values are "Enabled" and "Disabled". - When set to Enabled the gatherer will run. - When set to Disabled the gatherer will not run. - enum: - - Enabled - - Disabled - type: string - required: - - name - - state - type: object - maxItems: 100 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - required: - - configs - type: object - mode: - description: |- - mode is a required field that specifies the mode for gatherers. Allowed values are All and Custom. - When set to All, all gatherers will run and gather data. - When set to Custom, the custom configuration from the custom field will be applied. - enum: - - All - - Custom - type: string - required: - - mode - type: object - x-kubernetes-validations: - - message: custom is required when mode is Custom, and forbidden otherwise - rule: 'has(self.mode) && self.mode == ''Custom'' ? has(self.custom) - : !has(self.custom)' - storage: - description: |- - storage is an optional field that allows user to define persistent storage for gathering jobs to store the Insights data archive. - If omitted, the gathering job will use ephemeral storage. - properties: - persistentVolume: - description: |- - persistentVolume is an optional field that specifies the PersistentVolume that will be used to store the Insights data archive. - The PersistentVolume must be created in the openshift-insights namespace. - properties: - claim: - description: |- - claim is a required field that specifies the configuration of the PersistentVolumeClaim that will be used to store the Insights data archive. - The PersistentVolumeClaim must be created in the openshift-insights namespace. - properties: - name: - description: |- - name is the name of the PersistentVolumeClaim that will be used to store the Insights data archive. - It is a string that follows the DNS1123 subdomain format. - It must be at most 253 characters in length, and must consist only of lower case alphanumeric characters, '-' and '.', and must start and end with an alphanumeric character. - maxLength: 253 - minLength: 1 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist - of lower case alphanumeric characters, '-' or '.', - and must start and end with an alphanumeric character. - rule: '!format.dns1123Subdomain().validate(self).hasValue()' - required: - - name - type: object - mountPath: - description: |- - mountPath is an optional field specifying the directory where the PVC will be mounted inside the Insights data gathering Pod. - When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. - The current default mount path is /var/lib/insights-operator - The path may not exceed 1024 characters and must not contain a colon. - maxLength: 1024 - minLength: 1 - type: string - x-kubernetes-validations: - - message: mountPath must not contain a colon - rule: '!self.contains('':'')' - required: - - claim - type: object - type: - description: |- - type is a required field that specifies the type of storage that will be used to store the Insights data archive. - Valid values are "PersistentVolume" and "Ephemeral". - When set to Ephemeral, the Insights data archive is stored in the ephemeral storage of the gathering job. - When set to PersistentVolume, the Insights data archive is stored in the PersistentVolume that is - defined by the PersistentVolume field. - enum: - - PersistentVolume - - Ephemeral - type: string - required: - - type - type: object - x-kubernetes-validations: - - message: persistentVolume is required when type is PersistentVolume, - and forbidden otherwise - rule: 'has(self.type) && self.type == ''PersistentVolume'' ? has(self.persistentVolume) - : !has(self.persistentVolume)' - required: - - gatherers - type: object - status: - description: status holds observed values from the cluster. They may not - be overridden. - minProperties: 1 - properties: - conditions: - description: |- - conditions is an optional field that provides details on the status of the gatherer job. - It may not exceed 100 items and must not contain duplicates. - - The current condition types are DataUploaded, DataRecorded, DataProcessed, RemoteConfigurationNotAvailable, RemoteConfigurationInvalid - - The DataUploaded condition is used to represent whether or not the archive was successfully uploaded for further processing. - When it has a status of True and a reason of Succeeded, the archive was successfully uploaded. - When it has a status of Unknown and a reason of NoUploadYet, the upload has not occurred, or there was no data to upload. - When it has a status of False and a reason Failed, the upload failed. The accompanying message will include the specific error encountered. - - The DataRecorded condition is used to represent whether or not the archive was successfully recorded. - When it has a status of True and a reason of Succeeded, the archive was recorded successfully. - When it has a status of Unknown and a reason of NoDataGatheringYet, the data gathering process has not started yet. - When it has a status of False and a reason of RecordingFailed, the recording failed and a message will include the specific error encountered. - - The DataProcessed condition is used to represent whether or not the archive was processed by the processing service. - When it has a status of True and a reason of Processed, the data was processed successfully. - When it has a status of Unknown and a reason of NothingToProcessYet, there is no data to process at the moment. - When it has a status of False and a reason of Failure, processing failed and a message will include the specific error encountered. - - The RemoteConfigurationAvailable condition is used to represent whether the remote configuration is available. - When it has a status of Unknown and a reason of Unknown or RemoteConfigNotRequestedYet, the state of the remote configuration is unknown—typically at startup. - When it has a status of True and a reason of Succeeded, the configuration is available. - When it has a status of False and a reason of NoToken, the configuration was disabled by removing the cloud.openshift.com field from the pull secret. - When it has a status of False and a reason of DisabledByConfiguration, the configuration was disabled in insightsdatagather.config.openshift.io. - - The RemoteConfigurationValid condition is used to represent whether the remote configuration is valid. - When it has a status of Unknown and a reason of Unknown or NoValidationYet, the validity of the remote configuration is unknown—typically at startup. - When it has a status of True and a reason of Succeeded, the configuration is valid. - When it has a status of False and a reason of Invalid, the configuration is invalid. - - The Progressing condition is used to represent the phase of gathering - When it has a status of False and the reason is DataGatherPending, the gathering has not started yet. - When it has a status of True and reason is Gathering, the gathering is running. - When it has a status of False and reason is GatheringSucceeded, the gathering successfully finished. - When it has a status of False and reason is GatheringFailed, the gathering failed. - items: - description: Condition contains details for one aspect of the current - state of this API Resource. - 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. - 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 - maxItems: 100 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - type - x-kubernetes-list-type: map - finishTime: - description: finishTime is the time when Insights data gathering finished. - format: date-time - type: string - x-kubernetes-validations: - - message: finishTime is immutable once set - rule: self == oldSelf - gatherers: - description: gatherers is a list of active gatherers (and their statuses) - in the last gathering. - items: - description: |- - GathererStatus represents information about a particular - data gatherer. - properties: - conditions: - description: |- - conditions provide details on the status of each gatherer. - - The current condition type is DataGathered - - The DataGathered condition is used to represent whether or not the data was gathered by a gatherer specified by name. - When it has a status of True and a reason of GatheredOK, the data has been successfully gathered as expected. - When it has a status of False and a reason of NoData, no data was gathered—for example, when the resource is not present in the cluster. - When it has a status of False and a reason of GatherError, an error occurred and no data was gathered. - When it has a status of False and a reason of GatherPanic, a panic occurred during gathering and no data was collected. - When it has a status of False and a reason of GatherWithErrorReason, data was partially gathered or gathered with an error message. - items: - description: Condition contains details for one aspect of - the current state of this API Resource. - 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. - 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 - maxItems: 100 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - type - x-kubernetes-list-type: map - lastGatherSeconds: - description: lastGatherSeconds is required field that represents - the time spent gathering in seconds - format: int32 - minimum: 0 - type: integer - name: - description: |- - name is the required name of the gatherer. - It must contain at least 5 characters and may not exceed 256 characters. - maxLength: 256 - minLength: 5 - type: string - required: - - lastGatherSeconds - - name - type: object - maxItems: 100 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - insightsReport: - description: |- - insightsReport provides general Insights analysis results. - When omitted, this means no data gathering has taken place yet or the - corresponding Insights analysis (identified by "insightsRequestID") is not available. - properties: - downloadedTime: - description: downloadedTime is a required field that specifies - when the Insights report was last downloaded. - format: date-time - type: string - healthChecks: - description: |- - healthChecks is an optional field that provides basic information about active Insights - recommendations, which serve as proactive notifications for potential issues in the cluster. - When omitted, it means that there are no active recommendations in the cluster. - items: - description: HealthCheck represents an Insights health check - attributes. - properties: - advisorURI: - description: |- - advisorURI is required field that provides the URL link to the Insights Advisor. - The link must be a valid HTTPS URL and the maximum length is 2048 characters. - maxLength: 2048 - minLength: 1 - type: string - x-kubernetes-validations: - - message: advisorURI must be a valid HTTPS URL (e.g., https://example.com) - rule: isURL(self) && url(self).getScheme() == "https" - description: - description: |- - description is required field that provides basic description of the healthcheck. - It must contain at least 10 characters and may not exceed 2048 characters. - maxLength: 2048 - minLength: 10 - type: string - totalRisk: - description: |- - totalRisk is the required field of the healthcheck. - It is indicator of the total risk posed by the detected issue; combination of impact and likelihood. - Allowed values are Low, Moderate, Important and Critical. - The value represents the severity of the issue. - enum: - - Low - - Moderate - - Important - - Critical - type: string - required: - - advisorURI - - description - - totalRisk - type: object - maxItems: 100 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - advisorURI - - totalRisk - - description - x-kubernetes-list-type: map - uri: - description: |- - uri is a required field that provides the URL link from which the report was downloaded. - The link must be a valid HTTPS URL and the maximum length is 2048 characters. - maxLength: 2048 - minLength: 1 - type: string - x-kubernetes-validations: - - message: URI must be a valid HTTPS URL (e.g., https://example.com) - rule: isURL(self) && url(self).getScheme() == "https" - required: - - downloadedTime - - uri - type: object - insightsRequestID: - description: |- - insightsRequestID is an optional Insights request ID to track the status of the Insights analysis (in console.redhat.com processing pipeline) for the corresponding Insights data archive. - It may not exceed 256 characters and is immutable once set. - maxLength: 256 - minLength: 1 - type: string - x-kubernetes-validations: - - message: insightsRequestID is immutable once set - rule: self == oldSelf - relatedObjects: - description: |- - relatedObjects is an optional list of resources which are useful when debugging or inspecting the data gathering Pod - It may not exceed 100 items and must not contain duplicates. - items: - description: ObjectReference contains enough information to let - you inspect or modify the referred object. - properties: - group: - description: |- - group is required field that specifies the API Group of the Resource. - Enter empty string for the core group. - This value is empty or it should follow the DNS1123 subdomain format. - It must be at most 253 characters in length, and must consist only of lower case alphanumeric characters, '-' and '.', and must start with an alphabetic character and end with an alphanumeric character. - Example: "", "apps", "build.openshift.io", etc. - maxLength: 253 - minLength: 0 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist of lower - case alphanumeric characters, '-' or '.', and must start - with an alphabetic character and end with an alphanumeric - character. - rule: self.size() == 0 || !format.dns1123Subdomain().validate(self).hasValue() - name: - description: |- - name is required field that specifies the referent that follows the DNS1123 subdomain format. - It must be at most 253 characters in length, and must consist only of lower case alphanumeric characters, '-' and '.', and must start with an alphabetic character and end with an alphanumeric character.. - maxLength: 253 - minLength: 1 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist of lower - case alphanumeric characters, '-' or '.', and must start - with an alphabetic character and end with an alphanumeric - character. - rule: '!format.dns1123Subdomain().validate(self).hasValue()' - namespace: - description: |- - namespace if required field of the referent that follows the DNS1123 labels format. - It must be at most 63 characters in length, and must must consist of only lowercase alphanumeric characters and hyphens, and must start with an alphabetic character and end with an alphanumeric character. - maxLength: 63 - minLength: 1 - type: string - x-kubernetes-validations: - - message: the value must consist of only lowercase alphanumeric - characters and hyphens, and must start with an alphabetic - character and end with an alphanumeric character. - rule: '!format.dns1123Label().validate(self).hasValue()' - resource: - description: |- - resource is required field of the type that is being referenced and follows the DNS1035 format. - It is normally the plural form of the resource kind in lowercase. - It must be at most 63 characters in length, and must must consist of only lowercase alphanumeric characters and hyphens, and must start with an alphabetic character and end with an alphanumeric character. - Example: "deployments", "deploymentconfigs", "pods", etc. - maxLength: 63 - minLength: 1 - type: string - x-kubernetes-validations: - - message: the value must consist of only lowercase alphanumeric - characters and hyphens, and must start with an alphabetic - character and end with an alphanumeric character. - rule: '!format.dns1035Label().validate(self).hasValue()' - required: - - group - - name - - namespace - - resource - type: object - maxItems: 100 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - name - - namespace - x-kubernetes-list-type: map - startTime: - description: startTime is the time when Insights data gathering started. - format: date-time - type: string - x-kubernetes-validations: - - message: startTime is immutable once set - rule: self == oldSelf - type: object - x-kubernetes-validations: - - message: cannot remove insightsRequestID attribute from status - rule: (!has(oldSelf.insightsRequestID) || has(self.insightsRequestID)) - - message: cannot remove startTime attribute from status - rule: (!has(oldSelf.startTime) || has(self.startTime)) - - message: cannot remove finishTime attribute from status - rule: (!has(oldSelf.finishTime) || has(self.finishTime)) - required: - - spec - type: object - served: true - storage: true - subresources: - status: {} diff --git a/insights/v1/zz_generated.crd-manifests/0000_10_insights_01_datagathers-CustomNoUpgrade.crd.yaml b/insights/v1/zz_generated.crd-manifests/0000_10_insights_01_datagathers.crd.yaml similarity index 99% rename from insights/v1/zz_generated.crd-manifests/0000_10_insights_01_datagathers-CustomNoUpgrade.crd.yaml rename to insights/v1/zz_generated.crd-manifests/0000_10_insights_01_datagathers.crd.yaml index 8dc51203bc9..5b8241c7471 100644 --- a/insights/v1/zz_generated.crd-manifests/0000_10_insights_01_datagathers-CustomNoUpgrade.crd.yaml +++ b/insights/v1/zz_generated.crd-manifests/0000_10_insights_01_datagathers.crd.yaml @@ -7,7 +7,6 @@ metadata: capability.openshift.io/name: Insights include.release.openshift.io/ibm-cloud-managed: "true" include.release.openshift.io/self-managed-high-availability: "true" - release.openshift.io/feature-set: CustomNoUpgrade name: datagathers.insights.openshift.io spec: group: insights.openshift.io diff --git a/insights/v1alpha1/types_insights.go b/insights/v1alpha1/types_insights.go index 256e6f41b4f..603485e5c2a 100644 --- a/insights/v1alpha1/types_insights.go +++ b/insights/v1alpha1/types_insights.go @@ -52,6 +52,8 @@ type DataGatherSpec struct { // Run the following command to get the names of last active gatherers: // "oc get insightsoperators.operator.openshift.io cluster -o json | jq '.status.gatherStatus.gatherers[].name'" // +kubebuilder:validation:MaxItems=100 + // +listType=map + // +listMapKey=name // +optional Gatherers []GathererConfig `json:"gatherers,omitempty"` // storage is an optional field that allows user to define persistent storage for gathering jobs to store the Insights data archive. @@ -201,6 +203,9 @@ type DataGatherStatus struct { FinishTime metav1.Time `json:"finishTime,omitempty"` // relatedObjects is a list of resources which are useful when debugging or inspecting the data // gathering Pod + // +listType=map + // +listMapKey=name + // +listMapKey=namespace // +kubebuilder:validation:MaxItems=100 // +optional RelatedObjects []ObjectReference `json:"relatedObjects,omitempty"` @@ -328,7 +333,7 @@ type ObjectReference struct { // It must be at most 253 characters in length. // +kubebuilder:validation:XValidation:rule="!format.dns1123Subdomain().validate(self).hasValue()",message="a lowercase RFC 1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character." // +kubebuilder:validation:MaxLength=253 - // +optional + // +required Namespace string `json:"namespace,omitempty"` } diff --git a/insights/v1alpha1/zz_generated.crd-manifests/0000_10_insights_01_datagathers-CustomNoUpgrade.crd.yaml b/insights/v1alpha1/zz_generated.crd-manifests/0000_10_insights_01_datagathers-CustomNoUpgrade.crd.yaml deleted file mode 100644 index db3fdce62e2..00000000000 --- a/insights/v1alpha1/zz_generated.crd-manifests/0000_10_insights_01_datagathers-CustomNoUpgrade.crd.yaml +++ /dev/null @@ -1,530 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - api-approved.openshift.io: https://github.com/openshift/api/pull/1365 - api.openshift.io/merged-by-featuregates: "true" - capability.openshift.io/name: Insights - include.release.openshift.io/ibm-cloud-managed: "true" - include.release.openshift.io/self-managed-high-availability: "true" - release.openshift.io/feature-set: CustomNoUpgrade - name: datagathers.insights.openshift.io -spec: - group: insights.openshift.io - names: - kind: DataGather - listKind: DataGatherList - plural: datagathers - singular: datagather - scope: Cluster - versions: - - additionalPrinterColumns: - - description: DataGather job state - jsonPath: .status.dataGatherState - name: State - type: string - - description: DataGather start time - jsonPath: .status.startTime - name: StartTime - type: date - - description: DataGather finish time - jsonPath: .status.finishTime - name: FinishTime - type: date - name: v1alpha1 - schema: - openAPIV3Schema: - description: |- - DataGather provides data gather configuration options and status for the particular Insights data gathering. - - Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. - 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: spec holds user settable values for configuration - properties: - dataPolicy: - description: |- - dataPolicy allows user to enable additional global obfuscation of the IP addresses and base domain - in the Insights archive data. Valid values are "ClearText" and "ObfuscateNetworking". - When set to ClearText the data is not obfuscated. - When set to ObfuscateNetworking the IP addresses and the cluster domain name are obfuscated. - When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. - The current default is ClearText. - enum: - - "" - - ClearText - - ObfuscateNetworking - type: string - gatherers: - description: |- - gatherers is an optional list of gatherers configurations. - The list must not exceed 100 items. - The particular gatherers IDs can be found at https://github.com/openshift/insights-operator/blob/master/docs/gathered-data.md. - Run the following command to get the names of last active gatherers: - "oc get insightsoperators.operator.openshift.io cluster -o json | jq '.status.gatherStatus.gatherers[].name'" - items: - description: gathererConfig allows to configure specific gatherers - properties: - name: - description: |- - name is the required name of specific gatherer - It must be at most 256 characters in length. - The format for the gatherer name should be: {gatherer}/{function} where the function is optional. - Gatherer consists of a lowercase letters only that may include underscores (_). - Function consists of a lowercase letters only that may include underscores (_) and is separated from the gatherer by a forward slash (/). - The particular gatherers can be found at https://github.com/openshift/insights-operator/blob/master/docs/gathered-data.md. - maxLength: 256 - type: string - x-kubernetes-validations: - - message: gatherer name must be in the format of {gatherer}/{function} - where the gatherer and function are lowercase letters only - that may include underscores (_) and are separated by a - forward slash (/) if the function is provided - rule: self.matches("^[a-z]+[_a-z]*[a-z]([/a-z][_a-z]*)?[a-z]$") - state: - description: |- - state allows you to configure specific gatherer. Valid values are "Enabled", "Disabled" and omitted. - When omitted, this means no opinion and the platform is left to choose a reasonable default. - The current default is Enabled. - enum: - - "" - - Enabled - - Disabled - type: string - required: - - name - type: object - maxItems: 100 - type: array - storage: - description: |- - storage is an optional field that allows user to define persistent storage for gathering jobs to store the Insights data archive. - If omitted, the gathering job will use ephemeral storage. - properties: - persistentVolume: - description: |- - persistentVolume is an optional field that specifies the PersistentVolume that will be used to store the Insights data archive. - The PersistentVolume must be created in the openshift-insights namespace. - properties: - claim: - description: |- - claim is a required field that specifies the configuration of the PersistentVolumeClaim that will be used to store the Insights data archive. - The PersistentVolumeClaim must be created in the openshift-insights namespace. - properties: - name: - description: |- - name is a string that follows the DNS1123 subdomain format. - It must be at most 253 characters in length, and must consist only of lower case alphanumeric characters, '-' and '.', and must start and end with an alphanumeric character. - maxLength: 253 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist - of lower case alphanumeric characters, '-' or '.', - and must start and end with an alphanumeric character. - rule: '!format.dns1123Subdomain().validate(self).hasValue()' - required: - - name - type: object - mountPath: - description: |- - mountPath is an optional field specifying the directory where the PVC will be mounted inside the Insights data gathering Pod. - When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. - The current default mount path is /var/lib/insights-operator - The path may not exceed 1024 characters and must not contain a colon. - maxLength: 1024 - type: string - x-kubernetes-validations: - - message: mountPath must not contain a colon - rule: '!self.contains('':'')' - required: - - claim - type: object - type: - description: |- - type is a required field that specifies the type of storage that will be used to store the Insights data archive. - Valid values are "PersistentVolume" and "Ephemeral". - When set to Ephemeral, the Insights data archive is stored in the ephemeral storage of the gathering job. - When set to PersistentVolume, the Insights data archive is stored in the PersistentVolume that is - defined by the PersistentVolume field. - enum: - - PersistentVolume - - Ephemeral - type: string - required: - - type - type: object - x-kubernetes-validations: - - message: persistentVolume is required when type is PersistentVolume, - and forbidden otherwise - rule: 'has(self.type) && self.type == ''PersistentVolume'' ? has(self.persistentVolume) - : !has(self.persistentVolume)' - type: object - status: - description: status holds observed values from the cluster. They may not - be overridden. - properties: - conditions: - description: conditions provide details on the status of the gatherer - job. - items: - description: Condition contains details for one aspect of the current - state of this API Resource. - 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. - 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 - maxItems: 100 - type: array - x-kubernetes-list-map-keys: - - type - x-kubernetes-list-type: map - dataGatherState: - description: dataGatherState reflects the current state of the data - gathering process. - enum: - - Running - - Completed - - Failed - - Pending - type: string - x-kubernetes-validations: - - message: dataGatherState cannot transition from Running to Pending - rule: '!(oldSelf == ''Running'' && self == ''Pending'')' - - message: dataGatherState cannot transition from Completed to Pending - rule: '!(oldSelf == ''Completed'' && self == ''Pending'')' - - message: dataGatherState cannot transition from Failed to Pending - rule: '!(oldSelf == ''Failed'' && self == ''Pending'')' - - message: dataGatherState cannot transition from Completed to Running - rule: '!(oldSelf == ''Completed'' && self == ''Running'')' - - message: dataGatherState cannot transition from Failed to Running - rule: '!(oldSelf == ''Failed'' && self == ''Running'')' - finishTime: - description: finishTime is the time when Insights data gathering finished. - format: date-time - type: string - x-kubernetes-validations: - - message: finishTime is immutable once set - rule: self == oldSelf - gatherers: - description: gatherers is a list of active gatherers (and their statuses) - in the last gathering. - items: - description: |- - gathererStatus represents information about a particular - data gatherer. - properties: - conditions: - description: conditions provide details on the status of each - gatherer. - items: - description: Condition contains details for one aspect of - the current state of this API Resource. - 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. - 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 - maxItems: 100 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - type - x-kubernetes-list-type: map - lastGatherDuration: - description: lastGatherDuration represents the time spent gathering. - pattern: ^(([0-9]+(?:\.[0-9]+)?(ns|us|µs|μs|ms|s|m|h))+)$ - type: string - name: - description: name is the name of the gatherer. - maxLength: 256 - minLength: 5 - type: string - required: - - conditions - - lastGatherDuration - - name - type: object - maxItems: 100 - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - insightsReport: - description: |- - insightsReport provides general Insights analysis results. - When omitted, this means no data gathering has taken place yet or the - corresponding Insights analysis (identified by "insightsRequestID") is not available. - properties: - downloadedAt: - description: |- - downloadedAt is the time when the last Insights report was downloaded. - An empty value means that there has not been any Insights report downloaded yet and - it usually appears in disconnected clusters (or clusters when the Insights data gathering is disabled). - format: date-time - type: string - healthChecks: - description: |- - healthChecks provides basic information about active Insights health checks - in a cluster. - items: - description: healthCheck represents an Insights health check - attributes. - properties: - advisorURI: - description: |- - advisorURI is required field that provides the URL link to the Insights Advisor. - The link must be a valid HTTPS URL and the maximum length is 2048 characters. - maxLength: 2048 - type: string - x-kubernetes-validations: - - message: advisorURI must be a valid HTTPS URL (e.g., https://example.com) - rule: isURL(self) && url(self).getScheme() == "https" - description: - description: description provides basic description of the - healtcheck. - maxLength: 2048 - minLength: 10 - type: string - state: - description: |- - state determines what the current state of the health check is. - Health check is enabled by default and can be disabled - by the user in the Insights advisor user interface. - enum: - - Enabled - - Disabled - type: string - totalRisk: - description: |- - totalRisk of the healthcheck. Indicator of the total risk posed - by the detected issue; combination of impact and likelihood. The values can be from 1 to 4, - and the higher the number, the more important the issue. - format: int32 - maximum: 4 - minimum: 1 - type: integer - required: - - advisorURI - - description - - state - - totalRisk - type: object - maxItems: 100 - type: array - x-kubernetes-list-type: atomic - uri: - description: |- - uri is optional field that provides the URL link from which the report was downloaded. - The link must be a valid HTTPS URL and the maximum length is 2048 characters. - maxLength: 2048 - type: string - x-kubernetes-validations: - - message: URI must be a valid HTTPS URL (e.g., https://example.com) - rule: isURL(self) && url(self).getScheme() == "https" - type: object - insightsRequestID: - description: |- - insightsRequestID is an Insights request ID to track the status of the - Insights analysis (in console.redhat.com processing pipeline) for the corresponding Insights data archive. - maxLength: 256 - type: string - x-kubernetes-validations: - - message: insightsRequestID is immutable once set - rule: self == oldSelf - relatedObjects: - description: |- - relatedObjects is a list of resources which are useful when debugging or inspecting the data - gathering Pod - items: - description: ObjectReference contains enough information to let - you inspect or modify the referred object. - properties: - group: - description: |- - group is the API Group of the Resource. - Enter empty string for the core group. - This value is empty or should follow the DNS1123 subdomain format and it must be at most 253 characters in length. - Example: "", "apps", "build.openshift.io", etc. - maxLength: 253 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist of lower - case alphanumeric characters, '-' or '.', and must start - and end with an alphanumeric character. - rule: self.size() == 0 || !format.dns1123Subdomain().validate(self).hasValue() - name: - description: |- - name of the referent that follows the DNS1123 subdomain format. - It must be at most 256 characters in length. - maxLength: 256 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist of lower - case alphanumeric characters, '-' or '.', and must start - and end with an alphanumeric character. - rule: '!format.dns1123Subdomain().validate(self).hasValue()' - namespace: - description: |- - namespace of the referent that follows the DNS1123 subdomain format. - It must be at most 253 characters in length. - maxLength: 253 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist of lower - case alphanumeric characters, '-' or '.', and must start - and end with an alphanumeric character. - rule: '!format.dns1123Subdomain().validate(self).hasValue()' - resource: - description: |- - resource is required field of the type that is being referenced. - It is normally the plural form of the resource kind in lowercase. - This value should consist of only lowercase alphanumeric characters and hyphens. - Example: "deployments", "deploymentconfigs", "pods", etc. - maxLength: 512 - type: string - x-kubernetes-validations: - - message: resource must consist of only lowercase alphanumeric - characters and hyphens - rule: self.matches("^[a-z0-9]([-a-z0-9]*[a-z0-9])?$") - required: - - group - - name - - resource - type: object - maxItems: 100 - type: array - startTime: - description: startTime is the time when Insights data gathering started. - format: date-time - type: string - x-kubernetes-validations: - - message: startTime is immutable once set - rule: self == oldSelf - type: object - x-kubernetes-validations: - - message: cannot remove insightsRequestID attribute from status - rule: (!has(oldSelf.insightsRequestID) || has(self.insightsRequestID)) - - message: cannot remove startTime attribute from status - rule: (!has(oldSelf.startTime) || has(self.startTime)) - - message: cannot remove finishTime attribute from status - rule: (!has(oldSelf.finishTime) || has(self.finishTime)) - - message: cannot remove dataGatherState attribute from status - rule: (!has(oldSelf.dataGatherState) || has(self.dataGatherState)) - required: - - spec - type: object - served: true - storage: true - subresources: - status: {} diff --git a/insights/v1alpha1/zz_generated.crd-manifests/0000_10_insights_01_datagathers-DevPreviewNoUpgrade.crd.yaml b/insights/v1alpha1/zz_generated.crd-manifests/0000_10_insights_01_datagathers-DevPreviewNoUpgrade.crd.yaml deleted file mode 100644 index 3e9982ae5d3..00000000000 --- a/insights/v1alpha1/zz_generated.crd-manifests/0000_10_insights_01_datagathers-DevPreviewNoUpgrade.crd.yaml +++ /dev/null @@ -1,530 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - api-approved.openshift.io: https://github.com/openshift/api/pull/1365 - api.openshift.io/merged-by-featuregates: "true" - capability.openshift.io/name: Insights - include.release.openshift.io/ibm-cloud-managed: "true" - include.release.openshift.io/self-managed-high-availability: "true" - release.openshift.io/feature-set: DevPreviewNoUpgrade - name: datagathers.insights.openshift.io -spec: - group: insights.openshift.io - names: - kind: DataGather - listKind: DataGatherList - plural: datagathers - singular: datagather - scope: Cluster - versions: - - additionalPrinterColumns: - - description: DataGather job state - jsonPath: .status.dataGatherState - name: State - type: string - - description: DataGather start time - jsonPath: .status.startTime - name: StartTime - type: date - - description: DataGather finish time - jsonPath: .status.finishTime - name: FinishTime - type: date - name: v1alpha1 - schema: - openAPIV3Schema: - description: |- - DataGather provides data gather configuration options and status for the particular Insights data gathering. - - Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. - 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: spec holds user settable values for configuration - properties: - dataPolicy: - description: |- - dataPolicy allows user to enable additional global obfuscation of the IP addresses and base domain - in the Insights archive data. Valid values are "ClearText" and "ObfuscateNetworking". - When set to ClearText the data is not obfuscated. - When set to ObfuscateNetworking the IP addresses and the cluster domain name are obfuscated. - When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. - The current default is ClearText. - enum: - - "" - - ClearText - - ObfuscateNetworking - type: string - gatherers: - description: |- - gatherers is an optional list of gatherers configurations. - The list must not exceed 100 items. - The particular gatherers IDs can be found at https://github.com/openshift/insights-operator/blob/master/docs/gathered-data.md. - Run the following command to get the names of last active gatherers: - "oc get insightsoperators.operator.openshift.io cluster -o json | jq '.status.gatherStatus.gatherers[].name'" - items: - description: gathererConfig allows to configure specific gatherers - properties: - name: - description: |- - name is the required name of specific gatherer - It must be at most 256 characters in length. - The format for the gatherer name should be: {gatherer}/{function} where the function is optional. - Gatherer consists of a lowercase letters only that may include underscores (_). - Function consists of a lowercase letters only that may include underscores (_) and is separated from the gatherer by a forward slash (/). - The particular gatherers can be found at https://github.com/openshift/insights-operator/blob/master/docs/gathered-data.md. - maxLength: 256 - type: string - x-kubernetes-validations: - - message: gatherer name must be in the format of {gatherer}/{function} - where the gatherer and function are lowercase letters only - that may include underscores (_) and are separated by a - forward slash (/) if the function is provided - rule: self.matches("^[a-z]+[_a-z]*[a-z]([/a-z][_a-z]*)?[a-z]$") - state: - description: |- - state allows you to configure specific gatherer. Valid values are "Enabled", "Disabled" and omitted. - When omitted, this means no opinion and the platform is left to choose a reasonable default. - The current default is Enabled. - enum: - - "" - - Enabled - - Disabled - type: string - required: - - name - type: object - maxItems: 100 - type: array - storage: - description: |- - storage is an optional field that allows user to define persistent storage for gathering jobs to store the Insights data archive. - If omitted, the gathering job will use ephemeral storage. - properties: - persistentVolume: - description: |- - persistentVolume is an optional field that specifies the PersistentVolume that will be used to store the Insights data archive. - The PersistentVolume must be created in the openshift-insights namespace. - properties: - claim: - description: |- - claim is a required field that specifies the configuration of the PersistentVolumeClaim that will be used to store the Insights data archive. - The PersistentVolumeClaim must be created in the openshift-insights namespace. - properties: - name: - description: |- - name is a string that follows the DNS1123 subdomain format. - It must be at most 253 characters in length, and must consist only of lower case alphanumeric characters, '-' and '.', and must start and end with an alphanumeric character. - maxLength: 253 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist - of lower case alphanumeric characters, '-' or '.', - and must start and end with an alphanumeric character. - rule: '!format.dns1123Subdomain().validate(self).hasValue()' - required: - - name - type: object - mountPath: - description: |- - mountPath is an optional field specifying the directory where the PVC will be mounted inside the Insights data gathering Pod. - When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. - The current default mount path is /var/lib/insights-operator - The path may not exceed 1024 characters and must not contain a colon. - maxLength: 1024 - type: string - x-kubernetes-validations: - - message: mountPath must not contain a colon - rule: '!self.contains('':'')' - required: - - claim - type: object - type: - description: |- - type is a required field that specifies the type of storage that will be used to store the Insights data archive. - Valid values are "PersistentVolume" and "Ephemeral". - When set to Ephemeral, the Insights data archive is stored in the ephemeral storage of the gathering job. - When set to PersistentVolume, the Insights data archive is stored in the PersistentVolume that is - defined by the PersistentVolume field. - enum: - - PersistentVolume - - Ephemeral - type: string - required: - - type - type: object - x-kubernetes-validations: - - message: persistentVolume is required when type is PersistentVolume, - and forbidden otherwise - rule: 'has(self.type) && self.type == ''PersistentVolume'' ? has(self.persistentVolume) - : !has(self.persistentVolume)' - type: object - status: - description: status holds observed values from the cluster. They may not - be overridden. - properties: - conditions: - description: conditions provide details on the status of the gatherer - job. - items: - description: Condition contains details for one aspect of the current - state of this API Resource. - 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. - 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 - maxItems: 100 - type: array - x-kubernetes-list-map-keys: - - type - x-kubernetes-list-type: map - dataGatherState: - description: dataGatherState reflects the current state of the data - gathering process. - enum: - - Running - - Completed - - Failed - - Pending - type: string - x-kubernetes-validations: - - message: dataGatherState cannot transition from Running to Pending - rule: '!(oldSelf == ''Running'' && self == ''Pending'')' - - message: dataGatherState cannot transition from Completed to Pending - rule: '!(oldSelf == ''Completed'' && self == ''Pending'')' - - message: dataGatherState cannot transition from Failed to Pending - rule: '!(oldSelf == ''Failed'' && self == ''Pending'')' - - message: dataGatherState cannot transition from Completed to Running - rule: '!(oldSelf == ''Completed'' && self == ''Running'')' - - message: dataGatherState cannot transition from Failed to Running - rule: '!(oldSelf == ''Failed'' && self == ''Running'')' - finishTime: - description: finishTime is the time when Insights data gathering finished. - format: date-time - type: string - x-kubernetes-validations: - - message: finishTime is immutable once set - rule: self == oldSelf - gatherers: - description: gatherers is a list of active gatherers (and their statuses) - in the last gathering. - items: - description: |- - gathererStatus represents information about a particular - data gatherer. - properties: - conditions: - description: conditions provide details on the status of each - gatherer. - items: - description: Condition contains details for one aspect of - the current state of this API Resource. - 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. - 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 - maxItems: 100 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - type - x-kubernetes-list-type: map - lastGatherDuration: - description: lastGatherDuration represents the time spent gathering. - pattern: ^(([0-9]+(?:\.[0-9]+)?(ns|us|µs|μs|ms|s|m|h))+)$ - type: string - name: - description: name is the name of the gatherer. - maxLength: 256 - minLength: 5 - type: string - required: - - conditions - - lastGatherDuration - - name - type: object - maxItems: 100 - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - insightsReport: - description: |- - insightsReport provides general Insights analysis results. - When omitted, this means no data gathering has taken place yet or the - corresponding Insights analysis (identified by "insightsRequestID") is not available. - properties: - downloadedAt: - description: |- - downloadedAt is the time when the last Insights report was downloaded. - An empty value means that there has not been any Insights report downloaded yet and - it usually appears in disconnected clusters (or clusters when the Insights data gathering is disabled). - format: date-time - type: string - healthChecks: - description: |- - healthChecks provides basic information about active Insights health checks - in a cluster. - items: - description: healthCheck represents an Insights health check - attributes. - properties: - advisorURI: - description: |- - advisorURI is required field that provides the URL link to the Insights Advisor. - The link must be a valid HTTPS URL and the maximum length is 2048 characters. - maxLength: 2048 - type: string - x-kubernetes-validations: - - message: advisorURI must be a valid HTTPS URL (e.g., https://example.com) - rule: isURL(self) && url(self).getScheme() == "https" - description: - description: description provides basic description of the - healtcheck. - maxLength: 2048 - minLength: 10 - type: string - state: - description: |- - state determines what the current state of the health check is. - Health check is enabled by default and can be disabled - by the user in the Insights advisor user interface. - enum: - - Enabled - - Disabled - type: string - totalRisk: - description: |- - totalRisk of the healthcheck. Indicator of the total risk posed - by the detected issue; combination of impact and likelihood. The values can be from 1 to 4, - and the higher the number, the more important the issue. - format: int32 - maximum: 4 - minimum: 1 - type: integer - required: - - advisorURI - - description - - state - - totalRisk - type: object - maxItems: 100 - type: array - x-kubernetes-list-type: atomic - uri: - description: |- - uri is optional field that provides the URL link from which the report was downloaded. - The link must be a valid HTTPS URL and the maximum length is 2048 characters. - maxLength: 2048 - type: string - x-kubernetes-validations: - - message: URI must be a valid HTTPS URL (e.g., https://example.com) - rule: isURL(self) && url(self).getScheme() == "https" - type: object - insightsRequestID: - description: |- - insightsRequestID is an Insights request ID to track the status of the - Insights analysis (in console.redhat.com processing pipeline) for the corresponding Insights data archive. - maxLength: 256 - type: string - x-kubernetes-validations: - - message: insightsRequestID is immutable once set - rule: self == oldSelf - relatedObjects: - description: |- - relatedObjects is a list of resources which are useful when debugging or inspecting the data - gathering Pod - items: - description: ObjectReference contains enough information to let - you inspect or modify the referred object. - properties: - group: - description: |- - group is the API Group of the Resource. - Enter empty string for the core group. - This value is empty or should follow the DNS1123 subdomain format and it must be at most 253 characters in length. - Example: "", "apps", "build.openshift.io", etc. - maxLength: 253 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist of lower - case alphanumeric characters, '-' or '.', and must start - and end with an alphanumeric character. - rule: self.size() == 0 || !format.dns1123Subdomain().validate(self).hasValue() - name: - description: |- - name of the referent that follows the DNS1123 subdomain format. - It must be at most 256 characters in length. - maxLength: 256 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist of lower - case alphanumeric characters, '-' or '.', and must start - and end with an alphanumeric character. - rule: '!format.dns1123Subdomain().validate(self).hasValue()' - namespace: - description: |- - namespace of the referent that follows the DNS1123 subdomain format. - It must be at most 253 characters in length. - maxLength: 253 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist of lower - case alphanumeric characters, '-' or '.', and must start - and end with an alphanumeric character. - rule: '!format.dns1123Subdomain().validate(self).hasValue()' - resource: - description: |- - resource is required field of the type that is being referenced. - It is normally the plural form of the resource kind in lowercase. - This value should consist of only lowercase alphanumeric characters and hyphens. - Example: "deployments", "deploymentconfigs", "pods", etc. - maxLength: 512 - type: string - x-kubernetes-validations: - - message: resource must consist of only lowercase alphanumeric - characters and hyphens - rule: self.matches("^[a-z0-9]([-a-z0-9]*[a-z0-9])?$") - required: - - group - - name - - resource - type: object - maxItems: 100 - type: array - startTime: - description: startTime is the time when Insights data gathering started. - format: date-time - type: string - x-kubernetes-validations: - - message: startTime is immutable once set - rule: self == oldSelf - type: object - x-kubernetes-validations: - - message: cannot remove insightsRequestID attribute from status - rule: (!has(oldSelf.insightsRequestID) || has(self.insightsRequestID)) - - message: cannot remove startTime attribute from status - rule: (!has(oldSelf.startTime) || has(self.startTime)) - - message: cannot remove finishTime attribute from status - rule: (!has(oldSelf.finishTime) || has(self.finishTime)) - - message: cannot remove dataGatherState attribute from status - rule: (!has(oldSelf.dataGatherState) || has(self.dataGatherState)) - required: - - spec - type: object - served: true - storage: true - subresources: - status: {} diff --git a/insights/v1alpha1/zz_generated.crd-manifests/0000_10_insights_01_datagathers-TechPreviewNoUpgrade.crd.yaml b/insights/v1alpha1/zz_generated.crd-manifests/0000_10_insights_01_datagathers.crd.yaml similarity index 99% rename from insights/v1alpha1/zz_generated.crd-manifests/0000_10_insights_01_datagathers-TechPreviewNoUpgrade.crd.yaml rename to insights/v1alpha1/zz_generated.crd-manifests/0000_10_insights_01_datagathers.crd.yaml index 1999de84d43..26b8e5c232f 100644 --- a/insights/v1alpha1/zz_generated.crd-manifests/0000_10_insights_01_datagathers-TechPreviewNoUpgrade.crd.yaml +++ b/insights/v1alpha1/zz_generated.crd-manifests/0000_10_insights_01_datagathers.crd.yaml @@ -7,7 +7,6 @@ metadata: capability.openshift.io/name: Insights include.release.openshift.io/ibm-cloud-managed: "true" include.release.openshift.io/self-managed-high-availability: "true" - release.openshift.io/feature-set: TechPreviewNoUpgrade name: datagathers.insights.openshift.io spec: group: insights.openshift.io @@ -113,6 +112,9 @@ spec: type: object maxItems: 100 type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map storage: description: |- storage is an optional field that allows user to define persistent storage for gathering jobs to store the Insights data archive. @@ -500,10 +502,15 @@ spec: required: - group - name + - namespace - resource type: object maxItems: 100 type: array + x-kubernetes-list-map-keys: + - name + - namespace + x-kubernetes-list-type: map startTime: description: startTime is the time when Insights data gathering started. format: date-time diff --git a/insights/v1alpha1/zz_generated.featuregated-crd-manifests/datagathers.insights.openshift.io/InsightsOnDemandDataGather.yaml b/insights/v1alpha1/zz_generated.featuregated-crd-manifests/datagathers.insights.openshift.io/InsightsOnDemandDataGather.yaml index 94aacff0320..10a5bfe96f4 100644 --- a/insights/v1alpha1/zz_generated.featuregated-crd-manifests/datagathers.insights.openshift.io/InsightsOnDemandDataGather.yaml +++ b/insights/v1alpha1/zz_generated.featuregated-crd-manifests/datagathers.insights.openshift.io/InsightsOnDemandDataGather.yaml @@ -113,6 +113,9 @@ spec: type: object maxItems: 100 type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map storage: description: |- storage is an optional field that allows user to define persistent storage for gathering jobs to store the Insights data archive. @@ -500,10 +503,15 @@ spec: required: - group - name + - namespace - resource type: object maxItems: 100 type: array + x-kubernetes-list-map-keys: + - name + - namespace + x-kubernetes-list-type: map startTime: description: startTime is the time when Insights data gathering started. format: date-time diff --git a/insights/v1alpha2/zz_generated.crd-manifests/0000_10_insights_01_datagathers-DevPreviewNoUpgrade.crd.yaml b/insights/v1alpha2/zz_generated.crd-manifests/0000_10_insights_01_datagathers-DevPreviewNoUpgrade.crd.yaml deleted file mode 100644 index fa34c6de2bb..00000000000 --- a/insights/v1alpha2/zz_generated.crd-manifests/0000_10_insights_01_datagathers-DevPreviewNoUpgrade.crd.yaml +++ /dev/null @@ -1,603 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - api-approved.openshift.io: https://github.com/openshift/api/pull/2248 - api.openshift.io/merged-by-featuregates: "true" - capability.openshift.io/name: Insights - include.release.openshift.io/ibm-cloud-managed: "true" - include.release.openshift.io/self-managed-high-availability: "true" - release.openshift.io/feature-set: DevPreviewNoUpgrade - name: datagathers.insights.openshift.io -spec: - group: insights.openshift.io - names: - kind: DataGather - listKind: DataGatherList - plural: datagathers - singular: datagather - scope: Cluster - versions: - - additionalPrinterColumns: - - description: DataGather start time - jsonPath: .status.startTime - name: StartTime - type: date - - description: DataGather finish time - jsonPath: .status.finishTime - name: FinishTime - type: date - name: v1alpha2 - schema: - openAPIV3Schema: - description: |- - DataGather provides data gather configuration options and status for the particular Insights data gathering. - - Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. - 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: spec holds user settable values for configuration - properties: - dataPolicy: - description: |- - dataPolicy is an optional list of DataPolicyOptions that allows user to enable additional obfuscation of the Insights archive data. - It may not exceed 2 items and must not contain duplicates. - Valid values are ObfuscateNetworking and WorkloadNames. - When set to ObfuscateNetworking the IP addresses and the cluster domain name are obfuscated. - When set to WorkloadNames, the gathered data about cluster resources will not contain the workload names for your deployments. Resources UIDs will be used instead. - When omitted no obfuscation is applied. - items: - description: dataPolicyOption declares valid data policy types - enum: - - ObfuscateNetworking - - WorkloadNames - type: string - maxItems: 2 - type: array - x-kubernetes-list-type: atomic - x-kubernetes-validations: - - message: dataPolicy items must be unique - rule: self.all(x, self.exists_one(y, x == y)) - gatherers: - description: |- - gatherers is an optional field that specifies the configuration of the gatherers. - If omitted, all gatherers will be run. - properties: - custom: - description: |- - custom provides gathering configuration. - It is required when mode is Custom, and forbidden otherwise. - Custom configuration allows user to disable only a subset of gatherers. - Gatherers that are not explicitly disabled in custom configuration will run. - properties: - configs: - description: |- - configs is a required list of gatherers configurations that can be used to enable or disable specific gatherers. - It may not exceed 100 items and each gatherer can be present only once. - It is possible to disable an entire set of gatherers while allowing a specific function within that set. - The particular gatherers IDs can be found at https://github.com/openshift/insights-operator/blob/master/docs/gathered-data.md. - Run the following command to get the names of last active gatherers: - "oc get insightsoperators.operator.openshift.io cluster -o json | jq '.status.gatherStatus.gatherers[].name'" - items: - description: gathererConfig allows to configure specific - gatherers - properties: - name: - description: |- - name is the required name of a specific gatherer - It may not exceed 256 characters. - The format for a gatherer name is: {gatherer}/{function} where the function is optional. - Gatherer consists of a lowercase letters only that may include underscores (_). - Function consists of a lowercase letters only that may include underscores (_) and is separated from the gatherer by a forward slash (/). - The particular gatherers can be found at https://github.com/openshift/insights-operator/blob/master/docs/gathered-data.md. - Run the following command to get the names of last active gatherers: - "oc get insightsoperators.operator.openshift.io cluster -o json | jq '.status.gatherStatus.gatherers[].name'" - maxLength: 256 - type: string - x-kubernetes-validations: - - message: gatherer name must be in the format of {gatherer}/{function} - where the gatherer and function are lowercase letters - only that may include underscores (_) and are separated - by a forward slash (/) if the function is provided - rule: self.matches("^[a-z]+[_a-z]*[a-z]([/a-z][_a-z]*)?[a-z]$") - state: - description: |- - state is a required field that allows you to configure specific gatherer. Valid values are "Enabled" and "Disabled". - When set to Enabled the gatherer will run. - When set to Disabled the gatherer will not run. - enum: - - Enabled - - Disabled - type: string - required: - - name - - state - type: object - maxItems: 100 - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - required: - - configs - type: object - mode: - description: |- - mode is a required field that specifies the mode for gatherers. Allowed values are All and Custom. - When set to All, all gatherers wil run and gather data. - When set to Custom, the custom configuration from the custom field will be applied. - enum: - - All - - Custom - type: string - required: - - mode - type: object - x-kubernetes-validations: - - message: custom is required when mode is Custom, and forbidden otherwise - rule: 'has(self.mode) && self.mode == ''Custom'' ? has(self.custom) - : !has(self.custom)' - storage: - description: |- - storage is an optional field that allows user to define persistent storage for gathering jobs to store the Insights data archive. - If omitted, the gathering job will use ephemeral storage. - properties: - persistentVolume: - description: |- - persistentVolume is an optional field that specifies the PersistentVolume that will be used to store the Insights data archive. - The PersistentVolume must be created in the openshift-insights namespace. - properties: - claim: - description: |- - claim is a required field that specifies the configuration of the PersistentVolumeClaim that will be used to store the Insights data archive. - The PersistentVolumeClaim must be created in the openshift-insights namespace. - properties: - name: - description: |- - name is a string that follows the DNS1123 subdomain format. - It must be at most 253 characters in length, and must consist only of lower case alphanumeric characters, '-' and '.', and must start and end with an alphanumeric character. - maxLength: 253 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist - of lower case alphanumeric characters, '-' or '.', - and must start and end with an alphanumeric character. - rule: '!format.dns1123Subdomain().validate(self).hasValue()' - required: - - name - type: object - mountPath: - description: |- - mountPath is an optional field specifying the directory where the PVC will be mounted inside the Insights data gathering Pod. - When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. - The current default mount path is /var/lib/insights-operator - The path may not exceed 1024 characters and must not contain a colon. - maxLength: 1024 - type: string - x-kubernetes-validations: - - message: mountPath must not contain a colon - rule: '!self.contains('':'')' - required: - - claim - type: object - type: - description: |- - type is a required field that specifies the type of storage that will be used to store the Insights data archive. - Valid values are "PersistentVolume" and "Ephemeral". - When set to Ephemeral, the Insights data archive is stored in the ephemeral storage of the gathering job. - When set to PersistentVolume, the Insights data archive is stored in the PersistentVolume that is - defined by the PersistentVolume field. - enum: - - PersistentVolume - - Ephemeral - type: string - required: - - type - type: object - x-kubernetes-validations: - - message: persistentVolume is required when type is PersistentVolume, - and forbidden otherwise - rule: 'has(self.type) && self.type == ''PersistentVolume'' ? has(self.persistentVolume) - : !has(self.persistentVolume)' - type: object - status: - description: status holds observed values from the cluster. They may not - be overridden. - properties: - conditions: - description: |- - conditions is an optional field that provides details on the status of the gatherer job. - It may not exceed 100 items and must not contain duplicates. - - The current condition types are DataUploaded, DataRecorded, DataProcessed, RemoteConfigurationNotAvailable, RemoteConfigurationInvalid - - The DataUploaded condition is used to represent whether or not the archive was successfully uploaded for further processing. - When it has a status of True and a reason of Succeeded, the archive was successfully uploaded. - When it has a status of Unknown and a reason of NoUploadYet, the upload has not occurred, or there was no data to upload. - When it has a status of False and a reason Failed, the upload failed. The accompanying message will include the specific error encountered. - - The DataRecorded condition is used to represent whether or not the archive was successfully recorded. - When it has a status of True and a reason of Succeeded, the archive was recorded successfully. - When it has a status of Unknown and a reason of NoDataGatheringYet, the data gathering process has not started yet. - When it has a status of False and a reason of RecordingFailed, the recording failed and a message will include the specific error encountered. - - The DataProcessed condition is used to represent whether or not the archive was processed by the processing service. - When it has a status of True and a reason of Processed, the data was processed successfully. - When it has a status of Unknown and a reason of NothingToProcessYet, there is no data to process at the moment. - When it has a status of False and a reason of Failure, processing failed and a message will include the specific error encountered. - - The RemoteConfigurationAvailable condition is used to represent whether the remote configuration is available. - When it has a status of Unknown and a reason of Unknown or RemoteConfigNotRequestedYet, the state of the remote configuration is unknown—typically at startup. - When it has a status of True and a reason of Succeeded, the configuration is available. - When it has a status of False and a reason of NoToken, the configuration was disabled by removing the cloud.openshift.com field from the pull secret. - When it has a status of False and a reason of DisabledByConfiguration, the configuration was disabled in insightsdatagather.config.openshift.io. - - The RemoteConfigurationValid condition is used to represent whether the remote configuration is valid. - When it has a status of Unknown and a reason of Unknown or NoValidationYet, the validity of the remote configuration is unknown—typically at startup. - When it has a status of True and a reason of Succeeded, the configuration is valid. - When it has a status of False and a reason of Invalid, the configuration is invalid. - - The Progressing condition is used to represent the phase of gathering - When it has a status of False and the reason is DataGatherPending, the gathering has not started yet. - When it has a status of True and reason is Gathering, the gathering is running. - When it has a status of False and reason is GatheringSucceeded, the gathering succesfully finished. - When it has a status of False and reason is GatheringFailed, the gathering failed. - items: - description: Condition contains details for one aspect of the current - state of this API Resource. - 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. - 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 - maxItems: 100 - type: array - x-kubernetes-list-map-keys: - - type - x-kubernetes-list-type: map - finishTime: - description: finishTime is the time when Insights data gathering finished. - format: date-time - type: string - x-kubernetes-validations: - - message: finishTime is immutable once set - rule: self == oldSelf - gatherers: - description: gatherers is a list of active gatherers (and their statuses) - in the last gathering. - items: - description: |- - gathererStatus represents information about a particular - data gatherer. - properties: - conditions: - description: |- - conditions provide details on the status of each gatherer. - - The current condition type is DataGathered - - The DataGathered condition is used to represent whether or not the data was gathered by a gatherer specified by name. - When it has a status of True and a reason of GatheredOK, the data has been successfully gathered as expected. - When it has a status of False and a reason of NoData, no data was gathered—for example, when the resource is not present in the cluster. - When it has a status of False and a reason of GatherError, an error occurred and no data was gathered. - When it has a status of False and a reason of GatherPanic, a panic occurred during gathering and no data was collected. - When it has a status of False and a reason of GatherWithErrorReason, data was partially gathered or gathered with an error message. - items: - description: Condition contains details for one aspect of - the current state of this API Resource. - 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. - 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 - maxItems: 100 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - type - x-kubernetes-list-type: map - lastGatherSeconds: - description: lastGatherSeconds is required field that represents - the time spent gathering in seconds - format: int32 - minimum: 0 - type: integer - name: - description: |- - name is the required name of the gatherer. - It must contain at least 5 characters and may not exceed 256 characters. - maxLength: 256 - minLength: 5 - type: string - required: - - lastGatherSeconds - - name - type: object - maxItems: 100 - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - insightsReport: - description: |- - insightsReport provides general Insights analysis results. - When omitted, this means no data gathering has taken place yet or the - corresponding Insights analysis (identified by "insightsRequestID") is not available. - properties: - downloadedTime: - description: |- - downloadedTime is an optional time when the last Insights report was downloaded. - An empty value means that there has not been any Insights report downloaded yet and - it usually appears in disconnected clusters (or clusters when the Insights data gathering is disabled). - format: date-time - type: string - healthChecks: - description: |- - healthChecks provides basic information about active Insights health checks - in a cluster. - items: - description: healthCheck represents an Insights health check - attributes. - properties: - advisorURI: - description: |- - advisorURI is required field that provides the URL link to the Insights Advisor. - The link must be a valid HTTPS URL and the maximum length is 2048 characters. - maxLength: 2048 - type: string - x-kubernetes-validations: - - message: advisorURI must be a valid HTTPS URL (e.g., https://example.com) - rule: isURL(self) && url(self).getScheme() == "https" - description: - description: |- - description is required field that provides basic description of the healtcheck. - It must contain at least 10 characters and may not exceed 2048 characters. - maxLength: 2048 - minLength: 10 - type: string - totalRisk: - description: |- - totalRisk is the required field of the healthcheck. - It is indicator of the total risk posed by the detected issue; combination of impact and likelihood. - Allowed values are Low, Medium, Important and Critical. - The value represents the severity of the issue. - enum: - - Low - - Moderate - - Important - - Critical - type: string - required: - - advisorURI - - description - - totalRisk - type: object - maxItems: 100 - type: array - x-kubernetes-list-map-keys: - - advisorURI - - totalRisk - - description - x-kubernetes-list-type: map - uri: - description: |- - uri is optional field that provides the URL link from which the report was downloaded. - The link must be a valid HTTPS URL and the maximum length is 2048 characters. - maxLength: 2048 - type: string - x-kubernetes-validations: - - message: URI must be a valid HTTPS URL (e.g., https://example.com) - rule: isURL(self) && url(self).getScheme() == "https" - type: object - insightsRequestID: - description: |- - insightsRequestID is an optional Insights request ID to track the status of the Insights analysis (in console.redhat.com processing pipeline) for the corresponding Insights data archive. - It may not exceed 256 characters and is immutable once set. - maxLength: 256 - type: string - x-kubernetes-validations: - - message: insightsRequestID is immutable once set - rule: self == oldSelf - relatedObjects: - description: |- - relatedObjects is an optional list of resources which are useful when debugging or inspecting the data gathering Pod - It may not exceed 100 items and must not contain duplicates. - items: - description: ObjectReference contains enough information to let - you inspect or modify the referred object. - properties: - group: - description: |- - group is required field that specifies the API Group of the Resource. - Enter empty string for the core group. - This value is empty or it should follow the DNS1123 subdomain format. - It must be at most 253 characters in length, and must consist only of lower case alphanumeric characters, '-' and '.', and must start with an alphabetic character and end with an alphanumeric character. - Example: "", "apps", "build.openshift.io", etc. - maxLength: 253 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist of lower - case alphanumeric characters, '-' or '.', and must start - with an alphabetic character and end with an alphanumeric - character. - rule: self.size() == 0 || !format.dns1123Subdomain().validate(self).hasValue() - name: - description: |- - name is required field that specifies the referent that follows the DNS1123 subdomain format. - It must be at most 253 characters in length, and must consist only of lower case alphanumeric characters, '-' and '.', and must start with an alphabetic character and end with an alphanumeric character.. - maxLength: 253 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist of lower - case alphanumeric characters, '-' or '.', and must start - with an alphabetic character and end with an alphanumeric - character. - rule: '!format.dns1123Subdomain().validate(self).hasValue()' - namespace: - description: |- - namespace if required field of the referent that follows the DNS1123 labels format. - It must be at most 63 characters in length, and must must consist of only lowercase alphanumeric characters and hyphens, and must start with an alphabetic character and end with an alphanumeric character. - maxLength: 63 - type: string - x-kubernetes-validations: - - message: the value must consist of only lowercase alphanumeric - characters and hyphens, and must start with an alphabetic - character and end with an alphanumeric character. - rule: '!format.dns1123Label().validate(self).hasValue()' - resource: - description: |- - resource is required field of the type that is being referenced and follows the DNS1035 format. - It is normally the plural form of the resource kind in lowercase. - It must be at most 63 characters in length, and must must consist of only lowercase alphanumeric characters and hyphens, and must start with an alphabetic character and end with an alphanumeric character. - Example: "deployments", "deploymentconfigs", "pods", etc. - maxLength: 63 - type: string - x-kubernetes-validations: - - message: the value must consist of only lowercase alphanumeric - characters and hyphens, and must start with an alphabetic - character and end with an alphanumeric character. - rule: '!format.dns1035Label().validate(self).hasValue()' - required: - - group - - name - - namespace - - resource - type: object - maxItems: 100 - type: array - x-kubernetes-list-map-keys: - - name - - namespace - x-kubernetes-list-type: map - startTime: - description: startTime is the time when Insights data gathering started. - format: date-time - type: string - x-kubernetes-validations: - - message: startTime is immutable once set - rule: self == oldSelf - type: object - x-kubernetes-validations: - - message: cannot remove insightsRequestID attribute from status - rule: (!has(oldSelf.insightsRequestID) || has(self.insightsRequestID)) - - message: cannot remove startTime attribute from status - rule: (!has(oldSelf.startTime) || has(self.startTime)) - - message: cannot remove finishTime attribute from status - rule: (!has(oldSelf.finishTime) || has(self.finishTime)) - required: - - spec - type: object - served: true - storage: true - subresources: - status: {} diff --git a/insights/v1alpha2/zz_generated.crd-manifests/0000_10_insights_01_datagathers-TechPreviewNoUpgrade.crd.yaml b/insights/v1alpha2/zz_generated.crd-manifests/0000_10_insights_01_datagathers-TechPreviewNoUpgrade.crd.yaml deleted file mode 100644 index 9f9bc50ef06..00000000000 --- a/insights/v1alpha2/zz_generated.crd-manifests/0000_10_insights_01_datagathers-TechPreviewNoUpgrade.crd.yaml +++ /dev/null @@ -1,603 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - api-approved.openshift.io: https://github.com/openshift/api/pull/2248 - api.openshift.io/merged-by-featuregates: "true" - capability.openshift.io/name: Insights - include.release.openshift.io/ibm-cloud-managed: "true" - include.release.openshift.io/self-managed-high-availability: "true" - release.openshift.io/feature-set: TechPreviewNoUpgrade - name: datagathers.insights.openshift.io -spec: - group: insights.openshift.io - names: - kind: DataGather - listKind: DataGatherList - plural: datagathers - singular: datagather - scope: Cluster - versions: - - additionalPrinterColumns: - - description: DataGather start time - jsonPath: .status.startTime - name: StartTime - type: date - - description: DataGather finish time - jsonPath: .status.finishTime - name: FinishTime - type: date - name: v1alpha2 - schema: - openAPIV3Schema: - description: |- - DataGather provides data gather configuration options and status for the particular Insights data gathering. - - Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. - 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: spec holds user settable values for configuration - properties: - dataPolicy: - description: |- - dataPolicy is an optional list of DataPolicyOptions that allows user to enable additional obfuscation of the Insights archive data. - It may not exceed 2 items and must not contain duplicates. - Valid values are ObfuscateNetworking and WorkloadNames. - When set to ObfuscateNetworking the IP addresses and the cluster domain name are obfuscated. - When set to WorkloadNames, the gathered data about cluster resources will not contain the workload names for your deployments. Resources UIDs will be used instead. - When omitted no obfuscation is applied. - items: - description: dataPolicyOption declares valid data policy types - enum: - - ObfuscateNetworking - - WorkloadNames - type: string - maxItems: 2 - type: array - x-kubernetes-list-type: atomic - x-kubernetes-validations: - - message: dataPolicy items must be unique - rule: self.all(x, self.exists_one(y, x == y)) - gatherers: - description: |- - gatherers is an optional field that specifies the configuration of the gatherers. - If omitted, all gatherers will be run. - properties: - custom: - description: |- - custom provides gathering configuration. - It is required when mode is Custom, and forbidden otherwise. - Custom configuration allows user to disable only a subset of gatherers. - Gatherers that are not explicitly disabled in custom configuration will run. - properties: - configs: - description: |- - configs is a required list of gatherers configurations that can be used to enable or disable specific gatherers. - It may not exceed 100 items and each gatherer can be present only once. - It is possible to disable an entire set of gatherers while allowing a specific function within that set. - The particular gatherers IDs can be found at https://github.com/openshift/insights-operator/blob/master/docs/gathered-data.md. - Run the following command to get the names of last active gatherers: - "oc get insightsoperators.operator.openshift.io cluster -o json | jq '.status.gatherStatus.gatherers[].name'" - items: - description: gathererConfig allows to configure specific - gatherers - properties: - name: - description: |- - name is the required name of a specific gatherer - It may not exceed 256 characters. - The format for a gatherer name is: {gatherer}/{function} where the function is optional. - Gatherer consists of a lowercase letters only that may include underscores (_). - Function consists of a lowercase letters only that may include underscores (_) and is separated from the gatherer by a forward slash (/). - The particular gatherers can be found at https://github.com/openshift/insights-operator/blob/master/docs/gathered-data.md. - Run the following command to get the names of last active gatherers: - "oc get insightsoperators.operator.openshift.io cluster -o json | jq '.status.gatherStatus.gatherers[].name'" - maxLength: 256 - type: string - x-kubernetes-validations: - - message: gatherer name must be in the format of {gatherer}/{function} - where the gatherer and function are lowercase letters - only that may include underscores (_) and are separated - by a forward slash (/) if the function is provided - rule: self.matches("^[a-z]+[_a-z]*[a-z]([/a-z][_a-z]*)?[a-z]$") - state: - description: |- - state is a required field that allows you to configure specific gatherer. Valid values are "Enabled" and "Disabled". - When set to Enabled the gatherer will run. - When set to Disabled the gatherer will not run. - enum: - - Enabled - - Disabled - type: string - required: - - name - - state - type: object - maxItems: 100 - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - required: - - configs - type: object - mode: - description: |- - mode is a required field that specifies the mode for gatherers. Allowed values are All and Custom. - When set to All, all gatherers wil run and gather data. - When set to Custom, the custom configuration from the custom field will be applied. - enum: - - All - - Custom - type: string - required: - - mode - type: object - x-kubernetes-validations: - - message: custom is required when mode is Custom, and forbidden otherwise - rule: 'has(self.mode) && self.mode == ''Custom'' ? has(self.custom) - : !has(self.custom)' - storage: - description: |- - storage is an optional field that allows user to define persistent storage for gathering jobs to store the Insights data archive. - If omitted, the gathering job will use ephemeral storage. - properties: - persistentVolume: - description: |- - persistentVolume is an optional field that specifies the PersistentVolume that will be used to store the Insights data archive. - The PersistentVolume must be created in the openshift-insights namespace. - properties: - claim: - description: |- - claim is a required field that specifies the configuration of the PersistentVolumeClaim that will be used to store the Insights data archive. - The PersistentVolumeClaim must be created in the openshift-insights namespace. - properties: - name: - description: |- - name is a string that follows the DNS1123 subdomain format. - It must be at most 253 characters in length, and must consist only of lower case alphanumeric characters, '-' and '.', and must start and end with an alphanumeric character. - maxLength: 253 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist - of lower case alphanumeric characters, '-' or '.', - and must start and end with an alphanumeric character. - rule: '!format.dns1123Subdomain().validate(self).hasValue()' - required: - - name - type: object - mountPath: - description: |- - mountPath is an optional field specifying the directory where the PVC will be mounted inside the Insights data gathering Pod. - When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. - The current default mount path is /var/lib/insights-operator - The path may not exceed 1024 characters and must not contain a colon. - maxLength: 1024 - type: string - x-kubernetes-validations: - - message: mountPath must not contain a colon - rule: '!self.contains('':'')' - required: - - claim - type: object - type: - description: |- - type is a required field that specifies the type of storage that will be used to store the Insights data archive. - Valid values are "PersistentVolume" and "Ephemeral". - When set to Ephemeral, the Insights data archive is stored in the ephemeral storage of the gathering job. - When set to PersistentVolume, the Insights data archive is stored in the PersistentVolume that is - defined by the PersistentVolume field. - enum: - - PersistentVolume - - Ephemeral - type: string - required: - - type - type: object - x-kubernetes-validations: - - message: persistentVolume is required when type is PersistentVolume, - and forbidden otherwise - rule: 'has(self.type) && self.type == ''PersistentVolume'' ? has(self.persistentVolume) - : !has(self.persistentVolume)' - type: object - status: - description: status holds observed values from the cluster. They may not - be overridden. - properties: - conditions: - description: |- - conditions is an optional field that provides details on the status of the gatherer job. - It may not exceed 100 items and must not contain duplicates. - - The current condition types are DataUploaded, DataRecorded, DataProcessed, RemoteConfigurationNotAvailable, RemoteConfigurationInvalid - - The DataUploaded condition is used to represent whether or not the archive was successfully uploaded for further processing. - When it has a status of True and a reason of Succeeded, the archive was successfully uploaded. - When it has a status of Unknown and a reason of NoUploadYet, the upload has not occurred, or there was no data to upload. - When it has a status of False and a reason Failed, the upload failed. The accompanying message will include the specific error encountered. - - The DataRecorded condition is used to represent whether or not the archive was successfully recorded. - When it has a status of True and a reason of Succeeded, the archive was recorded successfully. - When it has a status of Unknown and a reason of NoDataGatheringYet, the data gathering process has not started yet. - When it has a status of False and a reason of RecordingFailed, the recording failed and a message will include the specific error encountered. - - The DataProcessed condition is used to represent whether or not the archive was processed by the processing service. - When it has a status of True and a reason of Processed, the data was processed successfully. - When it has a status of Unknown and a reason of NothingToProcessYet, there is no data to process at the moment. - When it has a status of False and a reason of Failure, processing failed and a message will include the specific error encountered. - - The RemoteConfigurationAvailable condition is used to represent whether the remote configuration is available. - When it has a status of Unknown and a reason of Unknown or RemoteConfigNotRequestedYet, the state of the remote configuration is unknown—typically at startup. - When it has a status of True and a reason of Succeeded, the configuration is available. - When it has a status of False and a reason of NoToken, the configuration was disabled by removing the cloud.openshift.com field from the pull secret. - When it has a status of False and a reason of DisabledByConfiguration, the configuration was disabled in insightsdatagather.config.openshift.io. - - The RemoteConfigurationValid condition is used to represent whether the remote configuration is valid. - When it has a status of Unknown and a reason of Unknown or NoValidationYet, the validity of the remote configuration is unknown—typically at startup. - When it has a status of True and a reason of Succeeded, the configuration is valid. - When it has a status of False and a reason of Invalid, the configuration is invalid. - - The Progressing condition is used to represent the phase of gathering - When it has a status of False and the reason is DataGatherPending, the gathering has not started yet. - When it has a status of True and reason is Gathering, the gathering is running. - When it has a status of False and reason is GatheringSucceeded, the gathering succesfully finished. - When it has a status of False and reason is GatheringFailed, the gathering failed. - items: - description: Condition contains details for one aspect of the current - state of this API Resource. - 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. - 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 - maxItems: 100 - type: array - x-kubernetes-list-map-keys: - - type - x-kubernetes-list-type: map - finishTime: - description: finishTime is the time when Insights data gathering finished. - format: date-time - type: string - x-kubernetes-validations: - - message: finishTime is immutable once set - rule: self == oldSelf - gatherers: - description: gatherers is a list of active gatherers (and their statuses) - in the last gathering. - items: - description: |- - gathererStatus represents information about a particular - data gatherer. - properties: - conditions: - description: |- - conditions provide details on the status of each gatherer. - - The current condition type is DataGathered - - The DataGathered condition is used to represent whether or not the data was gathered by a gatherer specified by name. - When it has a status of True and a reason of GatheredOK, the data has been successfully gathered as expected. - When it has a status of False and a reason of NoData, no data was gathered—for example, when the resource is not present in the cluster. - When it has a status of False and a reason of GatherError, an error occurred and no data was gathered. - When it has a status of False and a reason of GatherPanic, a panic occurred during gathering and no data was collected. - When it has a status of False and a reason of GatherWithErrorReason, data was partially gathered or gathered with an error message. - items: - description: Condition contains details for one aspect of - the current state of this API Resource. - 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. - 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 - maxItems: 100 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - type - x-kubernetes-list-type: map - lastGatherSeconds: - description: lastGatherSeconds is required field that represents - the time spent gathering in seconds - format: int32 - minimum: 0 - type: integer - name: - description: |- - name is the required name of the gatherer. - It must contain at least 5 characters and may not exceed 256 characters. - maxLength: 256 - minLength: 5 - type: string - required: - - lastGatherSeconds - - name - type: object - maxItems: 100 - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - insightsReport: - description: |- - insightsReport provides general Insights analysis results. - When omitted, this means no data gathering has taken place yet or the - corresponding Insights analysis (identified by "insightsRequestID") is not available. - properties: - downloadedTime: - description: |- - downloadedTime is an optional time when the last Insights report was downloaded. - An empty value means that there has not been any Insights report downloaded yet and - it usually appears in disconnected clusters (or clusters when the Insights data gathering is disabled). - format: date-time - type: string - healthChecks: - description: |- - healthChecks provides basic information about active Insights health checks - in a cluster. - items: - description: healthCheck represents an Insights health check - attributes. - properties: - advisorURI: - description: |- - advisorURI is required field that provides the URL link to the Insights Advisor. - The link must be a valid HTTPS URL and the maximum length is 2048 characters. - maxLength: 2048 - type: string - x-kubernetes-validations: - - message: advisorURI must be a valid HTTPS URL (e.g., https://example.com) - rule: isURL(self) && url(self).getScheme() == "https" - description: - description: |- - description is required field that provides basic description of the healtcheck. - It must contain at least 10 characters and may not exceed 2048 characters. - maxLength: 2048 - minLength: 10 - type: string - totalRisk: - description: |- - totalRisk is the required field of the healthcheck. - It is indicator of the total risk posed by the detected issue; combination of impact and likelihood. - Allowed values are Low, Medium, Important and Critical. - The value represents the severity of the issue. - enum: - - Low - - Moderate - - Important - - Critical - type: string - required: - - advisorURI - - description - - totalRisk - type: object - maxItems: 100 - type: array - x-kubernetes-list-map-keys: - - advisorURI - - totalRisk - - description - x-kubernetes-list-type: map - uri: - description: |- - uri is optional field that provides the URL link from which the report was downloaded. - The link must be a valid HTTPS URL and the maximum length is 2048 characters. - maxLength: 2048 - type: string - x-kubernetes-validations: - - message: URI must be a valid HTTPS URL (e.g., https://example.com) - rule: isURL(self) && url(self).getScheme() == "https" - type: object - insightsRequestID: - description: |- - insightsRequestID is an optional Insights request ID to track the status of the Insights analysis (in console.redhat.com processing pipeline) for the corresponding Insights data archive. - It may not exceed 256 characters and is immutable once set. - maxLength: 256 - type: string - x-kubernetes-validations: - - message: insightsRequestID is immutable once set - rule: self == oldSelf - relatedObjects: - description: |- - relatedObjects is an optional list of resources which are useful when debugging or inspecting the data gathering Pod - It may not exceed 100 items and must not contain duplicates. - items: - description: ObjectReference contains enough information to let - you inspect or modify the referred object. - properties: - group: - description: |- - group is required field that specifies the API Group of the Resource. - Enter empty string for the core group. - This value is empty or it should follow the DNS1123 subdomain format. - It must be at most 253 characters in length, and must consist only of lower case alphanumeric characters, '-' and '.', and must start with an alphabetic character and end with an alphanumeric character. - Example: "", "apps", "build.openshift.io", etc. - maxLength: 253 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist of lower - case alphanumeric characters, '-' or '.', and must start - with an alphabetic character and end with an alphanumeric - character. - rule: self.size() == 0 || !format.dns1123Subdomain().validate(self).hasValue() - name: - description: |- - name is required field that specifies the referent that follows the DNS1123 subdomain format. - It must be at most 253 characters in length, and must consist only of lower case alphanumeric characters, '-' and '.', and must start with an alphabetic character and end with an alphanumeric character.. - maxLength: 253 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist of lower - case alphanumeric characters, '-' or '.', and must start - with an alphabetic character and end with an alphanumeric - character. - rule: '!format.dns1123Subdomain().validate(self).hasValue()' - namespace: - description: |- - namespace if required field of the referent that follows the DNS1123 labels format. - It must be at most 63 characters in length, and must must consist of only lowercase alphanumeric characters and hyphens, and must start with an alphabetic character and end with an alphanumeric character. - maxLength: 63 - type: string - x-kubernetes-validations: - - message: the value must consist of only lowercase alphanumeric - characters and hyphens, and must start with an alphabetic - character and end with an alphanumeric character. - rule: '!format.dns1123Label().validate(self).hasValue()' - resource: - description: |- - resource is required field of the type that is being referenced and follows the DNS1035 format. - It is normally the plural form of the resource kind in lowercase. - It must be at most 63 characters in length, and must must consist of only lowercase alphanumeric characters and hyphens, and must start with an alphabetic character and end with an alphanumeric character. - Example: "deployments", "deploymentconfigs", "pods", etc. - maxLength: 63 - type: string - x-kubernetes-validations: - - message: the value must consist of only lowercase alphanumeric - characters and hyphens, and must start with an alphabetic - character and end with an alphanumeric character. - rule: '!format.dns1035Label().validate(self).hasValue()' - required: - - group - - name - - namespace - - resource - type: object - maxItems: 100 - type: array - x-kubernetes-list-map-keys: - - name - - namespace - x-kubernetes-list-type: map - startTime: - description: startTime is the time when Insights data gathering started. - format: date-time - type: string - x-kubernetes-validations: - - message: startTime is immutable once set - rule: self == oldSelf - type: object - x-kubernetes-validations: - - message: cannot remove insightsRequestID attribute from status - rule: (!has(oldSelf.insightsRequestID) || has(self.insightsRequestID)) - - message: cannot remove startTime attribute from status - rule: (!has(oldSelf.startTime) || has(self.startTime)) - - message: cannot remove finishTime attribute from status - rule: (!has(oldSelf.finishTime) || has(self.finishTime)) - required: - - spec - type: object - served: true - storage: true - subresources: - status: {} diff --git a/insights/v1alpha2/zz_generated.crd-manifests/0000_10_insights_01_datagathers-CustomNoUpgrade.crd.yaml b/insights/v1alpha2/zz_generated.crd-manifests/0000_10_insights_01_datagathers.crd.yaml similarity index 99% rename from insights/v1alpha2/zz_generated.crd-manifests/0000_10_insights_01_datagathers-CustomNoUpgrade.crd.yaml rename to insights/v1alpha2/zz_generated.crd-manifests/0000_10_insights_01_datagathers.crd.yaml index 288414e8fde..0058e2dddcc 100644 --- a/insights/v1alpha2/zz_generated.crd-manifests/0000_10_insights_01_datagathers-CustomNoUpgrade.crd.yaml +++ b/insights/v1alpha2/zz_generated.crd-manifests/0000_10_insights_01_datagathers.crd.yaml @@ -7,7 +7,6 @@ metadata: capability.openshift.io/name: Insights include.release.openshift.io/ibm-cloud-managed: "true" include.release.openshift.io/self-managed-high-availability: "true" - release.openshift.io/feature-set: CustomNoUpgrade name: datagathers.insights.openshift.io spec: group: insights.openshift.io diff --git a/openapi/generated_openapi/zz_generated.openapi.go b/openapi/generated_openapi/zz_generated.openapi.go index 6b8d62744a1..bff3de72526 100644 --- a/openapi/generated_openapi/zz_generated.openapi.go +++ b/openapi/generated_openapi/zz_generated.openapi.go @@ -23226,6 +23226,11 @@ func schema_openshift_api_config_v1alpha1_GatherConfig(ref common.ReferenceCallb }, }, "disabledGatherers": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-list-type": "atomic", + }, + }, SchemaProps: spec.SchemaProps{ Description: "disabledGatherers is a list of gatherers to be excluded from the gathering. All the gatherers can be disabled by providing \"all\" value. If all the gatherers are disabled, the Insights operator does not gather any data. The format for the disabledGatherer should be: {gatherer}/{function} where the function is optional. Gatherer consists of a lowercase letters only that may include underscores (_). Function consists of a lowercase letters only that may include underscores (_) and is separated from the gatherer by a forward slash (/). The particular gatherers IDs can be found at https://github.com/openshift/insights-operator/blob/master/docs/gathered-data.md. Run the following command to get the names of last active gatherers: \"oc get insightsoperators.operator.openshift.io cluster -o json | jq '.status.gatherStatus.gatherers[].name'\" An example of disabling gatherers looks like this: `disabledGatherers: [\"clusterconfig/machine_configs\", \"workloads/workload_info\"]`", Type: []string{"array"}, @@ -30802,6 +30807,14 @@ func schema_openshift_api_insights_v1alpha1_DataGatherSpec(ref common.ReferenceC }, }, "gatherers": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-list-map-keys": []interface{}{ + "name", + }, + "x-kubernetes-list-type": "map", + }, + }, SchemaProps: spec.SchemaProps{ Description: "gatherers is an optional list of gatherers configurations. The list must not exceed 100 items. The particular gatherers IDs can be found at https://github.com/openshift/insights-operator/blob/master/docs/gathered-data.md. Run the following command to get the names of last active gatherers: \"oc get insightsoperators.operator.openshift.io cluster -o json | jq '.status.gatherStatus.gatherers[].name'\"", Type: []string{"array"}, @@ -30900,6 +30913,15 @@ func schema_openshift_api_insights_v1alpha1_DataGatherStatus(ref common.Referenc }, }, "relatedObjects": { + VendorExtensible: spec.VendorExtensible{ + Extensions: spec.Extensions{ + "x-kubernetes-list-map-keys": []interface{}{ + "name", + "namespace", + }, + "x-kubernetes-list-type": "map", + }, + }, SchemaProps: spec.SchemaProps{ Description: "relatedObjects is a list of resources which are useful when debugging or inspecting the data gathering Pod", Type: []string{"array"}, @@ -31149,7 +31171,7 @@ func schema_openshift_api_insights_v1alpha1_ObjectReference(ref common.Reference }, }, }, - Required: []string{"group", "resource", "name"}, + Required: []string{"group", "resource", "name", "namespace"}, }, }, } diff --git a/payload-manifests/crds/0000_10_config-operator_01_insightsdatagathers-DevPreviewNoUpgrade.crd.yaml b/payload-manifests/crds/0000_10_config-operator_01_insightsdatagathers-DevPreviewNoUpgrade.crd.yaml deleted file mode 100644 index 1400f1a654f..00000000000 --- a/payload-manifests/crds/0000_10_config-operator_01_insightsdatagathers-DevPreviewNoUpgrade.crd.yaml +++ /dev/null @@ -1,234 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - api-approved.openshift.io: https://github.com/openshift/api/pull/2448 - api.openshift.io/merged-by-featuregates: "true" - capability.openshift.io/name: Insights - include.release.openshift.io/ibm-cloud-managed: "true" - include.release.openshift.io/self-managed-high-availability: "true" - release.openshift.io/feature-set: DevPreviewNoUpgrade - name: insightsdatagathers.config.openshift.io -spec: - group: config.openshift.io - names: - kind: InsightsDataGather - listKind: InsightsDataGatherList - plural: insightsdatagathers - singular: insightsdatagather - scope: Cluster - versions: - - name: v1 - schema: - openAPIV3Schema: - description: |- - InsightsDataGather provides data gather configuration options for the Insights Operator. - - Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). - 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: spec holds user settable values for configuration - properties: - gatherConfig: - description: gatherConfig is a required spec attribute that includes - all the configuration options related to gathering of the Insights - data and its uploading to the ingress. - properties: - dataPolicy: - description: |- - dataPolicy is an optional list of DataPolicyOptions that allows user to enable additional obfuscation of the Insights archive data. - It may not exceed 2 items and must not contain duplicates. - Valid values are ObfuscateNetworking and WorkloadNames. - When set to ObfuscateNetworking the IP addresses and the cluster domain name are obfuscated. - When set to WorkloadNames, the gathered data about cluster resources will not contain the workload names for your deployments. Resources UIDs will be used instead. - When omitted no obfuscation is applied. - items: - description: DataPolicyOption declares valid data policy options - enum: - - ObfuscateNetworking - - WorkloadNames - type: string - maxItems: 2 - minItems: 1 - type: array - x-kubernetes-list-type: atomic - x-kubernetes-validations: - - message: dataPolicy items must be unique - rule: self.all(x, self.exists_one(y, x == y)) - gatherers: - description: gatherers is a required field that specifies the - configuration of the gatherers. - properties: - custom: - description: |- - custom provides gathering configuration. - It is required when mode is Custom, and forbidden otherwise. - Custom configuration allows user to disable only a subset of gatherers. - Gatherers that are not explicitly disabled in custom configuration will run. - properties: - configs: - description: |- - configs is a required list of gatherers configurations that can be used to enable or disable specific gatherers. - It may not exceed 100 items and each gatherer can be present only once. - It is possible to disable an entire set of gatherers while allowing a specific function within that set. - The particular gatherers IDs can be found at https://github.com/openshift/insights-operator/blob/master/docs/gathered-data.md. - Run the following command to get the names of last active gatherers: - "oc get insightsoperators.operator.openshift.io cluster -o json | jq '.status.gatherStatus.gatherers[].name'" - items: - description: GathererConfig allows to configure specific - gatherers - properties: - name: - description: |- - name is the required name of a specific gatherer. - It may not exceed 256 characters. - The format for a gatherer name is: {gatherer}/{function} where the function is optional. - Gatherer consists of a lowercase letters only that may include underscores (_). - Function consists of a lowercase letters only that may include underscores (_) and is separated from the gatherer by a forward slash (/). - The particular gatherers can be found at https://github.com/openshift/insights-operator/blob/master/docs/gathered-data.md. - Run the following command to get the names of last active gatherers: - "oc get insightsoperators.operator.openshift.io cluster -o json | jq '.status.gatherStatus.gatherers[].name'" - maxLength: 256 - minLength: 1 - type: string - x-kubernetes-validations: - - message: gatherer name must be in the format of - {gatherer}/{function} where the gatherer and - function are lowercase letters only that may - include underscores (_) and are separated by - a forward slash (/) if the function is provided - rule: self.matches("^[a-z]+[_a-z]*[a-z]([/a-z][_a-z]*)?[a-z]$") - state: - description: |- - state is a required field that allows you to configure specific gatherer. Valid values are "Enabled" and "Disabled". - When set to Enabled the gatherer will run. - When set to Disabled the gatherer will not run. - enum: - - Enabled - - Disabled - type: string - required: - - name - - state - type: object - maxItems: 100 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - required: - - configs - type: object - mode: - description: |- - mode is a required field that specifies the mode for gatherers. Allowed values are All, None, and Custom. - When set to All, all gatherers will run and gather data. - When set to None, all gatherers will be disabled and no data will be gathered. - When set to Custom, the custom configuration from the custom field will be applied. - enum: - - All - - None - - Custom - type: string - required: - - mode - type: object - x-kubernetes-validations: - - message: custom is required when mode is Custom, and forbidden - otherwise - rule: 'has(self.mode) && self.mode == ''Custom'' ? has(self.custom) - : !has(self.custom)' - storage: - description: |- - storage is an optional field that allows user to define persistent storage for gathering jobs to store the Insights data archive. - If omitted, the gathering job will use ephemeral storage. - properties: - persistentVolume: - description: |- - persistentVolume is an optional field that specifies the PersistentVolume that will be used to store the Insights data archive. - The PersistentVolume must be created in the openshift-insights namespace. - properties: - claim: - description: |- - claim is a required field that specifies the configuration of the PersistentVolumeClaim that will be used to store the Insights data archive. - The PersistentVolumeClaim must be created in the openshift-insights namespace. - properties: - name: - description: |- - name is the name of the PersistentVolumeClaim that will be used to store the Insights data archive. - It is a string that follows the DNS1123 subdomain format. - It must be at most 253 characters in length, and must consist only of lower case alphanumeric characters, '-' and '.', and must start and end with an alphanumeric character. - maxLength: 253 - minLength: 1 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist - of lower case alphanumeric characters, '-' or - '.', and must start and end with an alphanumeric - character. - rule: '!format.dns1123Subdomain().validate(self).hasValue()' - required: - - name - type: object - mountPath: - description: |- - mountPath is an optional field specifying the directory where the PVC will be mounted inside the Insights data gathering Pod. - When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. - The current default mount path is /var/lib/insights-operator - The path may not exceed 1024 characters and must not contain a colon. - maxLength: 1024 - minLength: 1 - type: string - x-kubernetes-validations: - - message: mountPath must not contain a colon - rule: '!self.contains('':'')' - required: - - claim - type: object - type: - description: |- - type is a required field that specifies the type of storage that will be used to store the Insights data archive. - Valid values are "PersistentVolume" and "Ephemeral". - When set to Ephemeral, the Insights data archive is stored in the ephemeral storage of the gathering job. - When set to PersistentVolume, the Insights data archive is stored in the PersistentVolume that is defined by the persistentVolume field. - enum: - - PersistentVolume - - Ephemeral - type: string - required: - - type - type: object - x-kubernetes-validations: - - message: persistentVolume is required when type is PersistentVolume, - and forbidden otherwise - rule: 'has(self.type) && self.type == ''PersistentVolume'' ? has(self.persistentVolume) - : !has(self.persistentVolume)' - required: - - gatherers - type: object - required: - - gatherConfig - type: object - required: - - spec - type: object - served: true - storage: true diff --git a/payload-manifests/crds/0000_10_config-operator_01_insightsdatagathers-TechPreviewNoUpgrade.crd.yaml b/payload-manifests/crds/0000_10_config-operator_01_insightsdatagathers-TechPreviewNoUpgrade.crd.yaml deleted file mode 100644 index d537572823d..00000000000 --- a/payload-manifests/crds/0000_10_config-operator_01_insightsdatagathers-TechPreviewNoUpgrade.crd.yaml +++ /dev/null @@ -1,234 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - api-approved.openshift.io: https://github.com/openshift/api/pull/2448 - api.openshift.io/merged-by-featuregates: "true" - capability.openshift.io/name: Insights - include.release.openshift.io/ibm-cloud-managed: "true" - include.release.openshift.io/self-managed-high-availability: "true" - release.openshift.io/feature-set: TechPreviewNoUpgrade - name: insightsdatagathers.config.openshift.io -spec: - group: config.openshift.io - names: - kind: InsightsDataGather - listKind: InsightsDataGatherList - plural: insightsdatagathers - singular: insightsdatagather - scope: Cluster - versions: - - name: v1 - schema: - openAPIV3Schema: - description: |- - InsightsDataGather provides data gather configuration options for the Insights Operator. - - Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). - 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: spec holds user settable values for configuration - properties: - gatherConfig: - description: gatherConfig is a required spec attribute that includes - all the configuration options related to gathering of the Insights - data and its uploading to the ingress. - properties: - dataPolicy: - description: |- - dataPolicy is an optional list of DataPolicyOptions that allows user to enable additional obfuscation of the Insights archive data. - It may not exceed 2 items and must not contain duplicates. - Valid values are ObfuscateNetworking and WorkloadNames. - When set to ObfuscateNetworking the IP addresses and the cluster domain name are obfuscated. - When set to WorkloadNames, the gathered data about cluster resources will not contain the workload names for your deployments. Resources UIDs will be used instead. - When omitted no obfuscation is applied. - items: - description: DataPolicyOption declares valid data policy options - enum: - - ObfuscateNetworking - - WorkloadNames - type: string - maxItems: 2 - minItems: 1 - type: array - x-kubernetes-list-type: atomic - x-kubernetes-validations: - - message: dataPolicy items must be unique - rule: self.all(x, self.exists_one(y, x == y)) - gatherers: - description: gatherers is a required field that specifies the - configuration of the gatherers. - properties: - custom: - description: |- - custom provides gathering configuration. - It is required when mode is Custom, and forbidden otherwise. - Custom configuration allows user to disable only a subset of gatherers. - Gatherers that are not explicitly disabled in custom configuration will run. - properties: - configs: - description: |- - configs is a required list of gatherers configurations that can be used to enable or disable specific gatherers. - It may not exceed 100 items and each gatherer can be present only once. - It is possible to disable an entire set of gatherers while allowing a specific function within that set. - The particular gatherers IDs can be found at https://github.com/openshift/insights-operator/blob/master/docs/gathered-data.md. - Run the following command to get the names of last active gatherers: - "oc get insightsoperators.operator.openshift.io cluster -o json | jq '.status.gatherStatus.gatherers[].name'" - items: - description: GathererConfig allows to configure specific - gatherers - properties: - name: - description: |- - name is the required name of a specific gatherer. - It may not exceed 256 characters. - The format for a gatherer name is: {gatherer}/{function} where the function is optional. - Gatherer consists of a lowercase letters only that may include underscores (_). - Function consists of a lowercase letters only that may include underscores (_) and is separated from the gatherer by a forward slash (/). - The particular gatherers can be found at https://github.com/openshift/insights-operator/blob/master/docs/gathered-data.md. - Run the following command to get the names of last active gatherers: - "oc get insightsoperators.operator.openshift.io cluster -o json | jq '.status.gatherStatus.gatherers[].name'" - maxLength: 256 - minLength: 1 - type: string - x-kubernetes-validations: - - message: gatherer name must be in the format of - {gatherer}/{function} where the gatherer and - function are lowercase letters only that may - include underscores (_) and are separated by - a forward slash (/) if the function is provided - rule: self.matches("^[a-z]+[_a-z]*[a-z]([/a-z][_a-z]*)?[a-z]$") - state: - description: |- - state is a required field that allows you to configure specific gatherer. Valid values are "Enabled" and "Disabled". - When set to Enabled the gatherer will run. - When set to Disabled the gatherer will not run. - enum: - - Enabled - - Disabled - type: string - required: - - name - - state - type: object - maxItems: 100 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - required: - - configs - type: object - mode: - description: |- - mode is a required field that specifies the mode for gatherers. Allowed values are All, None, and Custom. - When set to All, all gatherers will run and gather data. - When set to None, all gatherers will be disabled and no data will be gathered. - When set to Custom, the custom configuration from the custom field will be applied. - enum: - - All - - None - - Custom - type: string - required: - - mode - type: object - x-kubernetes-validations: - - message: custom is required when mode is Custom, and forbidden - otherwise - rule: 'has(self.mode) && self.mode == ''Custom'' ? has(self.custom) - : !has(self.custom)' - storage: - description: |- - storage is an optional field that allows user to define persistent storage for gathering jobs to store the Insights data archive. - If omitted, the gathering job will use ephemeral storage. - properties: - persistentVolume: - description: |- - persistentVolume is an optional field that specifies the PersistentVolume that will be used to store the Insights data archive. - The PersistentVolume must be created in the openshift-insights namespace. - properties: - claim: - description: |- - claim is a required field that specifies the configuration of the PersistentVolumeClaim that will be used to store the Insights data archive. - The PersistentVolumeClaim must be created in the openshift-insights namespace. - properties: - name: - description: |- - name is the name of the PersistentVolumeClaim that will be used to store the Insights data archive. - It is a string that follows the DNS1123 subdomain format. - It must be at most 253 characters in length, and must consist only of lower case alphanumeric characters, '-' and '.', and must start and end with an alphanumeric character. - maxLength: 253 - minLength: 1 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist - of lower case alphanumeric characters, '-' or - '.', and must start and end with an alphanumeric - character. - rule: '!format.dns1123Subdomain().validate(self).hasValue()' - required: - - name - type: object - mountPath: - description: |- - mountPath is an optional field specifying the directory where the PVC will be mounted inside the Insights data gathering Pod. - When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. - The current default mount path is /var/lib/insights-operator - The path may not exceed 1024 characters and must not contain a colon. - maxLength: 1024 - minLength: 1 - type: string - x-kubernetes-validations: - - message: mountPath must not contain a colon - rule: '!self.contains('':'')' - required: - - claim - type: object - type: - description: |- - type is a required field that specifies the type of storage that will be used to store the Insights data archive. - Valid values are "PersistentVolume" and "Ephemeral". - When set to Ephemeral, the Insights data archive is stored in the ephemeral storage of the gathering job. - When set to PersistentVolume, the Insights data archive is stored in the PersistentVolume that is defined by the persistentVolume field. - enum: - - PersistentVolume - - Ephemeral - type: string - required: - - type - type: object - x-kubernetes-validations: - - message: persistentVolume is required when type is PersistentVolume, - and forbidden otherwise - rule: 'has(self.type) && self.type == ''PersistentVolume'' ? has(self.persistentVolume) - : !has(self.persistentVolume)' - required: - - gatherers - type: object - required: - - gatherConfig - type: object - required: - - spec - type: object - served: true - storage: true diff --git a/payload-manifests/crds/0000_10_config-operator_01_insightsdatagathers-CustomNoUpgrade.crd.yaml b/payload-manifests/crds/0000_10_config-operator_01_insightsdatagathers.crd.yaml similarity index 99% rename from payload-manifests/crds/0000_10_config-operator_01_insightsdatagathers-CustomNoUpgrade.crd.yaml rename to payload-manifests/crds/0000_10_config-operator_01_insightsdatagathers.crd.yaml index 97698ce0bec..650c1605838 100644 --- a/payload-manifests/crds/0000_10_config-operator_01_insightsdatagathers-CustomNoUpgrade.crd.yaml +++ b/payload-manifests/crds/0000_10_config-operator_01_insightsdatagathers.crd.yaml @@ -7,7 +7,6 @@ metadata: capability.openshift.io/name: Insights include.release.openshift.io/ibm-cloud-managed: "true" include.release.openshift.io/self-managed-high-availability: "true" - release.openshift.io/feature-set: CustomNoUpgrade name: insightsdatagathers.config.openshift.io spec: group: config.openshift.io diff --git a/payload-manifests/crds/0000_10_insights_01_datagathers-DevPreviewNoUpgrade.crd.yaml b/payload-manifests/crds/0000_10_insights_01_datagathers-DevPreviewNoUpgrade.crd.yaml deleted file mode 100644 index c35ebb5217c..00000000000 --- a/payload-manifests/crds/0000_10_insights_01_datagathers-DevPreviewNoUpgrade.crd.yaml +++ /dev/null @@ -1,628 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - api-approved.openshift.io: https://github.com/openshift/api/pull/2448 - api.openshift.io/merged-by-featuregates: "true" - capability.openshift.io/name: Insights - include.release.openshift.io/ibm-cloud-managed: "true" - include.release.openshift.io/self-managed-high-availability: "true" - release.openshift.io/feature-set: DevPreviewNoUpgrade - name: datagathers.insights.openshift.io -spec: - group: insights.openshift.io - names: - kind: DataGather - listKind: DataGatherList - plural: datagathers - singular: datagather - scope: Cluster - versions: - - additionalPrinterColumns: - - description: DataGather start time - jsonPath: .status.startTime - name: StartTime - type: date - - description: DataGather finish time - jsonPath: .status.finishTime - name: FinishTime - type: date - - description: DataGather age - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1 - schema: - openAPIV3Schema: - description: |- - DataGather provides data gather configuration options and status for the particular Insights data gathering. - - Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). - 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: spec holds user settable values for configuration - properties: - dataPolicy: - description: |- - dataPolicy is an optional list of DataPolicyOptions that allows user to enable additional obfuscation of the Insights archive data. - It may not exceed 2 items and must not contain duplicates. - Valid values are ObfuscateNetworking and WorkloadNames. - When set to ObfuscateNetworking the IP addresses and the cluster domain name are obfuscated. - When set to WorkloadNames, the gathered data about cluster resources will not contain the workload names for your deployments. Resources UIDs will be used instead. - When omitted no obfuscation is applied. - items: - description: DataPolicyOption declares valid data policy types - enum: - - ObfuscateNetworking - - WorkloadNames - type: string - maxItems: 2 - minItems: 1 - type: array - x-kubernetes-list-type: atomic - x-kubernetes-validations: - - message: dataPolicy items must be unique - rule: self.all(x, self.exists_one(y, x == y)) - gatherers: - description: gatherers is a required field that specifies the configuration - of the gatherers. - properties: - custom: - description: |- - custom provides gathering configuration. - It is required when mode is Custom, and forbidden otherwise. - Custom configuration allows user to disable only a subset of gatherers. - Gatherers that are not explicitly disabled in custom configuration will run. - properties: - configs: - description: |- - configs is a required list of gatherers configurations that can be used to enable or disable specific gatherers. - It may not exceed 100 items and each gatherer can be present only once. - It is possible to disable an entire set of gatherers while allowing a specific function within that set. - The particular gatherers IDs can be found at https://github.com/openshift/insights-operator/blob/master/docs/gathered-data.md. - Run the following command to get the names of last active gatherers: - "oc get insightsoperators.operator.openshift.io cluster -o json | jq '.status.gatherStatus.gatherers[].name'" - items: - description: GathererConfig allows to configure specific - gatherers - properties: - name: - description: |- - name is the required name of a specific gatherer. - It may not exceed 256 characters. - The format for a gatherer name is: {gatherer}/{function} where the function is optional. - Gatherer consists of a lowercase letters only that may include underscores (_). - Function consists of a lowercase letters only that may include underscores (_) and is separated from the gatherer by a forward slash (/). - The particular gatherers can be found at https://github.com/openshift/insights-operator/blob/master/docs/gathered-data.md. - Run the following command to get the names of last active gatherers: - "oc get insightsoperators.operator.openshift.io cluster -o json | jq '.status.gatherStatus.gatherers[].name'" - maxLength: 256 - minLength: 1 - type: string - x-kubernetes-validations: - - message: gatherer name must be in the format of {gatherer}/{function} - where the gatherer and function are lowercase letters - only that may include underscores (_) and are separated - by a forward slash (/) if the function is provided - rule: self.matches("^[a-z]+[_a-z]*[a-z]([/a-z][_a-z]*)?[a-z]$") - state: - description: |- - state is a required field that allows you to configure specific gatherer. Valid values are "Enabled" and "Disabled". - When set to Enabled the gatherer will run. - When set to Disabled the gatherer will not run. - enum: - - Enabled - - Disabled - type: string - required: - - name - - state - type: object - maxItems: 100 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - required: - - configs - type: object - mode: - description: |- - mode is a required field that specifies the mode for gatherers. Allowed values are All and Custom. - When set to All, all gatherers will run and gather data. - When set to Custom, the custom configuration from the custom field will be applied. - enum: - - All - - Custom - type: string - required: - - mode - type: object - x-kubernetes-validations: - - message: custom is required when mode is Custom, and forbidden otherwise - rule: 'has(self.mode) && self.mode == ''Custom'' ? has(self.custom) - : !has(self.custom)' - storage: - description: |- - storage is an optional field that allows user to define persistent storage for gathering jobs to store the Insights data archive. - If omitted, the gathering job will use ephemeral storage. - properties: - persistentVolume: - description: |- - persistentVolume is an optional field that specifies the PersistentVolume that will be used to store the Insights data archive. - The PersistentVolume must be created in the openshift-insights namespace. - properties: - claim: - description: |- - claim is a required field that specifies the configuration of the PersistentVolumeClaim that will be used to store the Insights data archive. - The PersistentVolumeClaim must be created in the openshift-insights namespace. - properties: - name: - description: |- - name is the name of the PersistentVolumeClaim that will be used to store the Insights data archive. - It is a string that follows the DNS1123 subdomain format. - It must be at most 253 characters in length, and must consist only of lower case alphanumeric characters, '-' and '.', and must start and end with an alphanumeric character. - maxLength: 253 - minLength: 1 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist - of lower case alphanumeric characters, '-' or '.', - and must start and end with an alphanumeric character. - rule: '!format.dns1123Subdomain().validate(self).hasValue()' - required: - - name - type: object - mountPath: - description: |- - mountPath is an optional field specifying the directory where the PVC will be mounted inside the Insights data gathering Pod. - When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. - The current default mount path is /var/lib/insights-operator - The path may not exceed 1024 characters and must not contain a colon. - maxLength: 1024 - minLength: 1 - type: string - x-kubernetes-validations: - - message: mountPath must not contain a colon - rule: '!self.contains('':'')' - required: - - claim - type: object - type: - description: |- - type is a required field that specifies the type of storage that will be used to store the Insights data archive. - Valid values are "PersistentVolume" and "Ephemeral". - When set to Ephemeral, the Insights data archive is stored in the ephemeral storage of the gathering job. - When set to PersistentVolume, the Insights data archive is stored in the PersistentVolume that is - defined by the PersistentVolume field. - enum: - - PersistentVolume - - Ephemeral - type: string - required: - - type - type: object - x-kubernetes-validations: - - message: persistentVolume is required when type is PersistentVolume, - and forbidden otherwise - rule: 'has(self.type) && self.type == ''PersistentVolume'' ? has(self.persistentVolume) - : !has(self.persistentVolume)' - required: - - gatherers - type: object - status: - description: status holds observed values from the cluster. They may not - be overridden. - minProperties: 1 - properties: - conditions: - description: |- - conditions is an optional field that provides details on the status of the gatherer job. - It may not exceed 100 items and must not contain duplicates. - - The current condition types are DataUploaded, DataRecorded, DataProcessed, RemoteConfigurationNotAvailable, RemoteConfigurationInvalid - - The DataUploaded condition is used to represent whether or not the archive was successfully uploaded for further processing. - When it has a status of True and a reason of Succeeded, the archive was successfully uploaded. - When it has a status of Unknown and a reason of NoUploadYet, the upload has not occurred, or there was no data to upload. - When it has a status of False and a reason Failed, the upload failed. The accompanying message will include the specific error encountered. - - The DataRecorded condition is used to represent whether or not the archive was successfully recorded. - When it has a status of True and a reason of Succeeded, the archive was recorded successfully. - When it has a status of Unknown and a reason of NoDataGatheringYet, the data gathering process has not started yet. - When it has a status of False and a reason of RecordingFailed, the recording failed and a message will include the specific error encountered. - - The DataProcessed condition is used to represent whether or not the archive was processed by the processing service. - When it has a status of True and a reason of Processed, the data was processed successfully. - When it has a status of Unknown and a reason of NothingToProcessYet, there is no data to process at the moment. - When it has a status of False and a reason of Failure, processing failed and a message will include the specific error encountered. - - The RemoteConfigurationAvailable condition is used to represent whether the remote configuration is available. - When it has a status of Unknown and a reason of Unknown or RemoteConfigNotRequestedYet, the state of the remote configuration is unknown—typically at startup. - When it has a status of True and a reason of Succeeded, the configuration is available. - When it has a status of False and a reason of NoToken, the configuration was disabled by removing the cloud.openshift.com field from the pull secret. - When it has a status of False and a reason of DisabledByConfiguration, the configuration was disabled in insightsdatagather.config.openshift.io. - - The RemoteConfigurationValid condition is used to represent whether the remote configuration is valid. - When it has a status of Unknown and a reason of Unknown or NoValidationYet, the validity of the remote configuration is unknown—typically at startup. - When it has a status of True and a reason of Succeeded, the configuration is valid. - When it has a status of False and a reason of Invalid, the configuration is invalid. - - The Progressing condition is used to represent the phase of gathering - When it has a status of False and the reason is DataGatherPending, the gathering has not started yet. - When it has a status of True and reason is Gathering, the gathering is running. - When it has a status of False and reason is GatheringSucceeded, the gathering successfully finished. - When it has a status of False and reason is GatheringFailed, the gathering failed. - items: - description: Condition contains details for one aspect of the current - state of this API Resource. - 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. - 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 - maxItems: 100 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - type - x-kubernetes-list-type: map - finishTime: - description: finishTime is the time when Insights data gathering finished. - format: date-time - type: string - x-kubernetes-validations: - - message: finishTime is immutable once set - rule: self == oldSelf - gatherers: - description: gatherers is a list of active gatherers (and their statuses) - in the last gathering. - items: - description: |- - GathererStatus represents information about a particular - data gatherer. - properties: - conditions: - description: |- - conditions provide details on the status of each gatherer. - - The current condition type is DataGathered - - The DataGathered condition is used to represent whether or not the data was gathered by a gatherer specified by name. - When it has a status of True and a reason of GatheredOK, the data has been successfully gathered as expected. - When it has a status of False and a reason of NoData, no data was gathered—for example, when the resource is not present in the cluster. - When it has a status of False and a reason of GatherError, an error occurred and no data was gathered. - When it has a status of False and a reason of GatherPanic, a panic occurred during gathering and no data was collected. - When it has a status of False and a reason of GatherWithErrorReason, data was partially gathered or gathered with an error message. - items: - description: Condition contains details for one aspect of - the current state of this API Resource. - 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. - 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 - maxItems: 100 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - type - x-kubernetes-list-type: map - lastGatherSeconds: - description: lastGatherSeconds is required field that represents - the time spent gathering in seconds - format: int32 - minimum: 0 - type: integer - name: - description: |- - name is the required name of the gatherer. - It must contain at least 5 characters and may not exceed 256 characters. - maxLength: 256 - minLength: 5 - type: string - required: - - lastGatherSeconds - - name - type: object - maxItems: 100 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - insightsReport: - description: |- - insightsReport provides general Insights analysis results. - When omitted, this means no data gathering has taken place yet or the - corresponding Insights analysis (identified by "insightsRequestID") is not available. - properties: - downloadedTime: - description: downloadedTime is a required field that specifies - when the Insights report was last downloaded. - format: date-time - type: string - healthChecks: - description: |- - healthChecks is an optional field that provides basic information about active Insights - recommendations, which serve as proactive notifications for potential issues in the cluster. - When omitted, it means that there are no active recommendations in the cluster. - items: - description: HealthCheck represents an Insights health check - attributes. - properties: - advisorURI: - description: |- - advisorURI is required field that provides the URL link to the Insights Advisor. - The link must be a valid HTTPS URL and the maximum length is 2048 characters. - maxLength: 2048 - minLength: 1 - type: string - x-kubernetes-validations: - - message: advisorURI must be a valid HTTPS URL (e.g., https://example.com) - rule: isURL(self) && url(self).getScheme() == "https" - description: - description: |- - description is required field that provides basic description of the healthcheck. - It must contain at least 10 characters and may not exceed 2048 characters. - maxLength: 2048 - minLength: 10 - type: string - totalRisk: - description: |- - totalRisk is the required field of the healthcheck. - It is indicator of the total risk posed by the detected issue; combination of impact and likelihood. - Allowed values are Low, Moderate, Important and Critical. - The value represents the severity of the issue. - enum: - - Low - - Moderate - - Important - - Critical - type: string - required: - - advisorURI - - description - - totalRisk - type: object - maxItems: 100 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - advisorURI - - totalRisk - - description - x-kubernetes-list-type: map - uri: - description: |- - uri is a required field that provides the URL link from which the report was downloaded. - The link must be a valid HTTPS URL and the maximum length is 2048 characters. - maxLength: 2048 - minLength: 1 - type: string - x-kubernetes-validations: - - message: URI must be a valid HTTPS URL (e.g., https://example.com) - rule: isURL(self) && url(self).getScheme() == "https" - required: - - downloadedTime - - uri - type: object - insightsRequestID: - description: |- - insightsRequestID is an optional Insights request ID to track the status of the Insights analysis (in console.redhat.com processing pipeline) for the corresponding Insights data archive. - It may not exceed 256 characters and is immutable once set. - maxLength: 256 - minLength: 1 - type: string - x-kubernetes-validations: - - message: insightsRequestID is immutable once set - rule: self == oldSelf - relatedObjects: - description: |- - relatedObjects is an optional list of resources which are useful when debugging or inspecting the data gathering Pod - It may not exceed 100 items and must not contain duplicates. - items: - description: ObjectReference contains enough information to let - you inspect or modify the referred object. - properties: - group: - description: |- - group is required field that specifies the API Group of the Resource. - Enter empty string for the core group. - This value is empty or it should follow the DNS1123 subdomain format. - It must be at most 253 characters in length, and must consist only of lower case alphanumeric characters, '-' and '.', and must start with an alphabetic character and end with an alphanumeric character. - Example: "", "apps", "build.openshift.io", etc. - maxLength: 253 - minLength: 0 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist of lower - case alphanumeric characters, '-' or '.', and must start - with an alphabetic character and end with an alphanumeric - character. - rule: self.size() == 0 || !format.dns1123Subdomain().validate(self).hasValue() - name: - description: |- - name is required field that specifies the referent that follows the DNS1123 subdomain format. - It must be at most 253 characters in length, and must consist only of lower case alphanumeric characters, '-' and '.', and must start with an alphabetic character and end with an alphanumeric character.. - maxLength: 253 - minLength: 1 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist of lower - case alphanumeric characters, '-' or '.', and must start - with an alphabetic character and end with an alphanumeric - character. - rule: '!format.dns1123Subdomain().validate(self).hasValue()' - namespace: - description: |- - namespace if required field of the referent that follows the DNS1123 labels format. - It must be at most 63 characters in length, and must must consist of only lowercase alphanumeric characters and hyphens, and must start with an alphabetic character and end with an alphanumeric character. - maxLength: 63 - minLength: 1 - type: string - x-kubernetes-validations: - - message: the value must consist of only lowercase alphanumeric - characters and hyphens, and must start with an alphabetic - character and end with an alphanumeric character. - rule: '!format.dns1123Label().validate(self).hasValue()' - resource: - description: |- - resource is required field of the type that is being referenced and follows the DNS1035 format. - It is normally the plural form of the resource kind in lowercase. - It must be at most 63 characters in length, and must must consist of only lowercase alphanumeric characters and hyphens, and must start with an alphabetic character and end with an alphanumeric character. - Example: "deployments", "deploymentconfigs", "pods", etc. - maxLength: 63 - minLength: 1 - type: string - x-kubernetes-validations: - - message: the value must consist of only lowercase alphanumeric - characters and hyphens, and must start with an alphabetic - character and end with an alphanumeric character. - rule: '!format.dns1035Label().validate(self).hasValue()' - required: - - group - - name - - namespace - - resource - type: object - maxItems: 100 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - name - - namespace - x-kubernetes-list-type: map - startTime: - description: startTime is the time when Insights data gathering started. - format: date-time - type: string - x-kubernetes-validations: - - message: startTime is immutable once set - rule: self == oldSelf - type: object - x-kubernetes-validations: - - message: cannot remove insightsRequestID attribute from status - rule: (!has(oldSelf.insightsRequestID) || has(self.insightsRequestID)) - - message: cannot remove startTime attribute from status - rule: (!has(oldSelf.startTime) || has(self.startTime)) - - message: cannot remove finishTime attribute from status - rule: (!has(oldSelf.finishTime) || has(self.finishTime)) - required: - - spec - type: object - served: true - storage: true - subresources: - status: {} diff --git a/payload-manifests/crds/0000_10_insights_01_datagathers-TechPreviewNoUpgrade.crd.yaml b/payload-manifests/crds/0000_10_insights_01_datagathers-TechPreviewNoUpgrade.crd.yaml deleted file mode 100644 index b0dc6cb1df5..00000000000 --- a/payload-manifests/crds/0000_10_insights_01_datagathers-TechPreviewNoUpgrade.crd.yaml +++ /dev/null @@ -1,628 +0,0 @@ -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - api-approved.openshift.io: https://github.com/openshift/api/pull/2448 - api.openshift.io/merged-by-featuregates: "true" - capability.openshift.io/name: Insights - include.release.openshift.io/ibm-cloud-managed: "true" - include.release.openshift.io/self-managed-high-availability: "true" - release.openshift.io/feature-set: TechPreviewNoUpgrade - name: datagathers.insights.openshift.io -spec: - group: insights.openshift.io - names: - kind: DataGather - listKind: DataGatherList - plural: datagathers - singular: datagather - scope: Cluster - versions: - - additionalPrinterColumns: - - description: DataGather start time - jsonPath: .status.startTime - name: StartTime - type: date - - description: DataGather finish time - jsonPath: .status.finishTime - name: FinishTime - type: date - - description: DataGather age - jsonPath: .metadata.creationTimestamp - name: Age - type: date - name: v1 - schema: - openAPIV3Schema: - description: |- - DataGather provides data gather configuration options and status for the particular Insights data gathering. - - Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). - 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: spec holds user settable values for configuration - properties: - dataPolicy: - description: |- - dataPolicy is an optional list of DataPolicyOptions that allows user to enable additional obfuscation of the Insights archive data. - It may not exceed 2 items and must not contain duplicates. - Valid values are ObfuscateNetworking and WorkloadNames. - When set to ObfuscateNetworking the IP addresses and the cluster domain name are obfuscated. - When set to WorkloadNames, the gathered data about cluster resources will not contain the workload names for your deployments. Resources UIDs will be used instead. - When omitted no obfuscation is applied. - items: - description: DataPolicyOption declares valid data policy types - enum: - - ObfuscateNetworking - - WorkloadNames - type: string - maxItems: 2 - minItems: 1 - type: array - x-kubernetes-list-type: atomic - x-kubernetes-validations: - - message: dataPolicy items must be unique - rule: self.all(x, self.exists_one(y, x == y)) - gatherers: - description: gatherers is a required field that specifies the configuration - of the gatherers. - properties: - custom: - description: |- - custom provides gathering configuration. - It is required when mode is Custom, and forbidden otherwise. - Custom configuration allows user to disable only a subset of gatherers. - Gatherers that are not explicitly disabled in custom configuration will run. - properties: - configs: - description: |- - configs is a required list of gatherers configurations that can be used to enable or disable specific gatherers. - It may not exceed 100 items and each gatherer can be present only once. - It is possible to disable an entire set of gatherers while allowing a specific function within that set. - The particular gatherers IDs can be found at https://github.com/openshift/insights-operator/blob/master/docs/gathered-data.md. - Run the following command to get the names of last active gatherers: - "oc get insightsoperators.operator.openshift.io cluster -o json | jq '.status.gatherStatus.gatherers[].name'" - items: - description: GathererConfig allows to configure specific - gatherers - properties: - name: - description: |- - name is the required name of a specific gatherer. - It may not exceed 256 characters. - The format for a gatherer name is: {gatherer}/{function} where the function is optional. - Gatherer consists of a lowercase letters only that may include underscores (_). - Function consists of a lowercase letters only that may include underscores (_) and is separated from the gatherer by a forward slash (/). - The particular gatherers can be found at https://github.com/openshift/insights-operator/blob/master/docs/gathered-data.md. - Run the following command to get the names of last active gatherers: - "oc get insightsoperators.operator.openshift.io cluster -o json | jq '.status.gatherStatus.gatherers[].name'" - maxLength: 256 - minLength: 1 - type: string - x-kubernetes-validations: - - message: gatherer name must be in the format of {gatherer}/{function} - where the gatherer and function are lowercase letters - only that may include underscores (_) and are separated - by a forward slash (/) if the function is provided - rule: self.matches("^[a-z]+[_a-z]*[a-z]([/a-z][_a-z]*)?[a-z]$") - state: - description: |- - state is a required field that allows you to configure specific gatherer. Valid values are "Enabled" and "Disabled". - When set to Enabled the gatherer will run. - When set to Disabled the gatherer will not run. - enum: - - Enabled - - Disabled - type: string - required: - - name - - state - type: object - maxItems: 100 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - required: - - configs - type: object - mode: - description: |- - mode is a required field that specifies the mode for gatherers. Allowed values are All and Custom. - When set to All, all gatherers will run and gather data. - When set to Custom, the custom configuration from the custom field will be applied. - enum: - - All - - Custom - type: string - required: - - mode - type: object - x-kubernetes-validations: - - message: custom is required when mode is Custom, and forbidden otherwise - rule: 'has(self.mode) && self.mode == ''Custom'' ? has(self.custom) - : !has(self.custom)' - storage: - description: |- - storage is an optional field that allows user to define persistent storage for gathering jobs to store the Insights data archive. - If omitted, the gathering job will use ephemeral storage. - properties: - persistentVolume: - description: |- - persistentVolume is an optional field that specifies the PersistentVolume that will be used to store the Insights data archive. - The PersistentVolume must be created in the openshift-insights namespace. - properties: - claim: - description: |- - claim is a required field that specifies the configuration of the PersistentVolumeClaim that will be used to store the Insights data archive. - The PersistentVolumeClaim must be created in the openshift-insights namespace. - properties: - name: - description: |- - name is the name of the PersistentVolumeClaim that will be used to store the Insights data archive. - It is a string that follows the DNS1123 subdomain format. - It must be at most 253 characters in length, and must consist only of lower case alphanumeric characters, '-' and '.', and must start and end with an alphanumeric character. - maxLength: 253 - minLength: 1 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist - of lower case alphanumeric characters, '-' or '.', - and must start and end with an alphanumeric character. - rule: '!format.dns1123Subdomain().validate(self).hasValue()' - required: - - name - type: object - mountPath: - description: |- - mountPath is an optional field specifying the directory where the PVC will be mounted inside the Insights data gathering Pod. - When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. - The current default mount path is /var/lib/insights-operator - The path may not exceed 1024 characters and must not contain a colon. - maxLength: 1024 - minLength: 1 - type: string - x-kubernetes-validations: - - message: mountPath must not contain a colon - rule: '!self.contains('':'')' - required: - - claim - type: object - type: - description: |- - type is a required field that specifies the type of storage that will be used to store the Insights data archive. - Valid values are "PersistentVolume" and "Ephemeral". - When set to Ephemeral, the Insights data archive is stored in the ephemeral storage of the gathering job. - When set to PersistentVolume, the Insights data archive is stored in the PersistentVolume that is - defined by the PersistentVolume field. - enum: - - PersistentVolume - - Ephemeral - type: string - required: - - type - type: object - x-kubernetes-validations: - - message: persistentVolume is required when type is PersistentVolume, - and forbidden otherwise - rule: 'has(self.type) && self.type == ''PersistentVolume'' ? has(self.persistentVolume) - : !has(self.persistentVolume)' - required: - - gatherers - type: object - status: - description: status holds observed values from the cluster. They may not - be overridden. - minProperties: 1 - properties: - conditions: - description: |- - conditions is an optional field that provides details on the status of the gatherer job. - It may not exceed 100 items and must not contain duplicates. - - The current condition types are DataUploaded, DataRecorded, DataProcessed, RemoteConfigurationNotAvailable, RemoteConfigurationInvalid - - The DataUploaded condition is used to represent whether or not the archive was successfully uploaded for further processing. - When it has a status of True and a reason of Succeeded, the archive was successfully uploaded. - When it has a status of Unknown and a reason of NoUploadYet, the upload has not occurred, or there was no data to upload. - When it has a status of False and a reason Failed, the upload failed. The accompanying message will include the specific error encountered. - - The DataRecorded condition is used to represent whether or not the archive was successfully recorded. - When it has a status of True and a reason of Succeeded, the archive was recorded successfully. - When it has a status of Unknown and a reason of NoDataGatheringYet, the data gathering process has not started yet. - When it has a status of False and a reason of RecordingFailed, the recording failed and a message will include the specific error encountered. - - The DataProcessed condition is used to represent whether or not the archive was processed by the processing service. - When it has a status of True and a reason of Processed, the data was processed successfully. - When it has a status of Unknown and a reason of NothingToProcessYet, there is no data to process at the moment. - When it has a status of False and a reason of Failure, processing failed and a message will include the specific error encountered. - - The RemoteConfigurationAvailable condition is used to represent whether the remote configuration is available. - When it has a status of Unknown and a reason of Unknown or RemoteConfigNotRequestedYet, the state of the remote configuration is unknown—typically at startup. - When it has a status of True and a reason of Succeeded, the configuration is available. - When it has a status of False and a reason of NoToken, the configuration was disabled by removing the cloud.openshift.com field from the pull secret. - When it has a status of False and a reason of DisabledByConfiguration, the configuration was disabled in insightsdatagather.config.openshift.io. - - The RemoteConfigurationValid condition is used to represent whether the remote configuration is valid. - When it has a status of Unknown and a reason of Unknown or NoValidationYet, the validity of the remote configuration is unknown—typically at startup. - When it has a status of True and a reason of Succeeded, the configuration is valid. - When it has a status of False and a reason of Invalid, the configuration is invalid. - - The Progressing condition is used to represent the phase of gathering - When it has a status of False and the reason is DataGatherPending, the gathering has not started yet. - When it has a status of True and reason is Gathering, the gathering is running. - When it has a status of False and reason is GatheringSucceeded, the gathering successfully finished. - When it has a status of False and reason is GatheringFailed, the gathering failed. - items: - description: Condition contains details for one aspect of the current - state of this API Resource. - 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. - 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 - maxItems: 100 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - type - x-kubernetes-list-type: map - finishTime: - description: finishTime is the time when Insights data gathering finished. - format: date-time - type: string - x-kubernetes-validations: - - message: finishTime is immutable once set - rule: self == oldSelf - gatherers: - description: gatherers is a list of active gatherers (and their statuses) - in the last gathering. - items: - description: |- - GathererStatus represents information about a particular - data gatherer. - properties: - conditions: - description: |- - conditions provide details on the status of each gatherer. - - The current condition type is DataGathered - - The DataGathered condition is used to represent whether or not the data was gathered by a gatherer specified by name. - When it has a status of True and a reason of GatheredOK, the data has been successfully gathered as expected. - When it has a status of False and a reason of NoData, no data was gathered—for example, when the resource is not present in the cluster. - When it has a status of False and a reason of GatherError, an error occurred and no data was gathered. - When it has a status of False and a reason of GatherPanic, a panic occurred during gathering and no data was collected. - When it has a status of False and a reason of GatherWithErrorReason, data was partially gathered or gathered with an error message. - items: - description: Condition contains details for one aspect of - the current state of this API Resource. - 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. - 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 - maxItems: 100 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - type - x-kubernetes-list-type: map - lastGatherSeconds: - description: lastGatherSeconds is required field that represents - the time spent gathering in seconds - format: int32 - minimum: 0 - type: integer - name: - description: |- - name is the required name of the gatherer. - It must contain at least 5 characters and may not exceed 256 characters. - maxLength: 256 - minLength: 5 - type: string - required: - - lastGatherSeconds - - name - type: object - maxItems: 100 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - name - x-kubernetes-list-type: map - insightsReport: - description: |- - insightsReport provides general Insights analysis results. - When omitted, this means no data gathering has taken place yet or the - corresponding Insights analysis (identified by "insightsRequestID") is not available. - properties: - downloadedTime: - description: downloadedTime is a required field that specifies - when the Insights report was last downloaded. - format: date-time - type: string - healthChecks: - description: |- - healthChecks is an optional field that provides basic information about active Insights - recommendations, which serve as proactive notifications for potential issues in the cluster. - When omitted, it means that there are no active recommendations in the cluster. - items: - description: HealthCheck represents an Insights health check - attributes. - properties: - advisorURI: - description: |- - advisorURI is required field that provides the URL link to the Insights Advisor. - The link must be a valid HTTPS URL and the maximum length is 2048 characters. - maxLength: 2048 - minLength: 1 - type: string - x-kubernetes-validations: - - message: advisorURI must be a valid HTTPS URL (e.g., https://example.com) - rule: isURL(self) && url(self).getScheme() == "https" - description: - description: |- - description is required field that provides basic description of the healthcheck. - It must contain at least 10 characters and may not exceed 2048 characters. - maxLength: 2048 - minLength: 10 - type: string - totalRisk: - description: |- - totalRisk is the required field of the healthcheck. - It is indicator of the total risk posed by the detected issue; combination of impact and likelihood. - Allowed values are Low, Moderate, Important and Critical. - The value represents the severity of the issue. - enum: - - Low - - Moderate - - Important - - Critical - type: string - required: - - advisorURI - - description - - totalRisk - type: object - maxItems: 100 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - advisorURI - - totalRisk - - description - x-kubernetes-list-type: map - uri: - description: |- - uri is a required field that provides the URL link from which the report was downloaded. - The link must be a valid HTTPS URL and the maximum length is 2048 characters. - maxLength: 2048 - minLength: 1 - type: string - x-kubernetes-validations: - - message: URI must be a valid HTTPS URL (e.g., https://example.com) - rule: isURL(self) && url(self).getScheme() == "https" - required: - - downloadedTime - - uri - type: object - insightsRequestID: - description: |- - insightsRequestID is an optional Insights request ID to track the status of the Insights analysis (in console.redhat.com processing pipeline) for the corresponding Insights data archive. - It may not exceed 256 characters and is immutable once set. - maxLength: 256 - minLength: 1 - type: string - x-kubernetes-validations: - - message: insightsRequestID is immutable once set - rule: self == oldSelf - relatedObjects: - description: |- - relatedObjects is an optional list of resources which are useful when debugging or inspecting the data gathering Pod - It may not exceed 100 items and must not contain duplicates. - items: - description: ObjectReference contains enough information to let - you inspect or modify the referred object. - properties: - group: - description: |- - group is required field that specifies the API Group of the Resource. - Enter empty string for the core group. - This value is empty or it should follow the DNS1123 subdomain format. - It must be at most 253 characters in length, and must consist only of lower case alphanumeric characters, '-' and '.', and must start with an alphabetic character and end with an alphanumeric character. - Example: "", "apps", "build.openshift.io", etc. - maxLength: 253 - minLength: 0 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist of lower - case alphanumeric characters, '-' or '.', and must start - with an alphabetic character and end with an alphanumeric - character. - rule: self.size() == 0 || !format.dns1123Subdomain().validate(self).hasValue() - name: - description: |- - name is required field that specifies the referent that follows the DNS1123 subdomain format. - It must be at most 253 characters in length, and must consist only of lower case alphanumeric characters, '-' and '.', and must start with an alphabetic character and end with an alphanumeric character.. - maxLength: 253 - minLength: 1 - type: string - x-kubernetes-validations: - - message: a lowercase RFC 1123 subdomain must consist of lower - case alphanumeric characters, '-' or '.', and must start - with an alphabetic character and end with an alphanumeric - character. - rule: '!format.dns1123Subdomain().validate(self).hasValue()' - namespace: - description: |- - namespace if required field of the referent that follows the DNS1123 labels format. - It must be at most 63 characters in length, and must must consist of only lowercase alphanumeric characters and hyphens, and must start with an alphabetic character and end with an alphanumeric character. - maxLength: 63 - minLength: 1 - type: string - x-kubernetes-validations: - - message: the value must consist of only lowercase alphanumeric - characters and hyphens, and must start with an alphabetic - character and end with an alphanumeric character. - rule: '!format.dns1123Label().validate(self).hasValue()' - resource: - description: |- - resource is required field of the type that is being referenced and follows the DNS1035 format. - It is normally the plural form of the resource kind in lowercase. - It must be at most 63 characters in length, and must must consist of only lowercase alphanumeric characters and hyphens, and must start with an alphabetic character and end with an alphanumeric character. - Example: "deployments", "deploymentconfigs", "pods", etc. - maxLength: 63 - minLength: 1 - type: string - x-kubernetes-validations: - - message: the value must consist of only lowercase alphanumeric - characters and hyphens, and must start with an alphabetic - character and end with an alphanumeric character. - rule: '!format.dns1035Label().validate(self).hasValue()' - required: - - group - - name - - namespace - - resource - type: object - maxItems: 100 - minItems: 1 - type: array - x-kubernetes-list-map-keys: - - name - - namespace - x-kubernetes-list-type: map - startTime: - description: startTime is the time when Insights data gathering started. - format: date-time - type: string - x-kubernetes-validations: - - message: startTime is immutable once set - rule: self == oldSelf - type: object - x-kubernetes-validations: - - message: cannot remove insightsRequestID attribute from status - rule: (!has(oldSelf.insightsRequestID) || has(self.insightsRequestID)) - - message: cannot remove startTime attribute from status - rule: (!has(oldSelf.startTime) || has(self.startTime)) - - message: cannot remove finishTime attribute from status - rule: (!has(oldSelf.finishTime) || has(self.finishTime)) - required: - - spec - type: object - served: true - storage: true - subresources: - status: {} diff --git a/payload-manifests/crds/0000_10_insights_01_datagathers-CustomNoUpgrade.crd.yaml b/payload-manifests/crds/0000_10_insights_01_datagathers.crd.yaml similarity index 99% rename from payload-manifests/crds/0000_10_insights_01_datagathers-CustomNoUpgrade.crd.yaml rename to payload-manifests/crds/0000_10_insights_01_datagathers.crd.yaml index 8dc51203bc9..5b8241c7471 100644 --- a/payload-manifests/crds/0000_10_insights_01_datagathers-CustomNoUpgrade.crd.yaml +++ b/payload-manifests/crds/0000_10_insights_01_datagathers.crd.yaml @@ -7,7 +7,6 @@ metadata: capability.openshift.io/name: Insights include.release.openshift.io/ibm-cloud-managed: "true" include.release.openshift.io/self-managed-high-availability: "true" - release.openshift.io/feature-set: CustomNoUpgrade name: datagathers.insights.openshift.io spec: group: insights.openshift.io diff --git a/payload-manifests/featuregates/featureGate-Hypershift-Default.yaml b/payload-manifests/featuregates/featureGate-Hypershift-Default.yaml index 6e7f38a3952..97f43749eec 100644 --- a/payload-manifests/featuregates/featureGate-Hypershift-Default.yaml +++ b/payload-manifests/featuregates/featureGate-Hypershift-Default.yaml @@ -144,12 +144,6 @@ { "name": "IngressControllerDynamicConfigurationManager" }, - { - "name": "InsightsConfig" - }, - { - "name": "InsightsOnDemandDataGather" - }, { "name": "IrreconcilableMachineConfig" }, @@ -287,6 +281,12 @@ { "name": "ImageVolume" }, + { + "name": "InsightsConfig" + }, + { + "name": "InsightsOnDemandDataGather" + }, { "name": "KMSv1" }, diff --git a/payload-manifests/featuregates/featureGate-Hypershift-OKD.yaml b/payload-manifests/featuregates/featureGate-Hypershift-OKD.yaml index f04e1374f45..4855fa3be3b 100644 --- a/payload-manifests/featuregates/featureGate-Hypershift-OKD.yaml +++ b/payload-manifests/featuregates/featureGate-Hypershift-OKD.yaml @@ -146,12 +146,6 @@ { "name": "IngressControllerDynamicConfigurationManager" }, - { - "name": "InsightsConfig" - }, - { - "name": "InsightsOnDemandDataGather" - }, { "name": "IrreconcilableMachineConfig" }, @@ -289,6 +283,12 @@ { "name": "ImageVolume" }, + { + "name": "InsightsConfig" + }, + { + "name": "InsightsOnDemandDataGather" + }, { "name": "KMSv1" }, diff --git a/payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml b/payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml index 72ba161bd2d..4a48feef8fa 100644 --- a/payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml +++ b/payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml @@ -147,12 +147,6 @@ { "name": "IngressControllerDynamicConfigurationManager" }, - { - "name": "InsightsConfig" - }, - { - "name": "InsightsOnDemandDataGather" - }, { "name": "IrreconcilableMachineConfig" }, @@ -278,6 +272,12 @@ { "name": "ImageVolume" }, + { + "name": "InsightsConfig" + }, + { + "name": "InsightsOnDemandDataGather" + }, { "name": "KMSv1" }, diff --git a/payload-manifests/featuregates/featureGate-SelfManagedHA-OKD.yaml b/payload-manifests/featuregates/featureGate-SelfManagedHA-OKD.yaml index 6b1778c2fe7..b37cc786d1f 100644 --- a/payload-manifests/featuregates/featureGate-SelfManagedHA-OKD.yaml +++ b/payload-manifests/featuregates/featureGate-SelfManagedHA-OKD.yaml @@ -149,12 +149,6 @@ { "name": "IngressControllerDynamicConfigurationManager" }, - { - "name": "InsightsConfig" - }, - { - "name": "InsightsOnDemandDataGather" - }, { "name": "IrreconcilableMachineConfig" }, @@ -280,6 +274,12 @@ { "name": "ImageVolume" }, + { + "name": "InsightsConfig" + }, + { + "name": "InsightsOnDemandDataGather" + }, { "name": "KMSv1" },