apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    api-approved.openshift.io: https://github.com/openshift/api/pull/1245
    include.release.openshift.io/ibm-cloud-managed: "true"
    include.release.openshift.io/self-managed-high-availability: "true"
    include.release.openshift.io/single-node-developer: "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. \n Compatibility level 4."
          type: object
          required:
            - spec
          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
              type: object
              properties:
                gatherConfig:
                  description: gatherConfig spec attribute includes all the configuration options related to gathering of the Insights data and its uploading to the ingress.
                  type: object
                  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 "IPsAndClusterDomain". When set to None the data is not obfuscated. When set to IPsAndClusterDomain the IP addresses and the cluster domain name are obfuscated. No value equals the "None" policy.
                      type: string
                      enum:
                        - ""
                        - None
                        - IPsAndClusterDomain
                    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 particular gatherers IDs can be found at https://github.com/openshift/insights-operator/blob/master/docs/gathered-data.md. An example of disabling gatherers looks like this: `disabledGatherers: ["clusterconfig/machine_configs", "workloads/workload_info"]`'
                      type: array
                      items:
                        type: string
            status:
              description: status holds observed values from the cluster. They may not be overridden.
              type: object
      served: true
      storage: true
      subresources:
        status: {}
