--- apiVersion: apps/v1 items: - apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "1" creationTimestamp: "2026-02-23T13:23:16Z" generation: 1 labels: app.kubernetes.io/component: controller app.kubernetes.io/name: prometheus-operator app.kubernetes.io/part-of: observability-operator app.kubernetes.io/version: 0.87.0-rhobs1 olm.deployment-spec-hash: 59vLohIaGbpfJWobcHYBDZQdCoeCuJqN1vGfnC olm.managed: "true" olm.owner: cluster-observability-operator.v1.3.1 olm.owner.kind: ClusterServiceVersion olm.owner.namespace: openshift-operators operators.coreos.com/cluster-observability-operator.openshift-operators: "" managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:labels: .: {} f:app.kubernetes.io/component: {} f:app.kubernetes.io/name: {} f:app.kubernetes.io/part-of: {} f:app.kubernetes.io/version: {} f:olm.deployment-spec-hash: {} f:olm.managed: {} f:olm.owner: {} f:olm.owner.kind: {} f:olm.owner.namespace: {} f:operators.coreos.com/cluster-observability-operator.openshift-operators: {} f:ownerReferences: .: {} k:{"uid":"5d1b2058-207f-44b9-9151-dd5c1c331ad0"}: {} f:spec: f:progressDeadlineSeconds: {} f:replicas: {} f:revisionHistoryLimit: {} f:selector: {} f:strategy: f:rollingUpdate: .: {} f:maxSurge: {} f:maxUnavailable: {} f:type: {} f:template: f:metadata: f:annotations: .: {} f:alm-examples: {} f:capabilities: {} f:categories: {} f:certified: {} f:containerImage: {} f:createdAt: {} f:description: {} f:features.operators.openshift.io/cnf: {} f:features.operators.openshift.io/cni: {} f:features.operators.openshift.io/csi: {} f:features.operators.openshift.io/disconnected: {} f:features.operators.openshift.io/fips-compliant: {} f:features.operators.openshift.io/proxy-aware: {} f:features.operators.openshift.io/tls-profiles: {} f:features.operators.openshift.io/token-auth-aws: {} f:features.operators.openshift.io/token-auth-azure: {} f:features.operators.openshift.io/token-auth-gcp: {} f:kubectl.kubernetes.io/default-container: {} f:olm.operatorGroup: {} f:olm.operatorNamespace: {} f:olm.skipRange: {} f:olm.targetNamespaces: {} f:operatorframework.io/cluster-monitoring: {} f:operatorframework.io/properties: {} f:operatorframework.io/suggested-namespace: {} f:operators.openshift.io/valid-subscription: {} f:operators.operatorframework.io/builder: {} f:operators.operatorframework.io/internal-objects: {} f:operators.operatorframework.io/project_layout: {} f:repository: {} f:support: {} f:target.workload.openshift.io/management: {} f:labels: .: {} f:app.kubernetes.io/component: {} f:app.kubernetes.io/name: {} f:app.kubernetes.io/part-of: {} f:app.kubernetes.io/version: {} f:spec: f:affinity: .: {} f:nodeAffinity: .: {} f:preferredDuringSchedulingIgnoredDuringExecution: {} f:automountServiceAccountToken: {} f:containers: k:{"name":"prometheus-operator"}: .: {} f:args: {} f:env: .: {} k:{"name":"GOGC"}: .: {} f:name: {} f:value: {} k:{"name":"OPERATOR_CONDITION_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_PROMETHEUS_CONFIG_RELOADER"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:ports: .: {} k:{"containerPort":8080,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:allowPrivilegeEscalation: {} f:capabilities: .: {} f:drop: {} f:readOnlyRootFilesystem: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:dnsPolicy: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:runAsUser: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:tolerations: {} manager: olm operation: Update time: "2026-02-23T13:23:16Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/revision: {} f:status: f:availableReplicas: {} f:conditions: .: {} k:{"type":"Available"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Progressing"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} f:updatedReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-02-23T13:23:26Z" name: obo-prometheus-operator namespace: openshift-operators ownerReferences: - apiVersion: operators.coreos.com/v1alpha1 blockOwnerDeletion: false controller: false kind: ClusterServiceVersion name: cluster-observability-operator.v1.3.1 uid: 5d1b2058-207f-44b9-9151-dd5c1c331ad0 resourceVersion: "20319" uid: c2d234a0-11f1-4635-b710-b6be2bdede38 spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 1 selector: matchLabels: app.kubernetes.io/component: controller app.kubernetes.io/name: prometheus-operator app.kubernetes.io/part-of: observability-operator strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: annotations: 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 categories: Monitoring certified: "false" containerImage: registry.redhat.io/cluster-observability-operator/cluster-observability-rhel9-operator@sha256:2ecf763b02048d2cf4c17967a7b2cacc7afd6af0e963a39579d876f8f4170e3c createdAt: "2025-12-05T12:43:59Z" description: A Go based Kubernetes operator to setup and manage highly available Monitoring Stack using Prometheus, Alertmanager and Thanos Querier. features.operators.openshift.io/cnf: "false" features.operators.openshift.io/cni: "false" features.operators.openshift.io/csi: "false" features.operators.openshift.io/disconnected: "true" features.operators.openshift.io/fips-compliant: "false" features.operators.openshift.io/proxy-aware: "false" features.operators.openshift.io/tls-profiles: "false" features.operators.openshift.io/token-auth-aws: "false" features.operators.openshift.io/token-auth-azure: "false" features.operators.openshift.io/token-auth-gcp: "false" kubectl.kubernetes.io/default-container: prometheus-operator olm.operatorGroup: global-operators olm.operatorNamespace: openshift-operators olm.skipRange: '>=..0 <1.3.1' olm.targetNamespaces: "" operatorframework.io/cluster-monitoring: "true" 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":"ObservabilityInstaller","version":"v1alpha1"}},{"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.3.1"}}]}' operatorframework.io/suggested-namespace: openshift-cluster-observability-operator operators.openshift.io/valid-subscription: '["OpenShift Kubernetes Engine", "OpenShift Container Platform", "OpenShift Platform Plus"]' operators.operatorframework.io/builder: operator-sdk-v1.41.1 operators.operatorframework.io/internal-objects: |- [ "prometheuses.monitoring.rhobs", "alertmanagers.monitoring.rhobs", "thanosrulers.monitoring.rhobs", "prometheusagents.monitoring.rhobs", "perses.perses.dev" ] operators.operatorframework.io/project_layout: unknown repository: https://github.com/rhobs/observability-operator support: Cluster Observability (https://issues.redhat.com/projects/COO/) 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.87.0-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 - --watch-referenced-objects-in-all-namespaces=true - --disable-unmanaged-prometheus-configuration=true 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:9a2097bc5b2e02bc1703f64c452ce8fe4bc6775b732db930ff4770b76ae4653a - name: OPERATOR_CONDITION_NAME value: cluster-observability-operator.v1.3.1 image: registry.redhat.io/cluster-observability-operator/obo-prometheus-rhel9-operator@sha256:e7e5f4c5e8ab0ba298ef0295a7137d438a42eb177d9322212cde6ba8f367912a imagePullPolicy: IfNotPresent 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 terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: runAsNonRoot: true runAsUser: 65534 serviceAccount: obo-prometheus-operator serviceAccountName: obo-prometheus-operator terminationGracePeriodSeconds: 30 tolerations: - effect: NoSchedule key: node-role.kubernetes.io/infra operator: Exists status: availableReplicas: 1 conditions: - lastTransitionTime: "2026-02-23T13:23:26Z" lastUpdateTime: "2026-02-23T13:23:26Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2026-02-23T13:23:16Z" lastUpdateTime: "2026-02-23T13:23:26Z" message: ReplicaSet "obo-prometheus-operator-68bc856cb9" has successfully progressed. reason: NewReplicaSetAvailable status: "True" type: Progressing observedGeneration: 1 readyReplicas: 1 replicas: 1 updatedReplicas: 1 - apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "1" creationTimestamp: "2026-02-23T13:23:16Z" generation: 1 labels: app.kubernetes.io/name: prometheus-operator-admission-webhook app.kubernetes.io/part-of: observability-operator app.kubernetes.io/version: 0.87.0-rhobs1 olm.deployment-spec-hash: bzre6jW09sfqqhJoSuqEP3ZBjCJl4JEOoM6yCU olm.managed: "true" olm.owner: cluster-observability-operator.v1.3.1 olm.owner.kind: ClusterServiceVersion olm.owner.namespace: openshift-operators operators.coreos.com/cluster-observability-operator.openshift-operators: "" managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:labels: .: {} f:app.kubernetes.io/name: {} f:app.kubernetes.io/part-of: {} f:app.kubernetes.io/version: {} f:olm.deployment-spec-hash: {} f:olm.managed: {} f:olm.owner: {} f:olm.owner.kind: {} f:olm.owner.namespace: {} f:operators.coreos.com/cluster-observability-operator.openshift-operators: {} f:ownerReferences: .: {} k:{"uid":"5d1b2058-207f-44b9-9151-dd5c1c331ad0"}: {} f:spec: f:progressDeadlineSeconds: {} f:replicas: {} f:revisionHistoryLimit: {} f:selector: {} f:strategy: f:rollingUpdate: .: {} f:maxSurge: {} f:maxUnavailable: {} f:type: {} f:template: f:metadata: f:annotations: .: {} f:alm-examples: {} f:capabilities: {} f:categories: {} f:certified: {} f:containerImage: {} f:createdAt: {} f:description: {} f:features.operators.openshift.io/cnf: {} f:features.operators.openshift.io/cni: {} f:features.operators.openshift.io/csi: {} f:features.operators.openshift.io/disconnected: {} f:features.operators.openshift.io/fips-compliant: {} f:features.operators.openshift.io/proxy-aware: {} f:features.operators.openshift.io/tls-profiles: {} f:features.operators.openshift.io/token-auth-aws: {} f:features.operators.openshift.io/token-auth-azure: {} f:features.operators.openshift.io/token-auth-gcp: {} f:kubectl.kubernetes.io/default-container: {} f:olm.operatorGroup: {} f:olm.operatorNamespace: {} f:olm.skipRange: {} f:olm.targetNamespaces: {} f:olmcahash: {} f:operatorframework.io/cluster-monitoring: {} f:operatorframework.io/properties: {} f:operatorframework.io/suggested-namespace: {} f:operators.openshift.io/valid-subscription: {} f:operators.operatorframework.io/builder: {} f:operators.operatorframework.io/internal-objects: {} f:operators.operatorframework.io/project_layout: {} f:repository: {} f:support: {} f:labels: .: {} f:app.kubernetes.io/name: {} f:app.kubernetes.io/part-of: {} f:app.kubernetes.io/version: {} f:spec: f:affinity: .: {} f:nodeAffinity: .: {} f:preferredDuringSchedulingIgnoredDuringExecution: {} f:podAntiAffinity: .: {} f:requiredDuringSchedulingIgnoredDuringExecution: {} f:automountServiceAccountToken: {} f:containers: k:{"name":"prometheus-operator-admission-webhook"}: .: {} f:args: {} f:env: .: {} k:{"name":"OPERATOR_CONDITION_NAME"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:ports: .: {} k:{"containerPort":8443,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:allowPrivilegeEscalation: {} f:capabilities: .: {} f:drop: {} f:readOnlyRootFilesystem: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/apiserver.local.config/certificates"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/tmp/k8s-webhook-server/serving-certs"}: .: {} f:mountPath: {} f:name: {} f:dnsPolicy: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:runAsUser: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:tolerations: {} f:volumes: .: {} k:{"name":"apiservice-cert"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:items: {} f:secretName: {} k:{"name":"webhook-cert"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:items: {} f:secretName: {} manager: olm operation: Update time: "2026-02-23T13:23:16Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/revision: {} f:status: f:availableReplicas: {} f:conditions: .: {} k:{"type":"Available"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Progressing"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} f:updatedReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-02-23T13:23:26Z" name: obo-prometheus-operator-admission-webhook namespace: openshift-operators ownerReferences: - apiVersion: operators.coreos.com/v1alpha1 blockOwnerDeletion: false controller: false kind: ClusterServiceVersion name: cluster-observability-operator.v1.3.1 uid: 5d1b2058-207f-44b9-9151-dd5c1c331ad0 resourceVersion: "20338" uid: 1cb65470-8524-4b50-a010-fd07c07c89ab spec: progressDeadlineSeconds: 600 replicas: 2 revisionHistoryLimit: 1 selector: matchLabels: app.kubernetes.io/name: prometheus-operator-admission-webhook app.kubernetes.io/part-of: observability-operator strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 1 type: RollingUpdate template: metadata: annotations: 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 categories: Monitoring certified: "false" containerImage: registry.redhat.io/cluster-observability-operator/cluster-observability-rhel9-operator@sha256:2ecf763b02048d2cf4c17967a7b2cacc7afd6af0e963a39579d876f8f4170e3c createdAt: "2025-12-05T12:43:59Z" description: A Go based Kubernetes operator to setup and manage highly available Monitoring Stack using Prometheus, Alertmanager and Thanos Querier. features.operators.openshift.io/cnf: "false" features.operators.openshift.io/cni: "false" features.operators.openshift.io/csi: "false" features.operators.openshift.io/disconnected: "true" features.operators.openshift.io/fips-compliant: "false" features.operators.openshift.io/proxy-aware: "false" features.operators.openshift.io/tls-profiles: "false" features.operators.openshift.io/token-auth-aws: "false" features.operators.openshift.io/token-auth-azure: "false" features.operators.openshift.io/token-auth-gcp: "false" kubectl.kubernetes.io/default-container: prometheus-operator-admission-webhook olm.operatorGroup: global-operators olm.operatorNamespace: openshift-operators olm.skipRange: '>=..0 <1.3.1' olm.targetNamespaces: "" olmcahash: c3dbbd55f4c45b8d5a439a08fb45cdbf78cb36789d81b961a2564616b571b97a operatorframework.io/cluster-monitoring: "true" 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":"ObservabilityInstaller","version":"v1alpha1"}},{"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.3.1"}}]}' operatorframework.io/suggested-namespace: openshift-cluster-observability-operator operators.openshift.io/valid-subscription: '["OpenShift Kubernetes Engine", "OpenShift Container Platform", "OpenShift Platform Plus"]' operators.operatorframework.io/builder: operator-sdk-v1.41.1 operators.operatorframework.io/internal-objects: |- [ "prometheuses.monitoring.rhobs", "alertmanagers.monitoring.rhobs", "thanosrulers.monitoring.rhobs", "prometheusagents.monitoring.rhobs", "perses.perses.dev" ] operators.operatorframework.io/project_layout: unknown repository: https://github.com/rhobs/observability-operator support: Cluster Observability (https://issues.redhat.com/projects/COO/) creationTimestamp: null labels: app.kubernetes.io/name: prometheus-operator-admission-webhook app.kubernetes.io/part-of: observability-operator app.kubernetes.io/version: 0.87.0-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 env: - name: OPERATOR_CONDITION_NAME value: cluster-observability-operator.v1.3.1 image: registry.redhat.io/cluster-observability-operator/obo-prometheus-operator-admission-webhook-rhel9@sha256:42ebc3571195d8c41fd01b8d08e98fe2cc12c1caabea251aecb4442d8eade4ea imagePullPolicy: IfNotPresent 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 terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /apiserver.local.config/certificates name: apiservice-cert - mountPath: /tmp/k8s-webhook-server/serving-certs name: webhook-cert dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: runAsNonRoot: true runAsUser: 65534 serviceAccount: obo-prometheus-operator-admission-webhook serviceAccountName: obo-prometheus-operator-admission-webhook terminationGracePeriodSeconds: 30 tolerations: - effect: NoSchedule key: node-role.kubernetes.io/infra operator: Exists volumes: - name: apiservice-cert secret: defaultMode: 420 items: - key: tls.crt path: apiserver.crt - key: tls.key path: apiserver.key secretName: obo-prometheus-operator-admission-webhook-service-cert - name: webhook-cert secret: defaultMode: 420 items: - key: tls.crt path: tls.crt - key: tls.key path: tls.key secretName: obo-prometheus-operator-admission-webhook-service-cert status: availableReplicas: 2 conditions: - lastTransitionTime: "2026-02-23T13:23:26Z" lastUpdateTime: "2026-02-23T13:23:26Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2026-02-23T13:23:16Z" lastUpdateTime: "2026-02-23T13:23:26Z" message: ReplicaSet "obo-prometheus-operator-admission-webhook-748c49b44b" has successfully progressed. reason: NewReplicaSetAvailable status: "True" type: Progressing observedGeneration: 1 readyReplicas: 2 replicas: 2 updatedReplicas: 2 - apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "1" creationTimestamp: "2026-02-23T13:23:16Z" generation: 1 labels: app.kubernetes.io/component: operator app.kubernetes.io/name: observability-operator app.kubernetes.io/version: 1.3.1 olm.deployment-spec-hash: 3CbJLL7wtVsFB31joNIcwmMc5UmNIhggZ9EvE2 olm.managed: "true" olm.owner: cluster-observability-operator.v1.3.1 olm.owner.kind: ClusterServiceVersion olm.owner.namespace: openshift-operators operators.coreos.com/cluster-observability-operator.openshift-operators: "" managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:labels: .: {} f:app.kubernetes.io/component: {} f:app.kubernetes.io/name: {} f:app.kubernetes.io/version: {} f:olm.deployment-spec-hash: {} f:olm.managed: {} f:olm.owner: {} f:olm.owner.kind: {} f:olm.owner.namespace: {} f:operators.coreos.com/cluster-observability-operator.openshift-operators: {} f:ownerReferences: .: {} k:{"uid":"5d1b2058-207f-44b9-9151-dd5c1c331ad0"}: {} f:spec: f:progressDeadlineSeconds: {} f:replicas: {} f:revisionHistoryLimit: {} f:selector: {} f:strategy: f:rollingUpdate: .: {} f:maxSurge: {} f:maxUnavailable: {} f:type: {} f:template: f:metadata: f:annotations: .: {} f:alm-examples: {} f:capabilities: {} f:categories: {} f:certified: {} f:containerImage: {} f:createdAt: {} f:description: {} f:features.operators.openshift.io/cnf: {} f:features.operators.openshift.io/cni: {} f:features.operators.openshift.io/csi: {} f:features.operators.openshift.io/disconnected: {} f:features.operators.openshift.io/fips-compliant: {} f:features.operators.openshift.io/proxy-aware: {} f:features.operators.openshift.io/tls-profiles: {} f:features.operators.openshift.io/token-auth-aws: {} f:features.operators.openshift.io/token-auth-azure: {} f:features.operators.openshift.io/token-auth-gcp: {} f:olm.operatorGroup: {} f:olm.operatorNamespace: {} f:olm.skipRange: {} f:olm.targetNamespaces: {} f:operatorframework.io/cluster-monitoring: {} f:operatorframework.io/properties: {} f:operatorframework.io/suggested-namespace: {} f:operators.openshift.io/valid-subscription: {} f:operators.operatorframework.io/builder: {} f:operators.operatorframework.io/internal-objects: {} f:operators.operatorframework.io/project_layout: {} f:repository: {} f:support: {} f:labels: .: {} f:app.kubernetes.io/component: {} f:app.kubernetes.io/name: {} f:app.kubernetes.io/version: {} f:spec: f:affinity: .: {} f:nodeAffinity: .: {} f:preferredDuringSchedulingIgnoredDuringExecution: {} f:containers: k:{"name":"operator"}: .: {} f:args: {} f:env: .: {} k:{"name":"NAMESPACE"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} k:{"name":"OPERATOR_CONDITION_NAME"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_ALERTMANAGER"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_CLUSTER_HEALTH_ANALYZER"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_CONSOLE_DASHBOARDS_PLUGIN"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_CONSOLE_DISTRIBUTED_TRACING_PLUGIN"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_CONSOLE_DISTRIBUTED_TRACING_PLUGIN_PF4"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_CONSOLE_DISTRIBUTED_TRACING_PLUGIN_PF5"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_CONSOLE_LOGGING_PLUGIN"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_CONSOLE_LOGGING_PLUGIN_PF4"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_CONSOLE_MONITORING_PLUGIN"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_CONSOLE_MONITORING_PLUGIN_PF5"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_CONSOLE_TROUBLESHOOTING_PANEL_PLUGIN"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_KORREL8R"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_PERSES"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_PROMETHEUS"}: .: {} f:name: {} f:value: {} k:{"name":"RELATED_IMAGE_THANOS"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:allowPrivilegeEscalation: {} f:capabilities: .: {} f:drop: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/tls/private"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:dnsPolicy: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:tolerations: {} f:volumes: .: {} k:{"name":"observability-operator-tls"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:optional: {} f:secretName: {} manager: olm operation: Update time: "2026-02-23T13:23:16Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/revision: {} f:status: f:availableReplicas: {} f:conditions: .: {} k:{"type":"Available"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Progressing"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} f:updatedReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-02-23T13:23:26Z" name: observability-operator namespace: openshift-operators ownerReferences: - apiVersion: operators.coreos.com/v1alpha1 blockOwnerDeletion: false controller: false kind: ClusterServiceVersion name: cluster-observability-operator.v1.3.1 uid: 5d1b2058-207f-44b9-9151-dd5c1c331ad0 resourceVersion: "20346" uid: 302a5360-d258-460d-a8a4-e737da596b46 spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 1 selector: matchLabels: app.kubernetes.io/component: operator app.kubernetes.io/name: observability-operator strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: annotations: 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 categories: Monitoring certified: "false" containerImage: registry.redhat.io/cluster-observability-operator/cluster-observability-rhel9-operator@sha256:2ecf763b02048d2cf4c17967a7b2cacc7afd6af0e963a39579d876f8f4170e3c createdAt: "2025-12-05T12:43:59Z" description: A Go based Kubernetes operator to setup and manage highly available Monitoring Stack using Prometheus, Alertmanager and Thanos Querier. features.operators.openshift.io/cnf: "false" features.operators.openshift.io/cni: "false" features.operators.openshift.io/csi: "false" features.operators.openshift.io/disconnected: "true" features.operators.openshift.io/fips-compliant: "false" features.operators.openshift.io/proxy-aware: "false" features.operators.openshift.io/tls-profiles: "false" features.operators.openshift.io/token-auth-aws: "false" features.operators.openshift.io/token-auth-azure: "false" features.operators.openshift.io/token-auth-gcp: "false" olm.operatorGroup: global-operators olm.operatorNamespace: openshift-operators olm.skipRange: '>=..0 <1.3.1' olm.targetNamespaces: "" operatorframework.io/cluster-monitoring: "true" 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":"ObservabilityInstaller","version":"v1alpha1"}},{"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.3.1"}}]}' operatorframework.io/suggested-namespace: openshift-cluster-observability-operator operators.openshift.io/valid-subscription: '["OpenShift Kubernetes Engine", "OpenShift Container Platform", "OpenShift Platform Plus"]' operators.operatorframework.io/builder: operator-sdk-v1.41.1 operators.operatorframework.io/internal-objects: |- [ "prometheuses.monitoring.rhobs", "alertmanagers.monitoring.rhobs", "thanosrulers.monitoring.rhobs", "prometheusagents.monitoring.rhobs", "perses.perses.dev" ] operators.operatorframework.io/project_layout: unknown repository: https://github.com/rhobs/observability-operator support: Cluster Observability (https://issues.redhat.com/projects/COO/) creationTimestamp: null labels: app.kubernetes.io/component: operator app.kubernetes.io/name: observability-operator app.kubernetes.io/version: 1.3.1 spec: affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - preference: matchExpressions: - key: node-role.kubernetes.io/infra operator: Exists weight: 1 containers: - args: - --namespace=$(NAMESPACE) - --images=perses=$(RELATED_IMAGE_PERSES) - --images=alertmanager=$(RELATED_IMAGE_ALERTMANAGER) - --images=prometheus=$(RELATED_IMAGE_PROMETHEUS) - --images=thanos=$(RELATED_IMAGE_THANOS) - --images=ui-dashboards=$(RELATED_IMAGE_CONSOLE_DASHBOARDS_PLUGIN) - --images=ui-distributed-tracing=$(RELATED_IMAGE_CONSOLE_DISTRIBUTED_TRACING_PLUGIN) - --images=ui-distributed-tracing-pf5=$(RELATED_IMAGE_CONSOLE_DISTRIBUTED_TRACING_PLUGIN_PF5) - --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=ui-monitoring-pf5=$(RELATED_IMAGE_CONSOLE_MONITORING_PLUGIN_PF5) - --images=korrel8r=$(RELATED_IMAGE_KORREL8R) - --images=health-analyzer=$(RELATED_IMAGE_CLUSTER_HEALTH_ANALYZER) - --openshift.enabled=true env: - name: NAMESPACE valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: RELATED_IMAGE_ALERTMANAGER value: registry.redhat.io/cluster-observability-operator/alertmanager-rhel9@sha256:dc62889b883f597de91b5389cc52c84c607247d49a807693be2f688e4703dfc3 - name: RELATED_IMAGE_PROMETHEUS value: registry.redhat.io/cluster-observability-operator/prometheus-rhel9@sha256:1b555e21bba7c609111ace4380382a696d9aceeb6e9816bf9023b8f689b6c741 - name: RELATED_IMAGE_THANOS value: registry.redhat.io/cluster-observability-operator/thanos-rhel9@sha256:a223bab813b82d698992490bbb60927f6288a83ba52d539836c250e1471f6d34 - name: RELATED_IMAGE_PERSES value: registry.redhat.io/cluster-observability-operator/perses-rhel9@sha256:e797cdb47beef40b04da7b6d645bca3dc32e6247003c45b56b38efd9e13bf01c - name: RELATED_IMAGE_CONSOLE_DASHBOARDS_PLUGIN value: registry.redhat.io/cluster-observability-operator/dashboards-console-plugin-rhel9@sha256:093d2731ac848ed5fd57356b155a19d3bf7b8db96d95b09c5d0095e143f7254f - name: RELATED_IMAGE_CONSOLE_DISTRIBUTED_TRACING_PLUGIN value: registry.redhat.io/cluster-observability-operator/distributed-tracing-console-plugin-rhel9@sha256:7d662a120305e2528acc7e9142b770b5b6a7f4932ddfcadfa4ac953935124895 - name: RELATED_IMAGE_CONSOLE_DISTRIBUTED_TRACING_PLUGIN_PF5 value: registry.redhat.io/cluster-observability-operator/distributed-tracing-console-plugin-pf5-rhel9@sha256:75465aabb0aa427a5c531a8fcde463f6d119afbcc618ebcbf6b7ee9bc8aad160 - name: RELATED_IMAGE_CONSOLE_DISTRIBUTED_TRACING_PLUGIN_PF4 value: registry.redhat.io/cluster-observability-operator/distributed-tracing-console-plugin-pf4-rhel9@sha256:dc18c8d6a4a9a0a574a57cc5082c8a9b26023bd6d69b9732892d584c1dfe5070 - name: RELATED_IMAGE_CONSOLE_LOGGING_PLUGIN value: registry.redhat.io/cluster-observability-operator/logging-console-plugin-rhel9@sha256:369729978cecdc13c99ef3d179f8eb8a450a4a0cb70b63c27a55a15d1710ba27 - name: RELATED_IMAGE_CONSOLE_LOGGING_PLUGIN_PF4 value: registry.redhat.io/cluster-observability-operator/logging-console-plugin-pf4-rhel9@sha256:d8c7a61d147f62b204d5c5f16864386025393453c9a81ea327bbd25d7765d611 - name: RELATED_IMAGE_CONSOLE_TROUBLESHOOTING_PANEL_PLUGIN value: registry.redhat.io/cluster-observability-operator/troubleshooting-panel-console-plugin-rhel9@sha256:b4a6eb1cc118a4334b424614959d8b7f361ddd779b3a72690ca49b0a3f26d9b8 - name: RELATED_IMAGE_CONSOLE_MONITORING_PLUGIN value: registry.redhat.io/cluster-observability-operator/monitoring-console-plugin-rhel9@sha256:21d4fff670893ba4b7fbc528cd49f8b71c8281cede9ef84f0697065bb6a7fc50 - name: RELATED_IMAGE_CONSOLE_MONITORING_PLUGIN_PF5 value: registry.redhat.io/cluster-observability-operator/monitoring-console-plugin-pf5-rhel9@sha256:12d9dbe297a1c3b9df671f21156992082bc483887d851fafe76e5d17321ff474 - name: RELATED_IMAGE_KORREL8R value: registry.redhat.io/cluster-observability-operator/korrel8r-rhel9@sha256:e65c37f04f6d76a0cbfe05edb3cddf6a8f14f859ee35cf3aebea8fcb991d2c19 - name: RELATED_IMAGE_CLUSTER_HEALTH_ANALYZER value: registry.redhat.io/cluster-observability-operator/cluster-health-analyzer-rhel9@sha256:48e4e178c6eeaa9d5dd77a591c185a311b4b4a5caadb7199d48463123e31dc9e - name: OPERATOR_CONDITION_NAME value: cluster-observability-operator.v1.3.1 image: registry.redhat.io/cluster-observability-operator/cluster-observability-rhel9-operator@sha256:2ecf763b02048d2cf4c17967a7b2cacc7afd6af0e963a39579d876f8f4170e3c imagePullPolicy: Always livenessProbe: failureThreshold: 3 httpGet: path: /healthz port: 8081 scheme: HTTP periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 name: operator readinessProbe: failureThreshold: 3 httpGet: path: /healthz port: 8081 scheme: HTTP periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 resources: limits: cpu: 400m memory: 512Mi requests: cpu: 100m memory: 256Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /etc/tls/private name: observability-operator-tls readOnly: true dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: runAsNonRoot: true serviceAccount: observability-operator-sa serviceAccountName: observability-operator-sa terminationGracePeriodSeconds: 30 tolerations: - effect: NoSchedule key: node-role.kubernetes.io/infra operator: Exists volumes: - name: observability-operator-tls secret: defaultMode: 420 optional: true secretName: observability-operator-tls status: availableReplicas: 1 conditions: - lastTransitionTime: "2026-02-23T13:23:26Z" lastUpdateTime: "2026-02-23T13:23:26Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2026-02-23T13:23:16Z" lastUpdateTime: "2026-02-23T13:23:26Z" message: ReplicaSet "observability-operator-59bdc8b94" has successfully progressed. reason: NewReplicaSetAvailable status: "True" type: Progressing observedGeneration: 1 readyReplicas: 1 replicas: 1 updatedReplicas: 1 - apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "1" creationTimestamp: "2026-02-23T13:23:17Z" generation: 1 labels: app.kubernetes.io/component: controller app.kubernetes.io/name: perses-operator app.kubernetes.io/part-of: observability-operator olm.deployment-spec-hash: 6ySFvVRzHoEIoH9ajYakAlCN8l0coYZprOxwLp olm.managed: "true" olm.owner: cluster-observability-operator.v1.3.1 olm.owner.kind: ClusterServiceVersion olm.owner.namespace: openshift-operators operators.coreos.com/cluster-observability-operator.openshift-operators: "" managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:labels: .: {} f:app.kubernetes.io/component: {} f:app.kubernetes.io/name: {} f:app.kubernetes.io/part-of: {} f:olm.deployment-spec-hash: {} f:olm.managed: {} f:olm.owner: {} f:olm.owner.kind: {} f:olm.owner.namespace: {} f:operators.coreos.com/cluster-observability-operator.openshift-operators: {} f:ownerReferences: .: {} k:{"uid":"5d1b2058-207f-44b9-9151-dd5c1c331ad0"}: {} f:spec: f:progressDeadlineSeconds: {} f:replicas: {} f:revisionHistoryLimit: {} f:selector: {} f:strategy: f:rollingUpdate: .: {} f:maxSurge: {} f:maxUnavailable: {} f:type: {} f:template: f:metadata: f:annotations: .: {} f:alm-examples: {} f:capabilities: {} f:categories: {} f:certified: {} f:containerImage: {} f:createdAt: {} f:description: {} f:features.operators.openshift.io/cnf: {} f:features.operators.openshift.io/cni: {} f:features.operators.openshift.io/csi: {} f:features.operators.openshift.io/disconnected: {} f:features.operators.openshift.io/fips-compliant: {} f:features.operators.openshift.io/proxy-aware: {} f:features.operators.openshift.io/tls-profiles: {} f:features.operators.openshift.io/token-auth-aws: {} f:features.operators.openshift.io/token-auth-azure: {} f:features.operators.openshift.io/token-auth-gcp: {} f:kubectl.kubernetes.io/default-container: {} f:olm.operatorGroup: {} f:olm.operatorNamespace: {} f:olm.skipRange: {} f:olm.targetNamespaces: {} f:operatorframework.io/cluster-monitoring: {} f:operatorframework.io/properties: {} f:operatorframework.io/suggested-namespace: {} f:operators.openshift.io/valid-subscription: {} f:operators.operatorframework.io/builder: {} f:operators.operatorframework.io/internal-objects: {} f:operators.operatorframework.io/project_layout: {} f:repository: {} f:support: {} f:labels: .: {} f:app.kubernetes.io/component: {} f:app.kubernetes.io/name: {} f:app.kubernetes.io/part-of: {} f:spec: f:affinity: .: {} f:nodeAffinity: .: {} f:preferredDuringSchedulingIgnoredDuringExecution: {} f:containers: k:{"name":"perses-operator"}: .: {} f:env: .: {} k:{"name":"OPERATOR_CONDITION_NAME"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:resources: .: {} f:limits: .: {} f:cpu: {} f:memory: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:allowPrivilegeEscalation: {} f:capabilities: .: {} f:drop: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/ca"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:dnsPolicy: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:tolerations: {} f:volumes: .: {} k:{"name":"openshift-service-ca"}: .: {} f:configMap: .: {} f:defaultMode: {} f:items: {} f:name: {} f:optional: {} f:name: {} manager: olm operation: Update time: "2026-02-23T13:23:17Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/revision: {} f:status: f:availableReplicas: {} f:conditions: .: {} k:{"type":"Available"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Progressing"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} f:updatedReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-02-23T13:23:37Z" name: perses-operator namespace: openshift-operators ownerReferences: - apiVersion: operators.coreos.com/v1alpha1 blockOwnerDeletion: false controller: false kind: ClusterServiceVersion name: cluster-observability-operator.v1.3.1 uid: 5d1b2058-207f-44b9-9151-dd5c1c331ad0 resourceVersion: "20588" uid: 034c9661-bcf9-4649-8d1b-4a7822cb4fe8 spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 1 selector: matchLabels: app.kubernetes.io/component: controller app.kubernetes.io/name: perses-operator app.kubernetes.io/part-of: observability-operator strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: annotations: 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 categories: Monitoring certified: "false" containerImage: registry.redhat.io/cluster-observability-operator/cluster-observability-rhel9-operator@sha256:2ecf763b02048d2cf4c17967a7b2cacc7afd6af0e963a39579d876f8f4170e3c createdAt: "2025-12-05T12:43:59Z" description: A Go based Kubernetes operator to setup and manage highly available Monitoring Stack using Prometheus, Alertmanager and Thanos Querier. features.operators.openshift.io/cnf: "false" features.operators.openshift.io/cni: "false" features.operators.openshift.io/csi: "false" features.operators.openshift.io/disconnected: "true" features.operators.openshift.io/fips-compliant: "false" features.operators.openshift.io/proxy-aware: "false" features.operators.openshift.io/tls-profiles: "false" features.operators.openshift.io/token-auth-aws: "false" features.operators.openshift.io/token-auth-azure: "false" features.operators.openshift.io/token-auth-gcp: "false" kubectl.kubernetes.io/default-container: perses-operator olm.operatorGroup: global-operators olm.operatorNamespace: openshift-operators olm.skipRange: '>=..0 <1.3.1' olm.targetNamespaces: "" operatorframework.io/cluster-monitoring: "true" 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":"ObservabilityInstaller","version":"v1alpha1"}},{"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.3.1"}}]}' operatorframework.io/suggested-namespace: openshift-cluster-observability-operator operators.openshift.io/valid-subscription: '["OpenShift Kubernetes Engine", "OpenShift Container Platform", "OpenShift Platform Plus"]' operators.operatorframework.io/builder: operator-sdk-v1.41.1 operators.operatorframework.io/internal-objects: |- [ "prometheuses.monitoring.rhobs", "alertmanagers.monitoring.rhobs", "thanosrulers.monitoring.rhobs", "prometheusagents.monitoring.rhobs", "perses.perses.dev" ] operators.operatorframework.io/project_layout: unknown repository: https://github.com/rhobs/observability-operator support: Cluster Observability (https://issues.redhat.com/projects/COO/) 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: - env: - name: OPERATOR_CONDITION_NAME value: cluster-observability-operator.v1.3.1 image: registry.redhat.io/cluster-observability-operator/perses-rhel9-operator@sha256:b5c8526d2ae660fe092dd8a7acf18ec4957d5c265890a222f55396fc2cdaeed8 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 3 httpGet: path: /healthz port: 8081 scheme: HTTP initialDelaySeconds: 15 periodSeconds: 20 successThreshold: 1 timeoutSeconds: 1 name: perses-operator readinessProbe: failureThreshold: 3 httpGet: path: /readyz port: 8081 scheme: HTTP initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 resources: limits: cpu: 500m memory: 512Mi requests: cpu: 100m memory: 128Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /ca name: openshift-service-ca readOnly: true dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} serviceAccount: perses-operator serviceAccountName: perses-operator terminationGracePeriodSeconds: 30 tolerations: - effect: NoSchedule key: node-role.kubernetes.io/infra operator: Exists volumes: - configMap: defaultMode: 420 items: - key: service-ca.crt path: service-ca.crt name: openshift-service-ca.crt optional: true name: openshift-service-ca status: availableReplicas: 1 conditions: - lastTransitionTime: "2026-02-23T13:23:37Z" lastUpdateTime: "2026-02-23T13:23:37Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2026-02-23T13:23:17Z" lastUpdateTime: "2026-02-23T13:23:37Z" message: ReplicaSet "perses-operator-5bf474d74f" has successfully progressed. reason: NewReplicaSetAvailable status: "True" type: Progressing observedGeneration: 1 readyReplicas: 1 replicas: 1 updatedReplicas: 1 kind: DeploymentList metadata: resourceVersion: "38834"