apiVersion: operators.coreos.com/v1alpha1
kind: ClusterServiceVersion
metadata:
  annotations:
    olm.skipRange: '>=..0 <1.1.0'
    features.operators.openshift.io/token-auth-azure: 'false'
    operators.openshift.io/valid-subscription: '["OpenShift Kubernetes Engine", "OpenShift Container Platform", "OpenShift Platform Plus"]'
    operators.operatorframework.io/builder: operator-sdk-v1.37.0
    features.operators.openshift.io/token-auth-gcp: 'false'
    operators.operatorframework.io/project_layout: unknown
    certified: 'false'
    olm.targetNamespaces: ''
    operatorframework.io/properties: '{"properties":[{"type":"olm.gvk","value":{"group":"monitoring.rhobs","kind":"Alertmanager","version":"v1"}},{"type":"olm.gvk","value":{"group":"monitoring.rhobs","kind":"AlertmanagerConfig","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"monitoring.rhobs","kind":"MonitoringStack","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"monitoring.rhobs","kind":"PodMonitor","version":"v1"}},{"type":"olm.gvk","value":{"group":"monitoring.rhobs","kind":"Probe","version":"v1"}},{"type":"olm.gvk","value":{"group":"monitoring.rhobs","kind":"Prometheus","version":"v1"}},{"type":"olm.gvk","value":{"group":"monitoring.rhobs","kind":"PrometheusAgent","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"monitoring.rhobs","kind":"PrometheusRule","version":"v1"}},{"type":"olm.gvk","value":{"group":"monitoring.rhobs","kind":"ScrapeConfig","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"monitoring.rhobs","kind":"ServiceMonitor","version":"v1"}},{"type":"olm.gvk","value":{"group":"monitoring.rhobs","kind":"ThanosQuerier","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"monitoring.rhobs","kind":"ThanosRuler","version":"v1"}},{"type":"olm.gvk","value":{"group":"observability.openshift.io","kind":"UIPlugin","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"perses.dev","kind":"Perses","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"perses.dev","kind":"PersesDashboard","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"perses.dev","kind":"PersesDatasource","version":"v1alpha1"}},{"type":"olm.package","value":{"packageName":"cluster-observability-operator","version":"1.1.0"}}]}'
    repository: 'https://github.com/rhobs/observability-operator'
    features.operators.openshift.io/token-auth-aws: 'false'
    support: 'Cluster Observability (https://issues.redhat.com/projects/COO/)'
    operatorframework.io/cluster-monitoring: 'true'
    alm-examples: |-
      [
        {
          "apiVersion": "monitoring.rhobs/v1alpha1",
          "kind": "MonitoringStack",
          "metadata": {
            "labels": {
              "mso": "example"
            },
            "name": "sample-monitoring-stack"
          },
          "spec": {
            "logLevel": "debug",
            "resourceSelector": {
              "matchLabels": {
                "app": "demo"
              }
            },
            "retention": "1d"
          }
        },
        {
          "apiVersion": "monitoring.rhobs/v1alpha1",
          "kind": "ThanosQuerier",
          "metadata": {
            "name": "example-thanos"
          },
          "spec": {
            "selector": {
              "matchLabels": {
                "mso": "example"
              }
            }
          }
        }
      ]
    capabilities: Basic Install
    features.operators.openshift.io/csi: 'false'
    features.operators.openshift.io/fips-compliant: 'false'
    features.operators.openshift.io/cnf: 'false'
    olm.operatorNamespace: openshift-cluster-observability-operator
    containerImage: 'registry.redhat.io/cluster-observability-operator/cluster-observability-rhel9-operator@sha256:933dd6a3aa8c3153c740fdd2b5144a644055250aa5465a60e3701477ba9488f7'
    operators.operatorframework.io/internal-objects: |-
      [
        "prometheuses.monitoring.rhobs",
        "alertmanagers.monitoring.rhobs",
        "thanosrulers.monitoring.rhobs",
        "prometheusagents.monitoring.rhobs",
        "perses.perses.dev"
      ]
    createdAt: '2025-03-11T15:00:28Z'
    features.operators.openshift.io/cni: 'false'
    categories: Monitoring
    features.operators.openshift.io/proxy-aware: 'false'
    operatorframework.io/suggested-namespace: openshift-cluster-observability-operator
    description: 'A Go based Kubernetes operator to setup and manage highly available Monitoring Stack using Prometheus, Alertmanager and Thanos Querier.'
    olm.operatorGroup: og-global
    features.operators.openshift.io/disconnected: 'true'
    features.operators.openshift.io/tls-profiles: 'false'
  resourceVersion: '33468'
  name: cluster-observability-operator.v1.1.0
  uid: 5ca5c98a-00eb-42b5-91ae-5ec5b12b9b71
  creationTimestamp: '2025-03-15T23:45:36Z'
  generation: 1
  managedFields:
    - apiVersion: operators.coreos.com/v1alpha1
      fieldsType: FieldsV1
      fieldsV1:
        'f:metadata':
          'f:annotations':
            'f:features.operators.openshift.io/csi': {}
            'f:features.operators.openshift.io/token-auth-aws': {}
            'f:features.operators.openshift.io/cnf': {}
            'f:operators.operatorframework.io/internal-objects': {}
            'f:features.operators.openshift.io/cni': {}
            'f:createdAt': {}
            'f:features.operators.openshift.io/proxy-aware': {}
            'f:alm-examples': {}
            'f:description': {}
            'f:capabilities': {}
            'f:features.operators.openshift.io/fips-compliant': {}
            'f:olm.skipRange': {}
            .: {}
            'f:operators.openshift.io/valid-subscription': {}
            'f:containerImage': {}
            'f:categories': {}
            'f:operatorframework.io/suggested-namespace': {}
            'f:operators.operatorframework.io/project_layout': {}
            'f:features.operators.openshift.io/disconnected': {}
            'f:features.operators.openshift.io/tls-profiles': {}
            'f:certified': {}
            'f:operatorframework.io/properties': {}
            'f:features.operators.openshift.io/token-auth-azure': {}
            'f:operators.operatorframework.io/builder': {}
            'f:features.operators.openshift.io/token-auth-gcp': {}
            'f:support': {}
            'f:operatorframework.io/cluster-monitoring': {}
            'f:repository': {}
          'f:labels':
            .: {}
            'f:olm.managed': {}
            'f:operatorframework.io/arch.amd64': {}
            'f:operatorframework.io/arch.arm64': {}
            'f:operatorframework.io/arch.ppc64le': {}
            'f:operatorframework.io/arch.s390x': {}
        'f:spec':
          'f:version': {}
          'f:maturity': {}
          'f:provider':
            .: {}
            'f:name': {}
          'f:links': {}
          'f:install':
            .: {}
            'f:spec':
              .: {}
              'f:clusterPermissions': {}
              'f:deployments': {}
            'f:strategy': {}
          'f:maintainers': {}
          'f:description': {}
          'f:installModes': {}
          'f:icon': {}
          'f:customresourcedefinitions':
            .: {}
            'f:owned': {}
          .: {}
          'f:relatedImages': {}
          'f:cleanup':
            .: {}
            'f:enabled': {}
          'f:apiservicedefinitions': {}
          'f:replaces': {}
          'f:displayName': {}
          'f:webhookdefinitions': {}
          'f:keywords': {}
      manager: catalog
      operation: Update
      time: '2025-03-15T23:45:36Z'
    - apiVersion: operators.coreos.com/v1alpha1
      fieldsType: FieldsV1
      fieldsV1:
        'f:metadata':
          'f:annotations':
            'f:olm.operatorGroup': {}
            'f:olm.operatorNamespace': {}
            'f:olm.targetNamespaces': {}
          'f:finalizers':
            .: {}
            'v:"operators.coreos.com/csv-cleanup"': {}
          'f:labels':
            'f:operators.coreos.com/cluster-observability-operator.openshift-cluster-observability': {}
      manager: olm
      operation: Update
      time: '2025-03-15T23:45:36Z'
    - apiVersion: operators.coreos.com/v1alpha1
      fieldsType: FieldsV1
      fieldsV1:
        'f:status':
          'f:lastUpdateTime': {}
          'f:requirementStatus': {}
          'f:phase': {}
          'f:certsRotateAt': {}
          'f:certsLastUpdated': {}
          'f:lastTransitionTime': {}
          'f:conditions': {}
          .: {}
          'f:cleanup': {}
          'f:message': {}
          'f:reason': {}
      manager: olm
      operation: Update
      subresource: status
      time: '2025-03-15T23:46:04Z'
  namespace: openshift-cluster-observability-operator
  finalizers:
    - operators.coreos.com/csv-cleanup
  labels:
    olm.managed: 'true'
    operatorframework.io/arch.amd64: supported
    operatorframework.io/arch.arm64: supported
    operatorframework.io/arch.ppc64le: supported
    operatorframework.io/arch.s390x: supported
    operators.coreos.com/cluster-observability-operator.openshift-cluster-observability: ''
spec:
  customresourcedefinitions:
    owned:
      - description: 'AlertmanagerConfig configures the Prometheus Alertmanager, specifying how alerts should be grouped, inhibited and notified to external systems'
        displayName: AlertmanagerConfig
        kind: AlertmanagerConfig
        name: alertmanagerconfigs.monitoring.rhobs
        version: v1alpha1
      - description: Alertmanager describes an Alertmanager cluster
        displayName: Alertmanager
        kind: Alertmanager
        name: alertmanagers.monitoring.rhobs
        version: v1
      - description: MonitoringStack is the Schema for the monitoringstacks API
        displayName: MonitoringStack
        kind: MonitoringStack
        name: monitoringstacks.monitoring.rhobs
        version: v1alpha1
      - kind: Perses
        name: perses.perses.dev
        version: v1alpha1
      - kind: PersesDashboard
        name: persesdashboards.perses.dev
        version: v1alpha1
      - kind: PersesDatasource
        name: persesdatasources.perses.dev
        version: v1alpha1
      - description: PodMonitor defines monitoring for a set of pods
        displayName: PodMonitor
        kind: PodMonitor
        name: podmonitors.monitoring.rhobs
        version: v1
      - description: Probe defines monitoring for a set of static targets or ingresses
        displayName: Probe
        kind: Probe
        name: probes.monitoring.rhobs
        version: v1
      - description: PrometheusAgent defines a Prometheus agent deployment
        displayName: PrometheusAgent
        kind: PrometheusAgent
        name: prometheusagents.monitoring.rhobs
        version: v1alpha1
      - description: Prometheus defines a Prometheus deployment
        displayName: Prometheus
        kind: Prometheus
        name: prometheuses.monitoring.rhobs
        version: v1
      - description: PrometheusRule defines recording and alerting rules for a Prometheus instance
        displayName: PrometheusRule
        kind: PrometheusRule
        name: prometheusrules.monitoring.rhobs
        version: v1
      - description: ScrapeConfig defines a namespaced Prometheus scrape_config to be aggregated across multiple namespaces into the Prometheus configuration
        displayName: ScrapeConfig
        kind: ScrapeConfig
        name: scrapeconfigs.monitoring.rhobs
        version: v1alpha1
      - description: ServiceMonitor defines monitoring for a set of services
        displayName: ServiceMonitor
        kind: ServiceMonitor
        name: servicemonitors.monitoring.rhobs
        version: v1
      - description: 'ThanosQuerier outlines the Thanos querier components, managed by this stack'
        displayName: ThanosQuerier
        kind: ThanosQuerier
        name: thanosqueriers.monitoring.rhobs
        version: v1alpha1
      - description: ThanosRuler defines a ThanosRuler deployment
        displayName: ThanosRuler
        kind: ThanosRuler
        name: thanosrulers.monitoring.rhobs
        version: v1
      - description: UIPlugin defines a console plugin for observability
        displayName: UIPlugin
        kind: UIPlugin
        name: uiplugins.observability.openshift.io
        version: v1alpha1
  relatedImages:
    - image: 'registry.redhat.io/cluster-observability-operator/cluster-observability-rhel9-operator@sha256:933dd6a3aa8c3153c740fdd2b5144a644055250aa5465a60e3701477ba9488f7'
      name: cluster-observability-operator
    - image: 'registry.redhat.io/cluster-observability-operator/obo-prometheus-operator-prometheus-config-reloader-rhel9@sha256:58f91156d4c79dd4ef67b399469e69e2d57fa0c274ce3bbdb3564be79dc8fe78'
      name: prometheus-config-reloader
    - image: 'registry.redhat.io/cluster-observability-operator/alertmanager-rhel9@sha256:e6ead0250e9face16634b3efc61290bd9b07b6b6e801b8acbe87a2b761871fc7'
      name: alertmanager
    - image: 'registry.redhat.io/cluster-observability-operator/prometheus-rhel9@sha256:8a37f4342005cb6897d5b41108859cfbdea2bec61fe9ac4e3b05b65e5bae221f'
      name: prometheus
    - image: 'registry.redhat.io/cluster-observability-operator/thanos-rhel9@sha256:8519dfe78cec4e9b506141c49f5d9b4ae4368cc6ebb247c412b6235039ff0262'
      name: thanos
    - image: 'registry.redhat.io/cluster-observability-operator/obo-prometheus-operator-admission-webhook-rhel9@sha256:166d878f4b8fa8a8114c8ffdb226cb9148026e94c42bc2ef547c6e782a043382'
      name: prometheus-operator-admission-webhook
    - image: 'registry.redhat.io/cluster-observability-operator/obo-prometheus-rhel9-operator@sha256:1d504fa84c97a690bd3244f0809ade8e513ececbbdeda71a311e373d6f306e74'
      name: prometheus-operator
    - image: 'registry.redhat.io/cluster-observability-operator/dashboards-console-plugin-0-4-rhel9@sha256:d762916d40daf8eedf38756a66bd49a379b3e5b11985ac869c48aa985304f8e4'
      name: ui-dashboards
    - image: 'registry.redhat.io/cluster-observability-operator/distributed-tracing-console-plugin-0-4-rhel9@sha256:bb857a4d2b72abae86fef744ea8e74bc4c6c08aa8ec168df940587ae91055697'
      name: ui-tracing
    - image: 'registry.redhat.io/cluster-observability-operator/distributed-tracing-console-plugin-0-3-rhel9@sha256:5aac72a477e674221ae1241e4212034a60120c8a9bf2f2668f7dfbaa80176126'
      name: ui-tracing-pf4
    - image: 'registry.redhat.io/cluster-observability-operator/logging-console-plugin-6-1-rhel9@sha256:ef913415222a8660e164818244ff8eb66d1edb16c7bd2abfc41d50e265035904'
      name: ui-logging
    - image: 'registry.redhat.io/cluster-observability-operator/logging-console-plugin-6-0-rhel9@sha256:b7d7a3f344e8694e0c5738aeb1ef805700c6c1c61edd50934c830454111aa398'
      name: ui-logging-pf4
    - image: 'registry.redhat.io/cluster-observability-operator/troubleshooting-panel-console-plugin-0-4-rhel9@sha256:2b4400d50a3443925637ad506c0f13a96a4679c4530e8650583aba720ac6d927'
      name: ui-troubleshooting
    - image: 'registry.redhat.io/cluster-observability-operator/monitoring-console-plugin-0-4-rhel9@sha256:1f7de303fdc2eff588161a51a189524d804aa6d1f7579d9d9211122816f1af9b'
      name: ui-monitoring
    - image: 'registry.redhat.io/cluster-observability-operator/korrel8r-rhel9@sha256:cd21a5f48195bb17fe37b1f558f1dee176594e36d76f0ebf7cdf92a532adf10c'
      name: korrel8r
    - image: 'registry.redhat.io/cluster-observability-operator/cluster-health-analyzer-0-4-rhel9@sha256:43cd8320be073abaab0d0bb178312d6b573d037060d357ff6d5663b4d7ece7fa'
      name: cluster-health-analyzer
    - image: 'registry.redhat.io/cluster-observability-operator/perses-0-50-rhel9@sha256:693518152abaef50c8bfe105189b95682cb0ada05cc3c79e4e8d5b5150a6e5f4'
      name: perses
    - image: 'registry.redhat.io/cluster-observability-operator/perses-operator-0-1-rhel9@sha256:53dfd71368c5105b8069331c2f73158f214c4c4934c0d652eb2ae3462c47d5ab'
      name: perses-operator
  cleanup:
    enabled: false
  apiservicedefinitions: {}
  webhookdefinitions:
    - generateName: alertmanagerconfigs.monitoring.rhobs
      containerPort: 443
      sideEffects: None
      deploymentName: obo-prometheus-operator-admission-webhook
      targetPort: https
      rules:
        - apiGroups:
            - monitoring.rhobs
          apiVersions:
            - '*'
          operations:
            - CREATE
            - UPDATE
          resources:
            - alertmanagerconfigs
          scope: Namespaced
      type: ValidatingAdmissionWebhook
      admissionReviewVersions:
        - v1
      webhookPath: /admission-alertmanagerconfigs/validate
      failurePolicy: Ignore
      timeoutSeconds: 5
    - generateName: prometheusrules.monitoring.rhobs
      containerPort: 443
      sideEffects: None
      deploymentName: obo-prometheus-operator-admission-webhook
      targetPort: https
      rules:
        - apiGroups:
            - monitoring.rhobs
          apiVersions:
            - '*'
          operations:
            - CREATE
            - UPDATE
          resources:
            - prometheusrules
          scope: Namespaced
      type: ValidatingAdmissionWebhook
      admissionReviewVersions:
        - v1
      webhookPath: /admission-prometheusrules/validate
      failurePolicy: Ignore
      timeoutSeconds: 5
  keywords:
    - observability
    - monitoring
    - prometheus
    - thanos
  displayName: Cluster Observability Operator
  provider:
    name: Red Hat
  maturity: alpha
  installModes:
    - supported: false
      type: OwnNamespace
    - supported: false
      type: SingleNamespace
    - supported: false
      type: MultiNamespace
    - supported: true
      type: AllNamespaces
  version: 1.1.0
  icon:
    - base64data: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0idXVpZC1kMWI4NDIzOC0wYzgxLTQ5MjctOGQ4Mi03OTcyN2Y5OGZjYWMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDM4IDM4Ij4KPHRpdGxlPkNsdXN0ZXIgb2JzZXJ2YWJpbGl0eTwvdGl0bGU+CjxkZXNjPmNsb3VkPC9kZXNjPgo8bWV0YWRhdGE+PD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOC4wLWMwMDEgMS4wMDAwMDAsIDAwMDAvMDAvMDAtMDA6MDA6MDAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPgogICAgICAgICA8IS0tIG1ldGFkYXRhIGZpZWxkcyAtLT4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+Cjw/eHBhY2tldCBlbmQ9InciPz48L21ldGFkYXRhPgo8ZGVmcz48c3R5bGU+LnV1aWQtMjRiMGQ5N2ItNjgxZS00ZGE2LWExYzctNzY3MWFlNTc1MzJhe2ZpbGw6I2UwZTBlMDt9LnV1aWQtMjRiMGQ5N2ItNjgxZS00ZGE2LWExYzctNzY3MWFlNTc1MzJhLC51dWlkLTk3YzFlYzg0LTliODEtNDU2ZS05OWFhLTcxMzc1MGViNjllMCwudXVpZC1mMDMyMTc4ZS1iZDUwLTRkZTctYjc3My02NjViZmQ1YzViYjgsLnV1aWQtNGJlZjgyMGItNTZjOS00N2U3LTgyYTMtMmRiOGQ4YzdiMTEye3N0cm9rZS13aWR0aDowcHg7fS51dWlkLTk3YzFlYzg0LTliODEtNDU2ZS05OWFhLTcxMzc1MGViNjllMHtmaWxsOiMwMDA7fS51dWlkLWYwMzIxNzhlLWJkNTAtNGRlNy1iNzczLTY2NWJmZDVjNWJiOHtmaWxsOiNlMDA7fS51dWlkLTRiZWY4MjBiLTU2YzktNDdlNy04MmEzLTJkYjhkOGM3YjExMntmaWxsOiNmZmY7fTwvc3R5bGU+PC9kZWZzPgo8cmVjdCBjbGFzcz0idXVpZC00YmVmODIwYi01NmM5LTQ3ZTctODJhMy0yZGI4ZDhjN2IxMTIiIHg9IjEiIHk9IjEiIHdpZHRoPSIzNiIgaGVpZ2h0PSIzNiIgcng9IjkiIHJ5PSI5Ii8+CjxwYXRoIGNsYXNzPSJ1dWlkLTI0YjBkOTdiLTY4MWUtNGRhNi1hMWM3LTc2NzFhZTU3NTMyYSIgZD0iTTI4LDIuMjVjNC4yNzM0LDAsNy43NSwzLjQ3NjYsNy43NSw3Ljc1djE4YzAsNC4yNzM0LTMuNDc2Niw3Ljc1LTcuNzUsNy43NUgxMGMtNC4yNzM0LDAtNy43NS0zLjQ3NjYtNy43NS03Ljc1VjEwYzAtNC4yNzM0LDMuNDc2Ni03Ljc1LDcuNzUtNy43NWgxOE0yOCwxSDEwQzUuMDI5NCwxLDEsNS4wMjk0LDEsMTB2MThjMCw0Ljk3MDYsNC4wMjk0LDksOSw5aDE4YzQuOTcwNiwwLDktNC4wMjk0LDktOVYxMGMwLTQuOTcwNi00LjAyOTQtOS05LTloMFoiLz4KPHBhdGggY2xhc3M9InV1aWQtZjAzMjE3OGUtYmQ1MC00ZGU3LWI3NzMtNjY1YmZkNWM1YmI4IiBkPSJNMjEuMzc1LDE5YzAsLjM0NTIuMjgwMy42MjUuNjI1LjYyNXMuNjI1LS4yNzk4LjYyNS0uNjI1YzAtMS45OTktMS42MjYtMy42MjUtMy42MjUtMy42MjUtLjM0NDcsMC0uNjI1LjI3OTgtLjYyNS42MjVzLjI4MDMuNjI1LjYyNS42MjVjMS4zMDk2LDAsMi4zNzUsMS4wNjU0LDIuMzc1LDIuMzc1WiIvPgo8cGF0aCBjbGFzcz0idXVpZC1mMDMyMTc4ZS1iZDUwLTRkZTctYjc3My02NjViZmQ1YzViYjgiIGQ9Ik0xOSwxMy4zNzVjLS43ODIyLDAtMS41MzkxLjE1NzctMi4yNS40NjgzLS4zMTY0LjEzODItLjQ2MDkuNTA2OC0uMzIyMy44MjMyLjEzNzcuMzE2NC41MDc4LjQ1ODUuODIyMy4zMjIzLjU1MjctLjI0MTIsMS4xNDE2LS4zNjM4LDEuNzUtLjM2MzgsMi40MTIxLDAsNC4zNzUsMS45NjI0LDQuMzc1LDQuMzc1cy0xLjk2MjksNC4zNzUtNC4zNzUsNC4zNzUtNC4zNzUtMS45NjI0LTQuMzc1LTQuMzc1YzAtLjYwODkuMTIyMS0xLjE5NzMuMzYzMy0xLjc0OTUuMTM4Ny0uMzE2NC0uMDA1OS0uNjg1MS0uMzIyMy0uODIzMi0uMzE0NS0uMTM5Mi0uNjgzNi4wMDU0LS44MjIzLjMyMjMtLjMxMTUuNzExNC0uNDY4OCwxLjQ2ODMtLjQ2ODgsMi4yNTA1LDAsMy4xMDE2LDIuNTIzNCw1LjYyNSw1LjYyNSw1LjYyNXM1LjYyNS0yLjUyMzQsNS42MjUtNS42MjUtMi41MjM0LTUuNjI1LTUuNjI1LTUuNjI1WiIvPgo8cGF0aCBjbGFzcz0idXVpZC05N2MxZWM4NC05YjgxLTQ1NmUtOTlhYS03MTM3NTBlYjY5ZTAiIGQ9Ik0zMC40NjY4LDE4LjczODhjLTIuMDU2Ni00LjQ3MzEtNi41NTc2LTcuMzYzOC0xMS40NjY4LTcuMzYzOHMtOS40MTAyLDIuODkwNi0xMS40NjY4LDcuMzYzOGMtLjA3NTIuMTY2LS4wNzUyLjM1NjQsMCwuNTIyNSwyLjA1NjYsNC40NzMxLDYuNTU3Niw3LjM2MzgsMTEuNDY2OCw3LjM2MzhzOS40MTAyLTIuODkwNiwxMS40NjY4LTcuMzYzOGMuMDc1Mi0uMTY2LjA3NTItLjM1NjQsMC0uNTIyNVpNMTksMjUuMzc1Yy00LjMyNjIsMC04LjMwMDgtMi40OTI3LTEwLjIwNjEtNi4zNzUsMS45MDUzLTMuODgyMyw1Ljg3OTktNi4zNzUsMTAuMjA2MS02LjM3NXM4LjMwMDgsMi40OTI3LDEwLjIwNjEsNi4zNzVjLTEuOTA1MywzLjg4MjMtNS44Nzk5LDYuMzc1LTEwLjIwNjEsNi4zNzVaIi8+CjxwYXRoIGNsYXNzPSJ1dWlkLTk3YzFlYzg0LTliODEtNDU2ZS05OWFhLTcxMzc1MGViNjllMCIgZD0iTTE1LjQ0MjQsMTQuNTU4MWMtLjI0NDEtLjI0NDEtLjY0MDYtLjI0NDEtLjg4NDgsMC0uMjQzMi4yNDQxLS4yNDMyLjYzOTYsMCwuODgzOGw0LDRjLjEyMjEuMTIyMS4yODIyLjE4MzEuNDQyNC4xODMxcy4zMjAzLS4wNjEuNDQyNC0uMTgzMWMuMjQzMi0uMjQ0MS4yNDMyLS42Mzk2LDAtLjg4MzhsLTQtNFoiLz4KPC9zdmc+Cg==
      mediatype: image/svg+xml
  links:
    - name: GitHub
      url: 'https://github.com/rhobs/observability-operator'
  install:
    spec:
      clusterPermissions:
        - rules:
            - apiGroups:
                - monitoring.rhobs
              resources:
                - alertmanagers
                - alertmanagers/finalizers
                - alertmanagers/status
                - alertmanagerconfigs
                - prometheuses
                - prometheuses/finalizers
                - prometheuses/status
                - prometheusagents
                - prometheusagents/finalizers
                - prometheusagents/status
                - thanosrulers
                - thanosrulers/finalizers
                - thanosrulers/status
                - scrapeconfigs
                - servicemonitors
                - podmonitors
                - probes
                - prometheusrules
              verbs:
                - '*'
            - apiGroups:
                - apps
              resources:
                - statefulsets
              verbs:
                - '*'
            - apiGroups:
                - ''
              resources:
                - configmaps
                - secrets
              verbs:
                - '*'
            - apiGroups:
                - ''
              resources:
                - pods
              verbs:
                - list
                - delete
            - apiGroups:
                - ''
              resources:
                - services
                - services/finalizers
              verbs:
                - get
                - create
                - update
                - delete
            - apiGroups:
                - ''
              resources:
                - nodes
              verbs:
                - list
                - watch
            - apiGroups:
                - ''
              resources:
                - namespaces
              verbs:
                - get
                - list
                - watch
            - apiGroups:
                - ''
              resources:
                - events
              verbs:
                - patch
                - create
            - apiGroups:
                - networking.k8s.io
              resources:
                - ingresses
              verbs:
                - get
                - list
                - watch
            - apiGroups:
                - storage.k8s.io
              resources:
                - storageclasses
              verbs:
                - get
            - apiGroups:
                - ''
              resources:
                - endpoints
              verbs:
                - get
                - create
                - update
                - delete
            - apiGroups:
                - security.openshift.io
              resourceNames:
                - nonroot-v2
                - nonroot
              resources:
                - securitycontextconstraints
              verbs:
                - use
          serviceAccountName: obo-prometheus-operator
        - rules:
            - apiGroups:
                - security.openshift.io
              resourceNames:
                - nonroot-v2
                - nonroot
              resources:
                - securitycontextconstraints
              verbs:
                - use
          serviceAccountName: obo-prometheus-operator-admission-webhook
        - rules:
            - apiGroups:
                - ''
              resources:
                - configmaps
                - secrets
                - serviceaccounts
                - services
              verbs:
                - create
                - delete
                - get
                - list
                - patch
                - update
                - watch
            - apiGroups:
                - ''
              resources:
                - endpoints
                - events
                - namespaces
                - nodes
                - persistentvolumeclaims
                - persistentvolumes
                - pods
                - replicationcontrollers
              verbs:
                - get
                - list
                - watch
            - apiGroups:
                - ''
              resources:
                - services/finalizers
              verbs:
                - patch
                - update
            - apiGroups:
                - apps
              resources:
                - daemonsets
                - replicasets
                - statefulsets
              verbs:
                - get
                - list
                - watch
            - apiGroups:
                - apps
              resources:
                - deployments
              verbs:
                - create
                - delete
                - get
                - list
                - patch
                - update
                - watch
            - apiGroups:
                - authentication.k8s.io
              resources:
                - tokenreviews
              verbs:
                - create
            - apiGroups:
                - authorization.k8s.io
              resources:
                - subjectaccessreviews
              verbs:
                - create
            - apiGroups:
                - autoscaling
              resources:
                - horizontalpodautoscalers
              verbs:
                - get
                - list
                - watch
            - apiGroups:
                - batch
              resources:
                - cronjobs
                - jobs
              verbs:
                - get
                - list
                - watch
            - apiGroups:
                - config.openshift.io
              resources:
                - clusterversions
              verbs:
                - get
                - list
                - watch
            - apiGroups:
                - console.openshift.io
              resources:
                - consoleplugins
              verbs:
                - create
                - delete
                - get
                - list
                - patch
                - update
                - watch
            - apiGroups:
                - extensions
                - networking.k8s.io
              resources:
                - ingresses
              verbs:
                - get
                - list
                - watch
            - apiGroups:
                - loki.grafana.com
              resources:
                - application
                - audit
                - infrastructure
                - network
              verbs:
                - get
            - apiGroups:
                - loki.grafana.com
              resources:
                - lokistacks
              verbs:
                - get
                - list
            - apiGroups:
                - monitoring.coreos.com
              resourceNames:
                - main
              resources:
                - alertmanagers/api
              verbs:
                - get
                - list
            - apiGroups:
                - monitoring.coreos.com
              resourceNames:
                - k8s
              resources:
                - prometheuses/api
              verbs:
                - create
                - get
                - update
            - apiGroups:
                - monitoring.coreos.com
              resources:
                - servicemonitors
              verbs:
                - create
                - delete
                - get
                - list
                - patch
                - update
                - watch
            - apiGroups:
                - monitoring.rhobs
              resources:
                - alertmanagers
                - prometheuses
                - servicemonitors
                - thanosqueriers
              verbs:
                - create
                - delete
                - list
                - patch
                - update
                - watch
            - apiGroups:
                - monitoring.rhobs
              resources:
                - monitoringstacks
              verbs:
                - create
                - get
                - list
                - update
                - watch
            - apiGroups:
                - monitoring.rhobs
              resources:
                - monitoringstacks/finalizers
                - monitoringstacks/status
              verbs:
                - get
                - update
            - apiGroups:
                - monitoring.rhobs
              resources:
                - thanosqueriers/finalizers
              verbs:
                - update
            - apiGroups:
                - monitoring.rhobs
              resources:
                - thanosqueriers/status
              verbs:
                - get
                - patch
                - update
            - apiGroups:
                - networking.k8s.io
              resources:
                - ingresses
                - networkpolicies
              verbs:
                - get
                - list
                - watch
            - apiGroups:
                - observability.openshift.io
              resources:
                - uiplugins
              verbs:
                - create
                - delete
                - get
                - list
                - patch
                - update
                - watch
            - apiGroups:
                - observability.openshift.io
              resources:
                - uiplugins/finalizers
                - uiplugins/status
              verbs:
                - get
                - update
            - apiGroups:
                - operator.openshift.io
              resources:
                - consoles
              verbs:
                - get
                - list
                - patch
                - watch
            - apiGroups:
                - perses.dev
              resources:
                - perses
                - persesdashboards
                - persesdatasources
              verbs:
                - create
                - delete
                - get
                - list
                - patch
                - update
                - watch
            - apiGroups:
                - perses.dev
              resources:
                - perses/finalizers
                - persesdashboards/finalizers
                - persesdatasources/finalizers
              verbs:
                - update
            - apiGroups:
                - perses.dev
              resources:
                - perses/status
                - persesdashboards/status
                - persesdatasources/status
              verbs:
                - get
                - patch
                - update
            - apiGroups:
                - policy
              resources:
                - poddisruptionbudgets
              verbs:
                - create
                - delete
                - get
                - list
                - patch
                - update
                - watch
            - apiGroups:
                - rbac.authorization.k8s.io
              resources:
                - clusterrolebindings
                - clusterroles
                - rolebindings
                - roles
              verbs:
                - create
                - delete
                - get
                - list
                - patch
                - update
                - watch
            - apiGroups:
                - security.openshift.io
              resourceNames:
                - nonroot
                - nonroot-v2
              resources:
                - securitycontextconstraints
              verbs:
                - use
            - apiGroups:
                - storage.k8s.io
              resources:
                - storageclasses
                - volumeattachments
              verbs:
                - get
                - list
                - watch
            - apiGroups:
                - tempo.grafana.com
              resources:
                - tempomonolithics
                - tempostacks
              verbs:
                - list
          serviceAccountName: observability-operator-sa
        - rules:
            - apiGroups:
                - apps
              resources:
                - deployments
                - statefulsets
              verbs:
                - create
                - delete
                - get
                - list
                - patch
                - update
                - watch
            - apiGroups:
                - ''
              resources:
                - events
              verbs:
                - create
                - patch
            - apiGroups:
                - ''
              resources:
                - services
                - configmaps
              verbs:
                - get
                - patch
                - update
                - create
                - delete
                - list
                - watch
            - apiGroups:
                - perses.dev
              resources:
                - perses
              verbs:
                - create
                - delete
                - get
                - list
                - patch
                - update
                - watch
            - apiGroups:
                - perses.dev
              resources:
                - perses/finalizers
              verbs:
                - update
            - apiGroups:
                - perses.dev
              resources:
                - perses/status
              verbs:
                - get
                - patch
                - update
            - apiGroups:
                - perses.dev
              resources:
                - persesdashboards
              verbs:
                - create
                - delete
                - get
                - list
                - patch
                - update
                - watch
            - apiGroups:
                - perses.dev
              resources:
                - persesdashboards/finalizers
              verbs:
                - update
            - apiGroups:
                - perses.dev
              resources:
                - persesdashboards/status
              verbs:
                - get
                - patch
                - update
            - apiGroups:
                - perses.dev
              resources:
                - persesdatasources
              verbs:
                - create
                - delete
                - get
                - list
                - patch
                - update
                - watch
            - apiGroups:
                - perses.dev
              resources:
                - persesdatasources/finalizers
              verbs:
                - update
            - apiGroups:
                - perses.dev
              resources:
                - persesdatasources/status
              verbs:
                - get
                - patch
                - update
          serviceAccountName: perses-operator
      deployments:
        - label:
            app.kubernetes.io/component: controller
            app.kubernetes.io/name: prometheus-operator
            app.kubernetes.io/part-of: observability-operator
            app.kubernetes.io/version: 0.80.1-rhobs1
          name: obo-prometheus-operator
          spec:
            replicas: 1
            selector:
              matchLabels:
                app.kubernetes.io/component: controller
                app.kubernetes.io/name: prometheus-operator
                app.kubernetes.io/part-of: observability-operator
            strategy: {}
            template:
              metadata:
                annotations:
                  kubectl.kubernetes.io/default-container: prometheus-operator
                  target.workload.openshift.io/management: '{"effect": "PreferredDuringScheduling"}'
                creationTimestamp: null
                labels:
                  app.kubernetes.io/component: controller
                  app.kubernetes.io/name: prometheus-operator
                  app.kubernetes.io/part-of: observability-operator
                  app.kubernetes.io/version: 0.80.1-rhobs1
              spec:
                affinity:
                  nodeAffinity:
                    preferredDuringSchedulingIgnoredDuringExecution:
                      - preference:
                          matchExpressions:
                            - key: node-role.kubernetes.io/infra
                              operator: Exists
                        weight: 1
                automountServiceAccountToken: true
                containers:
                  - args:
                      - '--prometheus-config-reloader=$(RELATED_IMAGE_PROMETHEUS_CONFIG_RELOADER)'
                      - '--prometheus-instance-selector=app.kubernetes.io/managed-by=observability-operator'
                      - '--alertmanager-instance-selector=app.kubernetes.io/managed-by=observability-operator'
                      - '--thanos-ruler-instance-selector=app.kubernetes.io/managed-by=observability-operator'
                    env:
                      - name: GOGC
                        value: '30'
                      - name: RELATED_IMAGE_PROMETHEUS_CONFIG_RELOADER
                        value: 'registry.redhat.io/cluster-observability-operator/obo-prometheus-operator-prometheus-config-reloader-rhel9@sha256:58f91156d4c79dd4ef67b399469e69e2d57fa0c274ce3bbdb3564be79dc8fe78'
                    image: 'registry.redhat.io/cluster-observability-operator/obo-prometheus-rhel9-operator@sha256:1d504fa84c97a690bd3244f0809ade8e513ececbbdeda71a311e373d6f306e74'
                    name: prometheus-operator
                    ports:
                      - containerPort: 8080
                        name: http
                        protocol: TCP
                    resources:
                      limits:
                        cpu: 100m
                        memory: 500Mi
                      requests:
                        cpu: 5m
                        memory: 150Mi
                    securityContext:
                      allowPrivilegeEscalation: false
                      capabilities:
                        drop:
                          - ALL
                      readOnlyRootFilesystem: true
                    terminationMessagePolicy: FallbackToLogsOnError
                securityContext:
                  runAsNonRoot: true
                  runAsUser: 65534
                serviceAccountName: obo-prometheus-operator
                tolerations:
                  - effect: NoSchedule
                    key: node-role.kubernetes.io/infra
                    operator: Exists
        - label:
            app.kubernetes.io/name: prometheus-operator-admission-webhook
            app.kubernetes.io/part-of: observability-operator
            app.kubernetes.io/version: 0.80.1-rhobs1
          name: obo-prometheus-operator-admission-webhook
          spec:
            replicas: 2
            selector:
              matchLabels:
                app.kubernetes.io/name: prometheus-operator-admission-webhook
                app.kubernetes.io/part-of: observability-operator
            strategy:
              rollingUpdate:
                maxUnavailable: 1
            template:
              metadata:
                annotations:
                  kubectl.kubernetes.io/default-container: prometheus-operator-admission-webhook
                creationTimestamp: null
                labels:
                  app.kubernetes.io/name: prometheus-operator-admission-webhook
                  app.kubernetes.io/part-of: observability-operator
                  app.kubernetes.io/version: 0.80.1-rhobs1
              spec:
                affinity:
                  nodeAffinity:
                    preferredDuringSchedulingIgnoredDuringExecution:
                      - preference:
                          matchExpressions:
                            - key: node-role.kubernetes.io/infra
                              operator: Exists
                        weight: 1
                  podAntiAffinity:
                    requiredDuringSchedulingIgnoredDuringExecution:
                      - labelSelector:
                          matchLabels:
                            app.kubernetes.io/name: prometheus-operator-admission-webhook
                            app.kubernetes.io/part-of: observability-operator
                        namespaces:
                          - default
                        topologyKey: kubernetes.io/hostname
                automountServiceAccountToken: false
                containers:
                  - args:
                      - '--web.enable-tls=true'
                      - '--web.cert-file=/tmp/k8s-webhook-server/serving-certs/tls.crt'
                      - '--web.key-file=/tmp/k8s-webhook-server/serving-certs/tls.key'
                    image: 'registry.redhat.io/cluster-observability-operator/obo-prometheus-operator-admission-webhook-rhel9@sha256:166d878f4b8fa8a8114c8ffdb226cb9148026e94c42bc2ef547c6e782a043382'
                    name: prometheus-operator-admission-webhook
                    ports:
                      - containerPort: 8443
                        name: https
                        protocol: TCP
                    resources:
                      limits:
                        cpu: 200m
                        memory: 200Mi
                      requests:
                        cpu: 50m
                        memory: 50Mi
                    securityContext:
                      allowPrivilegeEscalation: false
                      capabilities:
                        drop:
                          - ALL
                      readOnlyRootFilesystem: true
                    terminationMessagePolicy: FallbackToLogsOnError
                securityContext:
                  runAsNonRoot: true
                  runAsUser: 65534
                serviceAccountName: obo-prometheus-operator-admission-webhook
                tolerations:
                  - effect: NoSchedule
                    key: node-role.kubernetes.io/infra
                    operator: Exists
        - label:
            app.kubernetes.io/component: operator
            app.kubernetes.io/name: observability-operator
            app.kubernetes.io/version: 0.0.1
          name: observability-operator
          spec:
            replicas: 1
            selector:
              matchLabels:
                app.kubernetes.io/component: operator
                app.kubernetes.io/name: observability-operator
            strategy: {}
            template:
              metadata:
                creationTimestamp: null
                labels:
                  app.kubernetes.io/component: operator
                  app.kubernetes.io/name: observability-operator
                  app.kubernetes.io/version: 0.0.1
              spec:
                affinity:
                  nodeAffinity:
                    preferredDuringSchedulingIgnoredDuringExecution:
                      - preference:
                          matchExpressions:
                            - key: node-role.kubernetes.io/infra
                              operator: Exists
                        weight: 1
                containers:
                  - resources:
                      limits:
                        cpu: 50m
                        memory: 150Mi
                      requests:
                        cpu: 5m
                        memory: 50Mi
                    readinessProbe:
                      httpGet:
                        path: /healthz
                        port: 8081
                    name: operator
                    livenessProbe:
                      httpGet:
                        path: /healthz
                        port: 8081
                    env:
                      - name: NAMESPACE
                        valueFrom:
                          fieldRef:
                            fieldPath: metadata.namespace
                      - name: RELATED_IMAGE_ALERTMANAGER
                        value: 'registry.redhat.io/cluster-observability-operator/alertmanager-rhel9@sha256:e6ead0250e9face16634b3efc61290bd9b07b6b6e801b8acbe87a2b761871fc7'
                      - name: RELATED_IMAGE_PROMETHEUS
                        value: 'registry.redhat.io/cluster-observability-operator/prometheus-rhel9@sha256:8a37f4342005cb6897d5b41108859cfbdea2bec61fe9ac4e3b05b65e5bae221f'
                      - name: RELATED_IMAGE_THANOS
                        value: 'registry.redhat.io/cluster-observability-operator/thanos-rhel9@sha256:8519dfe78cec4e9b506141c49f5d9b4ae4368cc6ebb247c412b6235039ff0262'
                      - name: RELATED_IMAGE_PERSES
                        value: 'registry.redhat.io/cluster-observability-operator/perses-0-50-rhel9@sha256:693518152abaef50c8bfe105189b95682cb0ada05cc3c79e4e8d5b5150a6e5f4'
                      - name: RELATED_IMAGE_CONSOLE_DASHBOARDS_PLUGIN
                        value: 'registry.redhat.io/cluster-observability-operator/dashboards-console-plugin-0-4-rhel9@sha256:d762916d40daf8eedf38756a66bd49a379b3e5b11985ac869c48aa985304f8e4'
                      - name: RELATED_IMAGE_CONSOLE_DISTRIBUTED_TRACING_PLUGIN
                        value: 'registry.redhat.io/cluster-observability-operator/distributed-tracing-console-plugin-0-4-rhel9@sha256:bb857a4d2b72abae86fef744ea8e74bc4c6c08aa8ec168df940587ae91055697'
                      - name: RELATED_IMAGE_CONSOLE_DISTRIBUTED_TRACING_PLUGIN_PF4
                        value: 'registry.redhat.io/cluster-observability-operator/distributed-tracing-console-plugin-0-3-rhel9@sha256:5aac72a477e674221ae1241e4212034a60120c8a9bf2f2668f7dfbaa80176126'
                      - name: RELATED_IMAGE_CONSOLE_LOGGING_PLUGIN
                        value: 'registry.redhat.io/cluster-observability-operator/logging-console-plugin-6-1-rhel9@sha256:ef913415222a8660e164818244ff8eb66d1edb16c7bd2abfc41d50e265035904'
                      - name: RELATED_IMAGE_CONSOLE_LOGGING_PLUGIN_PF4
                        value: 'registry.redhat.io/cluster-observability-operator/logging-console-plugin-6-0-rhel9@sha256:b7d7a3f344e8694e0c5738aeb1ef805700c6c1c61edd50934c830454111aa398'
                      - name: RELATED_IMAGE_CONSOLE_TROUBLESHOOTING_PANEL_PLUGIN
                        value: 'registry.redhat.io/cluster-observability-operator/troubleshooting-panel-console-plugin-0-4-rhel9@sha256:2b4400d50a3443925637ad506c0f13a96a4679c4530e8650583aba720ac6d927'
                      - name: RELATED_IMAGE_CONSOLE_MONITORING_PLUGIN
                        value: 'registry.redhat.io/cluster-observability-operator/monitoring-console-plugin-0-4-rhel9@sha256:1f7de303fdc2eff588161a51a189524d804aa6d1f7579d9d9211122816f1af9b'
                      - name: RELATED_IMAGE_KORREL8R
                        value: 'registry.redhat.io/cluster-observability-operator/korrel8r-rhel9@sha256:cd21a5f48195bb17fe37b1f558f1dee176594e36d76f0ebf7cdf92a532adf10c'
                      - name: RELATED_IMAGE_CLUSTER_HEALTH_ANALYZER
                        value: 'registry.redhat.io/cluster-observability-operator/cluster-health-analyzer-0-4-rhel9@sha256:43cd8320be073abaab0d0bb178312d6b573d037060d357ff6d5663b4d7ece7fa'
                    securityContext:
                      allowPrivilegeEscalation: false
                      capabilities:
                        drop:
                          - ALL
                    imagePullPolicy: Always
                    volumeMounts:
                      - mountPath: /etc/tls/private
                        name: observability-operator-tls
                        readOnly: true
                    image: 'registry.redhat.io/cluster-observability-operator/cluster-observability-rhel9-operator@sha256:933dd6a3aa8c3153c740fdd2b5144a644055250aa5465a60e3701477ba9488f7'
                    args:
                      - '--namespace=$(NAMESPACE)'
                      - '--images=alertmanager=$(RELATED_IMAGE_ALERTMANAGER)'
                      - '--images=prometheus=$(RELATED_IMAGE_PROMETHEUS)'
                      - '--images=thanos=$(RELATED_IMAGE_THANOS)'
                      - '--images=perses=$(RELATED_IMAGE_PERSES)'
                      - '--images=ui-dashboards=$(RELATED_IMAGE_CONSOLE_DASHBOARDS_PLUGIN)'
                      - '--images=ui-distributed-tracing=$(RELATED_IMAGE_CONSOLE_DISTRIBUTED_TRACING_PLUGIN)'
                      - '--images=ui-distributed-tracing-pf4=$(RELATED_IMAGE_CONSOLE_DISTRIBUTED_TRACING_PLUGIN_PF4)'
                      - '--images=ui-logging=$(RELATED_IMAGE_CONSOLE_LOGGING_PLUGIN)'
                      - '--images=ui-logging-pf4=$(RELATED_IMAGE_CONSOLE_LOGGING_PLUGIN_PF4)'
                      - '--images=ui-troubleshooting-panel=$(RELATED_IMAGE_CONSOLE_TROUBLESHOOTING_PANEL_PLUGIN)'
                      - '--images=ui-monitoring=$(RELATED_IMAGE_CONSOLE_MONITORING_PLUGIN)'
                      - '--images=korrel8r=$(RELATED_IMAGE_KORREL8R)'
                      - '--images=health-analyzer=$(RELATED_IMAGE_CLUSTER_HEALTH_ANALYZER)'
                      - '--openshift.enabled=true'
                securityContext:
                  runAsNonRoot: true
                serviceAccountName: observability-operator-sa
                terminationGracePeriodSeconds: 30
                tolerations:
                  - effect: NoSchedule
                    key: node-role.kubernetes.io/infra
                    operator: Exists
                volumes:
                  - name: observability-operator-tls
                    secret:
                      optional: true
                      secretName: observability-operator-tls
        - label:
            app.kubernetes.io/component: controller
            app.kubernetes.io/name: perses-operator
            app.kubernetes.io/part-of: observability-operator
          name: perses-operator
          spec:
            replicas: 1
            selector:
              matchLabels:
                app.kubernetes.io/component: controller
                app.kubernetes.io/name: perses-operator
                app.kubernetes.io/part-of: observability-operator
            strategy: {}
            template:
              metadata:
                annotations:
                  kubectl.kubernetes.io/default-container: perses-operator
                creationTimestamp: null
                labels:
                  app.kubernetes.io/component: controller
                  app.kubernetes.io/name: perses-operator
                  app.kubernetes.io/part-of: observability-operator
              spec:
                affinity:
                  nodeAffinity:
                    preferredDuringSchedulingIgnoredDuringExecution:
                      - preference:
                          matchExpressions:
                            - key: node-role.kubernetes.io/infra
                              operator: Exists
                        weight: 1
                containers:
                  - image: 'registry.redhat.io/cluster-observability-operator/perses-operator-0-1-rhel9@sha256:53dfd71368c5105b8069331c2f73158f214c4c4934c0d652eb2ae3462c47d5ab'
                    livenessProbe:
                      httpGet:
                        path: /healthz
                        port: 8081
                      initialDelaySeconds: 15
                      periodSeconds: 20
                    name: perses-operator
                    readinessProbe:
                      httpGet:
                        path: /readyz
                        port: 8081
                      initialDelaySeconds: 5
                      periodSeconds: 10
                    resources:
                      limits:
                        cpu: 500m
                        memory: 128Mi
                      requests:
                        cpu: 10m
                        memory: 64Mi
                    securityContext:
                      allowPrivilegeEscalation: false
                      capabilities:
                        drop:
                          - ALL
                    volumeMounts:
                      - mountPath: /ca
                        name: openshift-service-ca
                        readOnly: true
                serviceAccountName: perses-operator
                tolerations:
                  - effect: NoSchedule
                    key: node-role.kubernetes.io/infra
                    operator: Exists
                volumes:
                  - configMap:
                      items:
                        - key: service-ca.crt
                          path: ca.crt
                      name: openshift-service-ca.crt
                      optional: true
                    name: openshift-service-ca
    strategy: deployment
  maintainers:
    - email: jfajersk@redhat.com
      name: Jan Fajerski
    - email: spasquie@redhat.com
      name: Simon Pasquier
  description: |-
    Cluster Observability Operator is a Go based Kubernetes operator to easily setup and manage various observability tools.
    ### Supported Features
    - Setup multiple Highly Available Monitoring stack using Prometheus, Alertmanager and Thanos Querier
    - Customizable configuration for managing Prometheus deployments
    - Customizable configuration for managing Alertmanager deployments
    - Customizable configuration for managing Thanos Querier deployments
    - Setup console plugins
    - Setup korrel8r
    - Setup Perses
    - Setup Cluster Health Analyzer
    ### Documentation
    - **[Documentation](https://docs.redhat.com/en/documentation/openshift_container_platform/latest/html/cluster_observability_operator/index)**
    ###  License
    Licensed under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0)
  replaces: cluster-observability-operator.v1.0.0
status:
  reason: InstallSucceeded
  cleanup: {}
  message: install strategy completed with no errors
  lastUpdateTime: '2025-03-15T23:46:04Z'
  requirementStatus:
    - group: apiextensions.k8s.io
      kind: CustomResourceDefinition
      message: CRD is present and Established condition is true
      name: alertmanagerconfigs.monitoring.rhobs
      status: Present
      uuid: 46107d71-3a1f-4bef-98a3-38c5f14f4ebc
      version: v1
    - group: apiextensions.k8s.io
      kind: CustomResourceDefinition
      message: CRD is present and Established condition is true
      name: alertmanagers.monitoring.rhobs
      status: Present
      uuid: 02be9025-1359-49ad-9fb8-8f349a14f8bd
      version: v1
    - group: apiextensions.k8s.io
      kind: CustomResourceDefinition
      message: CRD is present and Established condition is true
      name: monitoringstacks.monitoring.rhobs
      status: Present
      uuid: 3de1dd1c-3907-43db-b798-9bbcd1da13e3
      version: v1
    - group: apiextensions.k8s.io
      kind: CustomResourceDefinition
      message: CRD is present and Established condition is true
      name: perses.perses.dev
      status: Present
      uuid: 93e79971-77a7-4c11-a9d3-2b5be3eecceb
      version: v1
    - group: apiextensions.k8s.io
      kind: CustomResourceDefinition
      message: CRD is present and Established condition is true
      name: persesdashboards.perses.dev
      status: Present
      uuid: d9c9c3f4-732f-470d-a749-a53abf26ece7
      version: v1
    - group: apiextensions.k8s.io
      kind: CustomResourceDefinition
      message: CRD is present and Established condition is true
      name: persesdatasources.perses.dev
      status: Present
      uuid: a0911724-4a0a-4e56-ad53-993ff99afc6a
      version: v1
    - group: apiextensions.k8s.io
      kind: CustomResourceDefinition
      message: CRD is present and Established condition is true
      name: podmonitors.monitoring.rhobs
      status: Present
      uuid: b7de773a-4a6b-4f1f-9b35-425bd4801d4c
      version: v1
    - group: apiextensions.k8s.io
      kind: CustomResourceDefinition
      message: CRD is present and Established condition is true
      name: probes.monitoring.rhobs
      status: Present
      uuid: d32ce543-9290-4573-b603-12812bfcd359
      version: v1
    - group: apiextensions.k8s.io
      kind: CustomResourceDefinition
      message: CRD is present and Established condition is true
      name: prometheusagents.monitoring.rhobs
      status: Present
      uuid: 1ef4eb73-5fda-4c3c-bff4-aef905339238
      version: v1
    - group: apiextensions.k8s.io
      kind: CustomResourceDefinition
      message: CRD is present and Established condition is true
      name: prometheuses.monitoring.rhobs
      status: Present
      uuid: 290a76e2-baba-42bc-84c2-86eeb08328ad
      version: v1
    - group: apiextensions.k8s.io
      kind: CustomResourceDefinition
      message: CRD is present and Established condition is true
      name: prometheusrules.monitoring.rhobs
      status: Present
      uuid: 74d3a872-93a8-4987-973f-17c419c02056
      version: v1
    - group: apiextensions.k8s.io
      kind: CustomResourceDefinition
      message: CRD is present and Established condition is true
      name: scrapeconfigs.monitoring.rhobs
      status: Present
      uuid: b08207c0-79a1-4648-94b6-d95070c17baf
      version: v1
    - group: apiextensions.k8s.io
      kind: CustomResourceDefinition
      message: CRD is present and Established condition is true
      name: servicemonitors.monitoring.rhobs
      status: Present
      uuid: 77b1a288-7b40-49a7-8999-780d45ba41aa
      version: v1
    - group: apiextensions.k8s.io
      kind: CustomResourceDefinition
      message: CRD is present and Established condition is true
      name: thanosqueriers.monitoring.rhobs
      status: Present
      uuid: 9adb6f3d-578f-4138-94f0-e2895d69de90
      version: v1
    - group: apiextensions.k8s.io
      kind: CustomResourceDefinition
      message: CRD is present and Established condition is true
      name: thanosrulers.monitoring.rhobs
      status: Present
      uuid: 8f049234-6c80-4062-948a-216587e9e59a
      version: v1
    - group: apiextensions.k8s.io
      kind: CustomResourceDefinition
      message: CRD is present and Established condition is true
      name: uiplugins.observability.openshift.io
      status: Present
      uuid: d1621c08-ddcc-4f77-9ab9-a41a9d740be5
      version: v1
    - dependents:
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["*"],"apiGroups":["monitoring.rhobs"],"resources":["alertmanagers","alertmanagers/finalizers","alertmanagers/status","alertmanagerconfigs","prometheuses","prometheuses/finalizers","prometheuses/status","prometheusagents","prometheusagents/finalizers","prometheusagents/status","thanosrulers","thanosrulers/finalizers","thanosrulers/status","scrapeconfigs","servicemonitors","podmonitors","probes","prometheusrules"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["*"],"apiGroups":["apps"],"resources":["statefulsets"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["*"],"apiGroups":[""],"resources":["configmaps","secrets"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["list","delete"],"apiGroups":[""],"resources":["pods"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["get","create","update","delete"],"apiGroups":[""],"resources":["services","services/finalizers"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["list","watch"],"apiGroups":[""],"resources":["nodes"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["get","list","watch"],"apiGroups":[""],"resources":["namespaces"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["patch","create"],"apiGroups":[""],"resources":["events"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["get","list","watch"],"apiGroups":["networking.k8s.io"],"resources":["ingresses"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["get"],"apiGroups":["storage.k8s.io"],"resources":["storageclasses"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["get","create","update","delete"],"apiGroups":[""],"resources":["endpoints"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["use"],"apiGroups":["security.openshift.io"],"resources":["securitycontextconstraints"],"resourceNames":["nonroot-v2","nonroot"]}'
          status: Satisfied
          version: v1
      group: ''
      kind: ServiceAccount
      message: ''
      name: obo-prometheus-operator
      status: Present
      version: v1
    - dependents:
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["use"],"apiGroups":["security.openshift.io"],"resources":["securitycontextconstraints"],"resourceNames":["nonroot-v2","nonroot"]}'
          status: Satisfied
          version: v1
      group: ''
      kind: ServiceAccount
      message: ''
      name: obo-prometheus-operator-admission-webhook
      status: Present
      version: v1
    - dependents:
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":[""],"resources":["configmaps","secrets","serviceaccounts","services"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["get","list","watch"],"apiGroups":[""],"resources":["endpoints","events","namespaces","nodes","persistentvolumeclaims","persistentvolumes","pods","replicationcontrollers"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["patch","update"],"apiGroups":[""],"resources":["services/finalizers"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["get","list","watch"],"apiGroups":["apps"],"resources":["daemonsets","replicasets","statefulsets"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["apps"],"resources":["deployments"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["create"],"apiGroups":["authentication.k8s.io"],"resources":["tokenreviews"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["create"],"apiGroups":["authorization.k8s.io"],"resources":["subjectaccessreviews"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["get","list","watch"],"apiGroups":["autoscaling"],"resources":["horizontalpodautoscalers"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["get","list","watch"],"apiGroups":["batch"],"resources":["cronjobs","jobs"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["get","list","watch"],"apiGroups":["config.openshift.io"],"resources":["clusterversions"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["console.openshift.io"],"resources":["consoleplugins"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["get","list","watch"],"apiGroups":["extensions","networking.k8s.io"],"resources":["ingresses"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["get"],"apiGroups":["loki.grafana.com"],"resources":["application","audit","infrastructure","network"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["get","list"],"apiGroups":["loki.grafana.com"],"resources":["lokistacks"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["get","list"],"apiGroups":["monitoring.coreos.com"],"resources":["alertmanagers/api"],"resourceNames":["main"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["create","get","update"],"apiGroups":["monitoring.coreos.com"],"resources":["prometheuses/api"],"resourceNames":["k8s"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["monitoring.coreos.com"],"resources":["servicemonitors"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["create","delete","list","patch","update","watch"],"apiGroups":["monitoring.rhobs"],"resources":["alertmanagers","prometheuses","servicemonitors","thanosqueriers"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["create","get","list","update","watch"],"apiGroups":["monitoring.rhobs"],"resources":["monitoringstacks"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["get","update"],"apiGroups":["monitoring.rhobs"],"resources":["monitoringstacks/finalizers","monitoringstacks/status"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["update"],"apiGroups":["monitoring.rhobs"],"resources":["thanosqueriers/finalizers"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["get","patch","update"],"apiGroups":["monitoring.rhobs"],"resources":["thanosqueriers/status"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["get","list","watch"],"apiGroups":["networking.k8s.io"],"resources":["ingresses","networkpolicies"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["observability.openshift.io"],"resources":["uiplugins"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["get","update"],"apiGroups":["observability.openshift.io"],"resources":["uiplugins/finalizers","uiplugins/status"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["get","list","patch","watch"],"apiGroups":["operator.openshift.io"],"resources":["consoles"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["perses.dev"],"resources":["perses","persesdashboards","persesdatasources"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["update"],"apiGroups":["perses.dev"],"resources":["perses/finalizers","persesdashboards/finalizers","persesdatasources/finalizers"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["get","patch","update"],"apiGroups":["perses.dev"],"resources":["perses/status","persesdashboards/status","persesdatasources/status"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["policy"],"resources":["poddisruptionbudgets"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["rbac.authorization.k8s.io"],"resources":["clusterrolebindings","clusterroles","rolebindings","roles"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["use"],"apiGroups":["security.openshift.io"],"resources":["securitycontextconstraints"],"resourceNames":["nonroot","nonroot-v2"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["get","list","watch"],"apiGroups":["storage.k8s.io"],"resources":["storageclasses","volumeattachments"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["list"],"apiGroups":["tempo.grafana.com"],"resources":["tempomonolithics","tempostacks"]}'
          status: Satisfied
          version: v1
      group: ''
      kind: ServiceAccount
      message: ''
      name: observability-operator-sa
      status: Present
      version: v1
    - dependents:
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["apps"],"resources":["deployments","statefulsets"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["create","patch"],"apiGroups":[""],"resources":["events"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["get","patch","update","create","delete","list","watch"],"apiGroups":[""],"resources":["services","configmaps"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["perses.dev"],"resources":["perses"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["update"],"apiGroups":["perses.dev"],"resources":["perses/finalizers"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["get","patch","update"],"apiGroups":["perses.dev"],"resources":["perses/status"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["perses.dev"],"resources":["persesdashboards"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["update"],"apiGroups":["perses.dev"],"resources":["persesdashboards/finalizers"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["get","patch","update"],"apiGroups":["perses.dev"],"resources":["persesdashboards/status"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["perses.dev"],"resources":["persesdatasources"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["update"],"apiGroups":["perses.dev"],"resources":["persesdatasources/finalizers"]}'
          status: Satisfied
          version: v1
        - group: rbac.authorization.k8s.io
          kind: PolicyRule
          message: 'cluster rule:{"verbs":["get","patch","update"],"apiGroups":["perses.dev"],"resources":["persesdatasources/status"]}'
          status: Satisfied
          version: v1
      group: ''
      kind: ServiceAccount
      message: ''
      name: perses-operator
      status: Present
      version: v1
  certsLastUpdated: '2025-03-15T23:45:44Z'
  lastTransitionTime: '2025-03-15T23:46:04Z'
  conditions:
    - lastTransitionTime: '2025-03-15T23:45:36Z'
      lastUpdateTime: '2025-03-15T23:45:36Z'
      message: requirements not yet checked
      phase: Pending
      reason: RequirementsUnknown
    - lastTransitionTime: '2025-03-15T23:45:36Z'
      lastUpdateTime: '2025-03-15T23:45:36Z'
      message: one or more requirements couldn't be found
      phase: Pending
      reason: RequirementsNotMet
    - lastTransitionTime: '2025-03-15T23:45:40Z'
      lastUpdateTime: '2025-03-15T23:45:40Z'
      message: 'all requirements found, attempting install'
      phase: InstallReady
      reason: AllRequirementsMet
    - lastTransitionTime: '2025-03-15T23:45:42Z'
      lastUpdateTime: '2025-03-15T23:45:42Z'
      message: waiting for install components to report healthy
      phase: Installing
      reason: InstallSucceeded
    - lastTransitionTime: '2025-03-15T23:45:42Z'
      lastUpdateTime: '2025-03-15T23:45:44Z'
      message: 'installing: waiting for deployment obo-prometheus-operator to become ready: deployment "obo-prometheus-operator" not available: Deployment does not have minimum availability.'
      phase: Installing
      reason: InstallWaiting
    - lastTransitionTime: '2025-03-15T23:46:04Z'
      lastUpdateTime: '2025-03-15T23:46:04Z'
      message: install strategy completed with no errors
      phase: Succeeded
      reason: InstallSucceeded
  phase: Succeeded
  certsRotateAt: '2027-03-14T23:45:42Z'
