--- apiVersion: apps/v1 items: - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "1" deployment.kubernetes.io/max-replicas: "2" deployment.kubernetes.io/revision: "1" creationTimestamp: "2026-03-19T09:44:08Z" 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.89.0-rhobs1 pod-template-hash: 8ff7d675 managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/desired-replicas: {} f:deployment.kubernetes.io/max-replicas: {} f:deployment.kubernetes.io/revision: {} f:labels: .: {} f:app.kubernetes.io/component: {} f:app.kubernetes.io/name: {} f:app.kubernetes.io/part-of: {} f:app.kubernetes.io/version: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"17e5100a-5eed-4b57-941c-14cb748b628d"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:annotations: .: {} f:alm-examples: {} f:capabilities: {} f:categories: {} f:certified: {} f:console.openshift.io/operator-monitoring-default: {} 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:pod-template-hash: {} 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: kube-controller-manager operation: Update time: "2026-03-19T09:44:08Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:availableReplicas: {} f:fullyLabeledReplicas: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-03-19T09:44:20Z" name: obo-prometheus-operator-8ff7d675 namespace: openshift-operators ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: obo-prometheus-operator uid: 17e5100a-5eed-4b57-941c-14cb748b628d resourceVersion: "20914" uid: 2faf9941-6977-4217-a282-8ee5efd71ef2 spec: replicas: 1 selector: matchLabels: app.kubernetes.io/component: controller app.kubernetes.io/name: prometheus-operator app.kubernetes.io/part-of: observability-operator pod-template-hash: 8ff7d675 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, Observability certified: "false" console.openshift.io/operator-monitoring-default: "true" containerImage: registry.redhat.io/cluster-observability-operator/cluster-observability-rhel9-operator@sha256:29ffc7689432fad53f18d3e12a1b335b69d49dbdcb7d8b4a77078bc7f79f941f createdAt: "2026-03-09T07:53:46Z" 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.4.0' 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":"Perses","version":"v1alpha2"}},{"type":"olm.gvk","value":{"group":"perses.dev","kind":"PersesDashboard","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"perses.dev","kind":"PersesDashboard","version":"v1alpha2"}},{"type":"olm.gvk","value":{"group":"perses.dev","kind":"PersesDatasource","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"perses.dev","kind":"PersesDatasource","version":"v1alpha2"}},{"type":"olm.gvk","value":{"group":"perses.dev","kind":"PersesGlobalDatasource","version":"v1alpha2"}},{"type":"olm.package","value":{"packageName":"cluster-observability-operator","version":"1.4.0"}}]}' 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.89.0-rhobs1 pod-template-hash: 8ff7d675 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:e4412f5688c9725f36d2f566f624d82a1a2a5b957686245fd2defcc39604bdc2 - name: OPERATOR_CONDITION_NAME value: cluster-observability-operator.v1.4.0 image: registry.redhat.io/cluster-observability-operator/obo-prometheus-rhel9-operator@sha256:161082f81c8c77471a421b3b4bcb8a47ca64aa08a5dd1abf27e7f2f964b35a2a 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 fullyLabeledReplicas: 1 observedGeneration: 1 readyReplicas: 1 replicas: 1 - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "2" deployment.kubernetes.io/max-replicas: "3" deployment.kubernetes.io/revision: "1" creationTimestamp: "2026-03-19T09:44:09Z" generation: 1 labels: app.kubernetes.io/name: prometheus-operator-admission-webhook app.kubernetes.io/part-of: observability-operator app.kubernetes.io/version: 0.89.0-rhobs1 pod-template-hash: 64887bc684 managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/desired-replicas: {} f:deployment.kubernetes.io/max-replicas: {} f:deployment.kubernetes.io/revision: {} f:labels: .: {} f:app.kubernetes.io/name: {} f:app.kubernetes.io/part-of: {} f:app.kubernetes.io/version: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"3f3b7df5-8d09-4c6d-9b32-113bdf7b14ce"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:annotations: .: {} f:alm-examples: {} f:capabilities: {} f:categories: {} f:certified: {} f:console.openshift.io/operator-monitoring-default: {} 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:pod-template-hash: {} 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: kube-controller-manager operation: Update time: "2026-03-19T09:44:09Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:availableReplicas: {} f:fullyLabeledReplicas: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-03-19T09:44:20Z" name: obo-prometheus-operator-admission-webhook-64887bc684 namespace: openshift-operators ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: obo-prometheus-operator-admission-webhook uid: 3f3b7df5-8d09-4c6d-9b32-113bdf7b14ce resourceVersion: "20908" uid: 87841e12-7a5b-4e08-b5b5-4b844cbafb29 spec: replicas: 2 selector: matchLabels: app.kubernetes.io/name: prometheus-operator-admission-webhook app.kubernetes.io/part-of: observability-operator pod-template-hash: 64887bc684 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, Observability certified: "false" console.openshift.io/operator-monitoring-default: "true" containerImage: registry.redhat.io/cluster-observability-operator/cluster-observability-rhel9-operator@sha256:29ffc7689432fad53f18d3e12a1b335b69d49dbdcb7d8b4a77078bc7f79f941f createdAt: "2026-03-09T07:53:46Z" 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.4.0' olm.targetNamespaces: "" olmcahash: 0e6293127256a892305b2d8014acd6425e594ac81d3f883ed57347cbea6e28c1 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":"Perses","version":"v1alpha2"}},{"type":"olm.gvk","value":{"group":"perses.dev","kind":"PersesDashboard","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"perses.dev","kind":"PersesDashboard","version":"v1alpha2"}},{"type":"olm.gvk","value":{"group":"perses.dev","kind":"PersesDatasource","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"perses.dev","kind":"PersesDatasource","version":"v1alpha2"}},{"type":"olm.gvk","value":{"group":"perses.dev","kind":"PersesGlobalDatasource","version":"v1alpha2"}},{"type":"olm.package","value":{"packageName":"cluster-observability-operator","version":"1.4.0"}}]}' 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.89.0-rhobs1 pod-template-hash: 64887bc684 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.4.0 image: registry.redhat.io/cluster-observability-operator/obo-prometheus-operator-admission-webhook-rhel9@sha256:fb1030480e5a55ead0d9748615a2e4b9228522f14b77a782f44407883c24ba93 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 fullyLabeledReplicas: 2 observedGeneration: 1 readyReplicas: 2 replicas: 2 - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "1" deployment.kubernetes.io/max-replicas: "2" deployment.kubernetes.io/revision: "1" creationTimestamp: "2026-03-19T09:44:09Z" generation: 1 labels: app.kubernetes.io/component: operator app.kubernetes.io/name: observability-operator app.kubernetes.io/version: 1.4.0 pod-template-hash: 6dd7dd855f managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/desired-replicas: {} f:deployment.kubernetes.io/max-replicas: {} f:deployment.kubernetes.io/revision: {} f:labels: .: {} f:app.kubernetes.io/component: {} f:app.kubernetes.io/name: {} f:app.kubernetes.io/version: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"e54be8af-d5ad-473e-a6a6-64b5e60d3886"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:annotations: .: {} f:alm-examples: {} f:capabilities: {} f:categories: {} f:certified: {} f:console.openshift.io/operator-monitoring-default: {} 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:pod-template-hash: {} 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: kube-controller-manager operation: Update time: "2026-03-19T09:44:09Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:availableReplicas: {} f:fullyLabeledReplicas: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-03-19T09:44:19Z" name: observability-operator-6dd7dd855f namespace: openshift-operators ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: observability-operator uid: e54be8af-d5ad-473e-a6a6-64b5e60d3886 resourceVersion: "20892" uid: ff1c21c1-6cec-496a-b0cb-da0ac3f5d39e spec: replicas: 1 selector: matchLabels: app.kubernetes.io/component: operator app.kubernetes.io/name: observability-operator pod-template-hash: 6dd7dd855f 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, Observability certified: "false" console.openshift.io/operator-monitoring-default: "true" containerImage: registry.redhat.io/cluster-observability-operator/cluster-observability-rhel9-operator@sha256:29ffc7689432fad53f18d3e12a1b335b69d49dbdcb7d8b4a77078bc7f79f941f createdAt: "2026-03-09T07:53:46Z" 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.4.0' 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":"Perses","version":"v1alpha2"}},{"type":"olm.gvk","value":{"group":"perses.dev","kind":"PersesDashboard","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"perses.dev","kind":"PersesDashboard","version":"v1alpha2"}},{"type":"olm.gvk","value":{"group":"perses.dev","kind":"PersesDatasource","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"perses.dev","kind":"PersesDatasource","version":"v1alpha2"}},{"type":"olm.gvk","value":{"group":"perses.dev","kind":"PersesGlobalDatasource","version":"v1alpha2"}},{"type":"olm.package","value":{"packageName":"cluster-observability-operator","version":"1.4.0"}}]}' 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.4.0 pod-template-hash: 6dd7dd855f 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:2c134b5f108734069cd37d566c1a9f56c050cf9d209248863b09023dddb50874 - name: RELATED_IMAGE_PROMETHEUS value: registry.redhat.io/cluster-observability-operator/prometheus-rhel9@sha256:cf7bcbc6648378b2d34252493fdfc4186d83f518a7e79106a86ea263e0630a0e - name: RELATED_IMAGE_THANOS value: registry.redhat.io/cluster-observability-operator/thanos-rhel9@sha256:a000d7ec7fb2cf2ff80d0259926fe685d72bcb3b791e0a012b5b99fd76dd0af9 - name: RELATED_IMAGE_PERSES value: registry.redhat.io/cluster-observability-operator/perses-rhel9@sha256:19b297eac0249f7375b5df7b936a7e17055e5dd1c17cccd0229b096482687c36 - name: RELATED_IMAGE_CONSOLE_DASHBOARDS_PLUGIN value: registry.redhat.io/cluster-observability-operator/dashboards-console-plugin-rhel9@sha256:63b6c888008f54d9e0386854279de7d424a92dbe3755b2eeeef837b917b2fab3 - name: RELATED_IMAGE_CONSOLE_DISTRIBUTED_TRACING_PLUGIN value: registry.redhat.io/cluster-observability-operator/distributed-tracing-console-plugin-rhel9@sha256:bf1470d2009e93b09f56450109662d7e9a9c2d916f6a861126e6e31f922f4e3d - name: RELATED_IMAGE_CONSOLE_DISTRIBUTED_TRACING_PLUGIN_PF5 value: registry.redhat.io/cluster-observability-operator/distributed-tracing-console-plugin-pf5-rhel9@sha256:c5d7741cb89b1188ae79b99aaa3486bdb1206b2ee3a271a5b03c059b801248e5 - name: RELATED_IMAGE_CONSOLE_DISTRIBUTED_TRACING_PLUGIN_PF4 value: registry.redhat.io/cluster-observability-operator/distributed-tracing-console-plugin-pf4-rhel9@sha256:5e1f9a0b80f46a25be4b4648fc80a65f861fe2a7d98e22b4d235d1bde23d9bc8 - name: RELATED_IMAGE_CONSOLE_LOGGING_PLUGIN value: registry.redhat.io/cluster-observability-operator/logging-console-plugin-rhel9@sha256:04a31bfdfe3a219c839a474ebdbadd6a617cbc11a6775c5516699096fccde14f - name: RELATED_IMAGE_CONSOLE_LOGGING_PLUGIN_PF4 value: registry.redhat.io/cluster-observability-operator/logging-console-plugin-pf4-rhel9@sha256:59ace1318b3f490c4767f7fe117f8c762d2b75706374fc3fe03b9d30b6583268 - name: RELATED_IMAGE_CONSOLE_TROUBLESHOOTING_PANEL_PLUGIN value: registry.redhat.io/cluster-observability-operator/troubleshooting-panel-console-plugin-rhel9@sha256:019272ef6ebce38473cdb8e15c385ee48e9cbe55c79f093f52a328865c5b183f - name: RELATED_IMAGE_CONSOLE_MONITORING_PLUGIN value: registry.redhat.io/cluster-observability-operator/monitoring-console-plugin-rhel9@sha256:ba7bf04f91dfed3f98e4a3c18bb1050e07148abdd77a8dd644d4d81d383120bc - name: RELATED_IMAGE_CONSOLE_MONITORING_PLUGIN_PF5 value: registry.redhat.io/cluster-observability-operator/monitoring-console-plugin-pf5-rhel9@sha256:2569ee7a9d1a24982f6d0f97b3b5d5f0b8bb8a06c9b997ce4ad5dc064cbeac2d - name: RELATED_IMAGE_KORREL8R value: registry.redhat.io/cluster-observability-operator/korrel8r-rhel9@sha256:cf9770534b12bf038583279872581a1d59f4414aae41296c73f11e4797b45058 - name: RELATED_IMAGE_CLUSTER_HEALTH_ANALYZER value: registry.redhat.io/cluster-observability-operator/cluster-health-analyzer-rhel9@sha256:55f0981352d155a2503cfd35e0adf9f78913b327df79d68527ab670583f3d06b - name: OPERATOR_CONDITION_NAME value: cluster-observability-operator.v1.4.0 image: registry.redhat.io/cluster-observability-operator/cluster-observability-rhel9-operator@sha256:29ffc7689432fad53f18d3e12a1b335b69d49dbdcb7d8b4a77078bc7f79f941f 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 fullyLabeledReplicas: 1 observedGeneration: 1 readyReplicas: 1 replicas: 1 - apiVersion: apps/v1 kind: ReplicaSet metadata: annotations: deployment.kubernetes.io/desired-replicas: "1" deployment.kubernetes.io/max-replicas: "2" deployment.kubernetes.io/revision: "1" creationTimestamp: "2026-03-19T09:44:09Z" generation: 1 labels: app.kubernetes.io/component: controller app.kubernetes.io/name: perses-operator app.kubernetes.io/part-of: observability-operator pod-template-hash: d4f7cd8d5 managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/desired-replicas: {} f:deployment.kubernetes.io/max-replicas: {} f:deployment.kubernetes.io/revision: {} f:labels: .: {} f:app.kubernetes.io/component: {} f:app.kubernetes.io/name: {} f:app.kubernetes.io/part-of: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"805b1c4b-cb16-4924-8a6a-00b792ef2083"}: {} f:spec: f:replicas: {} f:selector: {} f:template: f:metadata: f:annotations: .: {} f:alm-examples: {} f:capabilities: {} f:categories: {} f:certified: {} f:console.openshift.io/operator-monitoring-default: {} 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/component: {} f:app.kubernetes.io/name: {} f:app.kubernetes.io/part-of: {} f:pod-template-hash: {} 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":"/apiserver.local.config/certificates"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/ca"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} k:{"mountPath":"/tmp/k8s-webhook-server/serving-certs"}: .: {} f:mountPath: {} f:name: {} f:dnsPolicy: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: {} 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":"openshift-service-ca"}: .: {} f:configMap: .: {} f:defaultMode: {} f:items: {} f:name: {} f:optional: {} f:name: {} k:{"name":"webhook-cert"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:items: {} f:secretName: {} manager: kube-controller-manager operation: Update time: "2026-03-19T09:44:09Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:availableReplicas: {} f:fullyLabeledReplicas: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-03-19T09:44:30Z" name: perses-operator-d4f7cd8d5 namespace: openshift-operators ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: Deployment name: perses-operator uid: 805b1c4b-cb16-4924-8a6a-00b792ef2083 resourceVersion: "21057" uid: b401f07c-2c34-4762-8c83-2ca9d584500c spec: replicas: 1 selector: matchLabels: app.kubernetes.io/component: controller app.kubernetes.io/name: perses-operator app.kubernetes.io/part-of: observability-operator pod-template-hash: d4f7cd8d5 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, Observability certified: "false" console.openshift.io/operator-monitoring-default: "true" containerImage: registry.redhat.io/cluster-observability-operator/cluster-observability-rhel9-operator@sha256:29ffc7689432fad53f18d3e12a1b335b69d49dbdcb7d8b4a77078bc7f79f941f createdAt: "2026-03-09T07:53:46Z" 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.4.0' olm.targetNamespaces: "" olmcahash: 0e6293127256a892305b2d8014acd6425e594ac81d3f883ed57347cbea6e28c1 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":"Perses","version":"v1alpha2"}},{"type":"olm.gvk","value":{"group":"perses.dev","kind":"PersesDashboard","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"perses.dev","kind":"PersesDashboard","version":"v1alpha2"}},{"type":"olm.gvk","value":{"group":"perses.dev","kind":"PersesDatasource","version":"v1alpha1"}},{"type":"olm.gvk","value":{"group":"perses.dev","kind":"PersesDatasource","version":"v1alpha2"}},{"type":"olm.gvk","value":{"group":"perses.dev","kind":"PersesGlobalDatasource","version":"v1alpha2"}},{"type":"olm.package","value":{"packageName":"cluster-observability-operator","version":"1.4.0"}}]}' 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 pod-template-hash: d4f7cd8d5 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.4.0 image: registry.redhat.io/cluster-observability-operator/perses-rhel9-operator@sha256:f78b160ba3b815f53d6a72425f3f3a9d7946795177bd68c7c614fa84f97be630 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 - 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: {} 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 - name: apiservice-cert secret: defaultMode: 420 items: - key: tls.crt path: apiserver.crt - key: tls.key path: apiserver.key secretName: perses-operator-service-cert - name: webhook-cert secret: defaultMode: 420 items: - key: tls.crt path: tls.crt - key: tls.key path: tls.key secretName: perses-operator-service-cert status: availableReplicas: 1 fullyLabeledReplicas: 1 observedGeneration: 1 readyReplicas: 1 replicas: 1 kind: ReplicaSetList metadata: resourceVersion: "23508"