What images were created in the internal registry? sha256:28841dcbd5ccc3c837641d9274c897f7057b56fe72376063a9f9b35fdde0062a image-registry.openshift-image-registry.svc:5000/service-telemetry/prometheus-webhook-snmp@sha256:28841dcbd5ccc3c837641d9274c897f7057b56fe72376063a9f9b35fdde0062a sha256:29e5f6a055a17cd39425828285e9bedc583524803156faa90764722a2392c429 image-registry.openshift-image-registry.svc:5000/service-telemetry/service-telemetry-operator@sha256:29e5f6a055a17cd39425828285e9bedc583524803156faa90764722a2392c429 sha256:693b0d761a3e5a84dfe494d7abbdb8240131dfbabb1ecfb3d2eb31374099663a image-registry.openshift-image-registry.svc:5000/service-telemetry/sg-bridge@sha256:693b0d761a3e5a84dfe494d7abbdb8240131dfbabb1ecfb3d2eb31374099663a sha256:bacad6d5716104e36908b4fe2539c25fc548865d8079f35983125c8cab457b6c image-registry.openshift-image-registry.svc:5000/service-telemetry/sg-core@sha256:bacad6d5716104e36908b4fe2539c25fc548865d8079f35983125c8cab457b6c sha256:db67c88229761862636d08897680367dd3c0ef02c14470c0c08167ce9b07e7ea image-registry.openshift-image-registry.svc:5000/service-telemetry/smart-gateway-operator@sha256:db67c88229761862636d08897680367dd3c0ef02c14470c0c08167ce9b07e7ea What state is the STO csv in? service-telemetry-operator.v1.5.1781397420 Service Telemetry Operator 1.5.1781397420 Succeeded apiVersion: operators.coreos.com/v1alpha1 kind: ClusterServiceVersion metadata: annotations: alm-examples: |- [ { "apiVersion": "infra.watch/v1beta1", "kind": "ServiceTelemetry", "metadata": { "name": "default" }, "spec": { "alerting": { "alertmanager": { "receivers": { "snmpTraps": { "alertOidLabel": "oid", "community": "public", "enabled": false, "port": 162, "retries": 5, "target": "192.168.24.254", "timeout": 1, "trapDefaultOid": "1.3.6.1.4.1.50495.15.1.2.1", "trapDefaultSeverity": "", "trapOidPrefix": "1.3.6.1.4.1.50495.15" } }, "storage": { "persistent": { "pvcStorageRequest": "20G" }, "strategy": "persistent" } }, "enabled": true }, "backends": { "events": { "elasticsearch": { "certificates": { "caCertDuration": "70080h", "endpointCertDuration": "70080h" }, "enabled": false, "forwarding": { "hostUrl": "https://elasticsearch-es-http:9200", "tlsSecretName": "elasticsearch-es-cert", "tlsServerName": "", "useBasicAuth": true, "useTls": true, "userSecretName": "elasticsearch-es-elastic-user" }, "storage": { "persistent": { "pvcStorageRequest": "20Gi" }, "strategy": "persistent" }, "version": "7.16.1" } }, "metrics": { "prometheus": { "enabled": true, "scrapeInterval": "30s", "storage": { "persistent": { "pvcStorageRequest": "20G" }, "retention": "24h", "strategy": "persistent" } } } }, "clouds": [ { "metrics": { "collectors": [ { "bridge": { "ringBufferCount": 15000, "ringBufferSize": 16384, "verbose": false }, "collectorType": "collectd", "debugEnabled": false, "subscriptionAddress": "collectd/cloud1-telemetry" }, { "bridge": { "ringBufferCount": 15000, "ringBufferSize": 16384, "verbose": false }, "collectorType": "ceilometer", "debugEnabled": false, "subscriptionAddress": "anycast/ceilometer/cloud1-metering.sample" }, { "bridge": { "ringBufferCount": 15000, "ringBufferSize": 65535, "verbose": false }, "collectorType": "sensubility", "debugEnabled": false, "subscriptionAddress": "sensubility/cloud1-telemetry" } ] }, "name": "cloud1" } ], "graphing": { "enabled": false, "grafana": { "baseImage": "registry.redhat.io/rhel8/grafana:9", "dashboards": { "enabled": true }, "disableSignoutMenu": false, "ingressEnabled": true } }, "highAvailability": { "enabled": false }, "observabilityStrategy": "use_redhat", "transports": { "qdr": { "auth": "basic", "certificates": { "caCertDuration": "70080h", "endpointCertDuration": "70080h" }, "enabled": true, "web": { "enabled": false } } } } } ] capabilities: Basic Install categories: Monitoring certified: "false" containerImage: quay.io/infrawatch/service-telemetry-operator:stable-1.5 createdAt: "2026-06-14T00:37:01Z" description: 'DEPRECATED: This operator is deprecated and will no longer receive updates with new features. Users should migrate to alternative telemetry solutions. Service Telemetry Framework. Umbrella Operator for instantiating the required dependencies and configuration of various components to build a Service Telemetry platform for telco grade monitoring.' 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/last-applied-configuration: | {"apiVersion":"operators.coreos.com/v1alpha1","kind":"ClusterServiceVersion","metadata":{"annotations":{"alm-examples":"[\n {\n \"apiVersion\": \"infra.watch/v1beta1\",\n \"kind\": \"ServiceTelemetry\",\n \"metadata\": {\n \"name\": \"default\"\n },\n \"spec\": {\n \"alerting\": {\n \"alertmanager\": {\n \"receivers\": {\n \"snmpTraps\": {\n \"alertOidLabel\": \"oid\",\n \"community\": \"public\",\n \"enabled\": false,\n \"port\": 162,\n \"retries\": 5,\n \"target\": \"192.168.24.254\",\n \"timeout\": 1,\n \"trapDefaultOid\": \"1.3.6.1.4.1.50495.15.1.2.1\",\n \"trapDefaultSeverity\": \"\",\n \"trapOidPrefix\": \"1.3.6.1.4.1.50495.15\"\n }\n },\n \"storage\": {\n \"persistent\": {\n \"pvcStorageRequest\": \"20G\"\n },\n \"strategy\": \"persistent\"\n }\n },\n \"enabled\": true\n },\n \"backends\": {\n \"events\": {\n \"elasticsearch\": {\n \"certificates\": {\n \"caCertDuration\": \"70080h\",\n \"endpointCertDuration\": \"70080h\"\n },\n \"enabled\": false,\n \"forwarding\": {\n \"hostUrl\": \"https://elasticsearch-es-http:9200\",\n \"tlsSecretName\": \"elasticsearch-es-cert\",\n \"tlsServerName\": \"\",\n \"useBasicAuth\": true,\n \"useTls\": true,\n \"userSecretName\": \"elasticsearch-es-elastic-user\"\n },\n \"storage\": {\n \"persistent\": {\n \"pvcStorageRequest\": \"20Gi\"\n },\n \"strategy\": \"persistent\"\n },\n \"version\": \"7.16.1\"\n }\n },\n \"metrics\": {\n \"prometheus\": {\n \"enabled\": true,\n \"scrapeInterval\": \"30s\",\n \"storage\": {\n \"persistent\": {\n \"pvcStorageRequest\": \"20G\"\n },\n \"retention\": \"24h\",\n \"strategy\": \"persistent\"\n }\n }\n }\n },\n \"clouds\": [\n {\n \"metrics\": {\n \"collectors\": [\n {\n \"bridge\": {\n \"ringBufferCount\": 15000,\n \"ringBufferSize\": 16384,\n \"verbose\": false\n },\n \"collectorType\": \"collectd\",\n \"debugEnabled\": false,\n \"subscriptionAddress\": \"collectd/cloud1-telemetry\"\n },\n {\n \"bridge\": {\n \"ringBufferCount\": 15000,\n \"ringBufferSize\": 16384,\n \"verbose\": false\n },\n \"collectorType\": \"ceilometer\",\n \"debugEnabled\": false,\n \"subscriptionAddress\": \"anycast/ceilometer/cloud1-metering.sample\"\n },\n {\n \"bridge\": {\n \"ringBufferCount\": 15000,\n \"ringBufferSize\": 65535,\n \"verbose\": false\n },\n \"collectorType\": \"sensubility\",\n \"debugEnabled\": false,\n \"subscriptionAddress\": \"sensubility/cloud1-telemetry\"\n }\n ]\n },\n \"name\": \"cloud1\"\n }\n ],\n \"graphing\": {\n \"enabled\": false,\n \"grafana\": {\n \"baseImage\": \"registry.redhat.io/rhel8/grafana:9\",\n \"dashboards\": {\n \"enabled\": true\n },\n \"disableSignoutMenu\": false,\n \"ingressEnabled\": true\n }\n },\n \"highAvailability\": {\n \"enabled\": false\n },\n \"observabilityStrategy\": \"use_redhat\",\n \"transports\": {\n \"qdr\": {\n \"auth\": \"basic\",\n \"certificates\": {\n \"caCertDuration\": \"70080h\",\n \"endpointCertDuration\": \"70080h\"\n },\n \"enabled\": true,\n \"web\": {\n \"enabled\": false\n }\n }\n }\n }\n }\n]","capabilities":"Basic Install","categories":"Monitoring","certified":"false","containerImage":"quay.io/infrawatch/service-telemetry-operator:stable-1.5","createdAt":"2026-06-14T00:37:01Z","description":"DEPRECATED: This operator is deprecated and will no longer receive updates with new features. Users should migrate to alternative telemetry solutions. Service Telemetry Framework. Umbrella Operator for instantiating the required dependencies and configuration of various components to build a Service Telemetry platform for telco grade monitoring.","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","operatorframework.io/suggested-namespace":"service-telemetry","operators.openshift.io/valid-subscription":"[\"OpenStack Platform\", \"Cloud Infrastructure\", \"Cloud Suite\"]","operators.operatorframework.io/builder":"operator-sdk-v1.39.2","operators.operatorframework.io/deprecated":"true","operators.operatorframework.io/project_layout":"unknown","repository":"https://github.com/infrawatch/service-telemetry-operator","support":"Red Hat"},"name":"service-telemetry-operator.v1.5.1781397420","namespace":"service-telemetry"},"spec":{"apiservicedefinitions":{},"customresourcedefinitions":{"owned":[{"description":"Represents an instance of the Service Telemetry Framework","displayName":"STF Cluster","kind":"ServiceTelemetry","name":"servicetelemetrys.infra.watch","resources":[{"kind":"Pods","name":"","version":"v1"},{"kind":"ConfigMaps","name":"","version":"v1"},{"kind":"ServiceTelemetrys","name":"servicetelemetrys.infra.watch","version":"v1beta1"},{"kind":"ReplicaSets","name":"","version":"v1"},{"kind":"Deployments","name":"","version":"v1"},{"kind":"Services","name":"","version":"v1"},{"kind":"ServiceMonitors","name":"servicemonitors.monitoring.coreos.com","version":"v1"},{"kind":"ScrapeConfigs","name":"scrapeconfigs.monitoring.coreos.com","version":"v1alpha1"},{"kind":"ServiceMonitors","name":"servicemonitors.monitoring.rhobs","version":"v1"},{"kind":"ScrapeConfigs","name":"scrapeconfigs.monitoring.rhobs","version":"v1alpha1"}],"version":"v1beta1"}]},"description":"Service Telemetry Operator for monitoring clouds","displayName":"Service Telemetry Operator","icon":[{"base64data":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgaWQ9Ikljb25zIgogICB2aWV3Qm94PSIwIDAgMTI4IDEyOCIKICAgdmVyc2lvbj0iMS4xIgogICBzb2RpcG9kaTpkb2NuYW1lPSJJY29uLVJlZF9IYXQtRGlhZ3JhbXMtR3JhcGhfQXJyb3dfVXAtQi1CbGFjay1SR0Iuc3ZnIgogICB3aWR0aD0iMTI4IgogICBoZWlnaHQ9IjEyOCIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4wYmV0YTIgKHVua25vd24pIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGE2NiI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgICA8ZGM6dGl0bGU+SWNvbi1SZWRfSGF0LURpYWdyYW1zLUdyYXBoX0Fycm93X1VwXzEtQi1CbGFjay1SR0I8L2RjOnRpdGxlPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzNjQiIC8+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBpbmtzY2FwZTpkb2N1bWVudC1yb3RhdGlvbj0iMCIKICAgICBib3JkZXJvcGFjaXR5PSIxIgogICAgIG9iamVjdHRvbGVyYW5jZT0iMTAiCiAgICAgZ3JpZHRvbGVyYW5jZT0iMTAiCiAgICAgZ3VpZGV0b2xlcmFuY2U9IjEwIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxOTIwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjEwNjIiCiAgICAgaWQ9Im5hbWVkdmlldzYyIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSI0LjM4MDEzMzciCiAgICAgaW5rc2NhcGU6Y3g9IjkwLjc4Njg1IgogICAgIGlua3NjYXBlOmN5PSI1OS42NDgxNDMiCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjM4NDAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjE4IgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjAiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0iSWNvbnMiIC8+CiAgPHRpdGxlCiAgICAgaWQ9InRpdGxlNTciPkljb24tUmVkX0hhdC1EaWFncmFtcy1HcmFwaF9BcnJvd19VcF8xLUItQmxhY2stUkdCPC90aXRsZT4KICA8cGF0aAogICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6NC44MjU2NiIKICAgICBkPSJtIDEyNi44MTUzNiwyOS42MTY4NzUgYSAzLjYxOTI1ODgsMy42MTkyNTg4IDAgMCAwIC01LjExNTIyLDAgbCAtMy40NzQ0OCwzLjQ3NDQ4OSBWIDEwLjg0NDk4OCBBIDMuNjY3NTE1NiwzLjY2NzUxNTYgMCAwIDAgMTE0LjYwNjM5LDcuMzcwNDk5MyBIIDguNDQxNDc2OSBBIDMuNjE5MjU4OCwzLjYxOTI1ODggMCAwIDAgNC44MjIyMTgyLDEwLjg0NDk4OCBWIDkxLjYyNjg0IGwgLTMuNzY0MDI4NywzLjY2NzUxNiBhIDMuNjE5MjU4OCwzLjYxOTI1ODggMCAwIDAgMi41NTc2MDk1LDYuMTc2ODc0IDMuNTcxMDAxOSwzLjU3MTAwMTkgMCAwIDAgMS4yMDY0MTkyLC0wLjI0MTI4IHYgMTUuNzc5OTYgYSAzLjU3MTAwMTksMy41NzEwMDE5IDAgMCAwIDMuNjE5MjU4NywzLjYxOTI2IEggMTE0LjYwNjM5IGEgMy42MTkyNTg4LDMuNjE5MjU4OCAwIDAgMCAzLjYxOTI3LC0zLjYxOTI2IFYgNDMuMjI1Mjg4IGwgOC41ODk3LC04LjI1MTkwOSBhIDMuNjE5MjU4OCwzLjYxOTI1ODggMCAwIDAgMCwtNS4zNTY1MDQgeiBNIDU3LjkwNDY3NSw2My45Mjc0NDcgViAyNS4zMjIwMjIgYSAzLjYxOTI1OTksMy42MTkyNTk5IDAgMCAxIDcuMjM4NTE5LDAgdiAzOC42MDU0MjUgYSAzLjYxOTI1OTksMy42MTkyNTk5IDAgMCAxIC03LjIzODUxOSwwIHogTSA4Ni44NTg3NDYsNDQuNjI0NzM0IFYgMjUuMzIyMDIyIGEgMy42MTkyNTg4LDMuNjE5MjU4OCAwIDAgMSA3LjIzODUxNSwwIHYgMTkuMzAyNzEyIGEgMy42MTkyNTg4LDMuNjE5MjU4OCAwIDEgMSAtNy4yMzg1MTUsMCB6IE0gMzYuMTg5MTI4LDI1LjMyMjAyMiB2IDE5LjMwMjcxMiBhIDMuNjE5MjU5LDMuNjE5MjU5IDAgMSAxIC03LjIzODUxOCwwIFYgMjUuMzIyMDIyIGEgMy42MTkyNTksMy42MTkyNTkgMCAwIDEgNy4yMzg1MTgsMCB6IE0gMTEwLjk4NzE0LDExMy4zOTA2NSBIIDEyLjA2MDczNiBWIDk0LjYxODc2MSBsIDI0Ljk5NzAxMywtMjQuNTE0NDQzIDI0LjEyODM4OCwyNC4xMjgzOSBhIDMuMDg4NDM0MSwzLjA4ODQzNDEgMCAwIDAgMS4yMDY0MTcsMC43MjM4NTEgaCAwLjQzNDMxNCBhIDQuODI1Njc4Myw0LjgyNTY3ODMgMCAwIDAgMC45NjUxMzYsMC4yNDEyODEgMi4yNjgwNjg3LDIuMjY4MDY4NyAwIDAgMCAwLjc3MjEwOCwwIHYgMCBhIDMuMzc3OTc0OCwzLjM3Nzk3NDggMCAwIDAgMS41OTI0NzUsLTAuODIwMzY0IHYgMCBMIDExMC42NDkzMyw1MC4zNjcyOTUgWiIKICAgICBpZD0icGF0aDU5IgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+Cjwvc3ZnPgo=","mediatype":"image/svg+xml"}],"install":{"spec":{"clusterPermissions":[{"rules":[{"apiGroups":["authentication.k8s.io"],"resources":["tokenreviews"],"verbs":["create"]},{"apiGroups":["rbac.authorization.k8s.io"],"resources":["clusterroles","clusterrolebindings"],"verbs":["create","get","list","watch","update","patch","delete"]},{"apiGroups":["authorization.k8s.io"],"resources":["subjectaccessreviews"],"verbs":["create"]},{"apiGroups":["security.openshift.io"],"resourceNames":["nonroot","nonroot-v2"],"resources":["securitycontextconstraints"],"verbs":["use"]},{"apiGroups":[""],"resources":["nodes/metrics"],"verbs":["get"]},{"apiGroups":[""],"resources":["namespaces"],"verbs":["get"]},{"nonResourceURLs":["/metrics"],"verbs":["get"]}],"serviceAccountName":"service-telemetry-operator"}],"deployments":[{"name":"service-telemetry-operator","spec":{"replicas":1,"selector":{"matchLabels":{"name":"service-telemetry-operator"}},"strategy":{},"template":{"metadata":{"labels":{"name":"service-telemetry-operator"}},"spec":{"containers":[{"env":[{"name":"WATCH_NAMESPACE","valueFrom":{"fieldRef":{"fieldPath":"metadata.annotations['olm.targetNamespaces']"}}},{"name":"POD_NAME","valueFrom":{"fieldRef":{"fieldPath":"metadata.name"}}},{"name":"OPERATOR_NAME","value":"service-telemetry-operator"},{"name":"ANSIBLE_GATHERING","value":"explicit"},{"name":"RELATED_IMAGE_PROMETHEUS_WEBHOOK_SNMP_IMAGE","value":"image-registry.openshift-image-registry.svc:5000/service-telemetry/prometheus-webhook-snmp:latest"},{"name":"RELATED_IMAGE_OAUTH_PROXY_IMAGE","value":"quay.io/openshift/origin-oauth-proxy:latest"},{"name":"RELATED_IMAGE_PROMETHEUS_IMAGE","value":"quay.io/prometheus/prometheus:latest"},{"name":"RELATED_IMAGE_ALERTMANAGER_IMAGE","value":"quay.io/prometheus/alertmanager:latest"}],"image":"quay.io/infrawatch/service-telemetry-operator:stable-1.5","imagePullPolicy":"Always","name":"operator","resources":{},"volumeMounts":[{"mountPath":"/tmp/ansible-operator/runner","name":"runner"}]}],"serviceAccountName":"service-telemetry-operator","volumes":[{"emptyDir":{},"name":"runner"}]}}}}],"permissions":[{"rules":[{"apiGroups":[""],"resources":["pods","services","services/finalizers","endpoints","persistentvolumeclaims","events","configmaps","secrets"],"verbs":["*"]},{"apiGroups":["route.openshift.io"],"resources":["routes"],"verbs":["create","get","list","watch","update","patch"]},{"apiGroups":[""],"resources":["serviceaccounts"],"verbs":["create","get","list","watch","update","patch"]},{"apiGroups":["apps"],"resources":["deployments","daemonsets","replicasets","statefulsets"],"verbs":["*"]},{"apiGroups":["cert-manager.io"],"resources":["issuers","certificates"],"verbs":["*"]},{"apiGroups":["interconnectedcloud.github.io","smartgateway.infra.watch","monitoring.coreos.com","monitoring.rhobs","elasticsearch.k8s.elastic.co","grafana.integreatly.org","integreatly.org"],"resources":["*"],"verbs":["*"]},{"apiGroups":["monitoring.coreos.com"],"resources":["scrapeconfigs","servicemonitors"],"verbs":["get","create","delete"]},{"apiGroups":["monitoring.rhobs"],"resources":["scrapeconfigs","servicemonitors"],"verbs":["get","create","delete"]},{"apiGroups":["apps"],"resourceNames":["service-telemetry-operator"],"resources":["deployments/finalizers"],"verbs":["update"]},{"apiGroups":[""],"resources":["pods"],"verbs":["get"]},{"apiGroups":["apps"],"resources":["replicasets"],"verbs":["get"]},{"apiGroups":["infra.watch"],"resources":["*"],"verbs":["*"]},{"apiGroups":["rbac.authorization.k8s.io"],"resources":["roles","rolebindings"],"verbs":["create","get","list","watch","update","patch"]},{"apiGroups":["extensions","networking.k8s.io"],"resources":["ingresses"],"verbs":["get","list","watch"]}],"serviceAccountName":"service-telemetry-operator"}]},"strategy":"deployment"},"installModes":[{"supported":true,"type":"OwnNamespace"},{"supported":true,"type":"SingleNamespace"},{"supported":false,"type":"MultiNamespace"},{"supported":false,"type":"AllNamespaces"}],"keywords":["servicetelemetry","monitoring","telemetry","notifications","telecommunications"],"links":[{"name":"Source Code","url":"https://github.com/infrawatch/service-telemetry-operator"},{"name":"Documentation","url":"https://infrawatch.github.io/documentation"}],"maintainers":[{"email":"support@redhat.com","name":"Red Hat"}],"maturity":"beta","minKubeVersion":"1.23.0","provider":{"name":"Red Hat"},"relatedImages":[{"image":"image-registry.openshift-image-registry.svc:5000/service-telemetry/prometheus-webhook-snmp:latest","name":"prometheus-webhook-snmp-image"},{"image":"quay.io/openshift/origin-oauth-proxy:latest","name":"oauth-proxy-image"},{"image":"quay.io/prometheus/prometheus:latest","name":"prometheus-image"},{"image":"quay.io/prometheus/alertmanager:latest","name":"alertmanager-image"}],"version":"1.5.1781397420"}} olm.operatorGroup: service-telemetry-operator-group olm.operatorNamespace: service-telemetry olm.targetNamespaces: service-telemetry operatorframework.io/suggested-namespace: service-telemetry operators.openshift.io/valid-subscription: '["OpenStack Platform", "Cloud Infrastructure", "Cloud Suite"]' operators.operatorframework.io/builder: operator-sdk-v1.39.2 operators.operatorframework.io/deprecated: "true" operators.operatorframework.io/project_layout: unknown repository: https://github.com/infrawatch/service-telemetry-operator support: Red Hat creationTimestamp: "2026-06-14T00:37:04Z" finalizers: - operators.coreos.com/csv-cleanup generation: 2 name: service-telemetry-operator.v1.5.1781397420 namespace: service-telemetry resourceVersion: "39488" uid: 4e362f87-c4a7-481b-836c-8f40ed8e010a spec: apiservicedefinitions: {} cleanup: enabled: false customresourcedefinitions: owned: - description: Represents an instance of the Service Telemetry Framework displayName: STF Cluster kind: ServiceTelemetry name: servicetelemetrys.infra.watch resources: - kind: Pods name: "" version: v1 - kind: ConfigMaps name: "" version: v1 - kind: ServiceTelemetrys name: servicetelemetrys.infra.watch version: v1beta1 - kind: ReplicaSets name: "" version: v1 - kind: Deployments name: "" version: v1 - kind: Services name: "" version: v1 - kind: ServiceMonitors name: servicemonitors.monitoring.coreos.com version: v1 - kind: ScrapeConfigs name: scrapeconfigs.monitoring.coreos.com version: v1alpha1 - kind: ServiceMonitors name: servicemonitors.monitoring.rhobs version: v1 - kind: ScrapeConfigs name: scrapeconfigs.monitoring.rhobs version: v1alpha1 version: v1beta1 description: Service Telemetry Operator for monitoring clouds displayName: Service Telemetry Operator icon: - base64data: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgaWQ9Ikljb25zIgogICB2aWV3Qm94PSIwIDAgMTI4IDEyOCIKICAgdmVyc2lvbj0iMS4xIgogICBzb2RpcG9kaTpkb2NuYW1lPSJJY29uLVJlZF9IYXQtRGlhZ3JhbXMtR3JhcGhfQXJyb3dfVXAtQi1CbGFjay1SR0Iuc3ZnIgogICB3aWR0aD0iMTI4IgogICBoZWlnaHQ9IjEyOCIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4wYmV0YTIgKHVua25vd24pIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGE2NiI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgICA8ZGM6dGl0bGU+SWNvbi1SZWRfSGF0LURpYWdyYW1zLUdyYXBoX0Fycm93X1VwXzEtQi1CbGFjay1SR0I8L2RjOnRpdGxlPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzNjQiIC8+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBpbmtzY2FwZTpkb2N1bWVudC1yb3RhdGlvbj0iMCIKICAgICBib3JkZXJvcGFjaXR5PSIxIgogICAgIG9iamVjdHRvbGVyYW5jZT0iMTAiCiAgICAgZ3JpZHRvbGVyYW5jZT0iMTAiCiAgICAgZ3VpZGV0b2xlcmFuY2U9IjEwIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxOTIwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjEwNjIiCiAgICAgaWQ9Im5hbWVkdmlldzYyIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSI0LjM4MDEzMzciCiAgICAgaW5rc2NhcGU6Y3g9IjkwLjc4Njg1IgogICAgIGlua3NjYXBlOmN5PSI1OS42NDgxNDMiCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjM4NDAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjE4IgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjAiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0iSWNvbnMiIC8+CiAgPHRpdGxlCiAgICAgaWQ9InRpdGxlNTciPkljb24tUmVkX0hhdC1EaWFncmFtcy1HcmFwaF9BcnJvd19VcF8xLUItQmxhY2stUkdCPC90aXRsZT4KICA8cGF0aAogICAgIHN0eWxlPSJzdHJva2Utd2lkdGg6NC44MjU2NiIKICAgICBkPSJtIDEyNi44MTUzNiwyOS42MTY4NzUgYSAzLjYxOTI1ODgsMy42MTkyNTg4IDAgMCAwIC01LjExNTIyLDAgbCAtMy40NzQ0OCwzLjQ3NDQ4OSBWIDEwLjg0NDk4OCBBIDMuNjY3NTE1NiwzLjY2NzUxNTYgMCAwIDAgMTE0LjYwNjM5LDcuMzcwNDk5MyBIIDguNDQxNDc2OSBBIDMuNjE5MjU4OCwzLjYxOTI1ODggMCAwIDAgNC44MjIyMTgyLDEwLjg0NDk4OCBWIDkxLjYyNjg0IGwgLTMuNzY0MDI4NywzLjY2NzUxNiBhIDMuNjE5MjU4OCwzLjYxOTI1ODggMCAwIDAgMi41NTc2MDk1LDYuMTc2ODc0IDMuNTcxMDAxOSwzLjU3MTAwMTkgMCAwIDAgMS4yMDY0MTkyLC0wLjI0MTI4IHYgMTUuNzc5OTYgYSAzLjU3MTAwMTksMy41NzEwMDE5IDAgMCAwIDMuNjE5MjU4NywzLjYxOTI2IEggMTE0LjYwNjM5IGEgMy42MTkyNTg4LDMuNjE5MjU4OCAwIDAgMCAzLjYxOTI3LC0zLjYxOTI2IFYgNDMuMjI1Mjg4IGwgOC41ODk3LC04LjI1MTkwOSBhIDMuNjE5MjU4OCwzLjYxOTI1ODggMCAwIDAgMCwtNS4zNTY1MDQgeiBNIDU3LjkwNDY3NSw2My45Mjc0NDcgViAyNS4zMjIwMjIgYSAzLjYxOTI1OTksMy42MTkyNTk5IDAgMCAxIDcuMjM4NTE5LDAgdiAzOC42MDU0MjUgYSAzLjYxOTI1OTksMy42MTkyNTk5IDAgMCAxIC03LjIzODUxOSwwIHogTSA4Ni44NTg3NDYsNDQuNjI0NzM0IFYgMjUuMzIyMDIyIGEgMy42MTkyNTg4LDMuNjE5MjU4OCAwIDAgMSA3LjIzODUxNSwwIHYgMTkuMzAyNzEyIGEgMy42MTkyNTg4LDMuNjE5MjU4OCAwIDEgMSAtNy4yMzg1MTUsMCB6IE0gMzYuMTg5MTI4LDI1LjMyMjAyMiB2IDE5LjMwMjcxMiBhIDMuNjE5MjU5LDMuNjE5MjU5IDAgMSAxIC03LjIzODUxOCwwIFYgMjUuMzIyMDIyIGEgMy42MTkyNTksMy42MTkyNTkgMCAwIDEgNy4yMzg1MTgsMCB6IE0gMTEwLjk4NzE0LDExMy4zOTA2NSBIIDEyLjA2MDczNiBWIDk0LjYxODc2MSBsIDI0Ljk5NzAxMywtMjQuNTE0NDQzIDI0LjEyODM4OCwyNC4xMjgzOSBhIDMuMDg4NDM0MSwzLjA4ODQzNDEgMCAwIDAgMS4yMDY0MTcsMC43MjM4NTEgaCAwLjQzNDMxNCBhIDQuODI1Njc4Myw0LjgyNTY3ODMgMCAwIDAgMC45NjUxMzYsMC4yNDEyODEgMi4yNjgwNjg3LDIuMjY4MDY4NyAwIDAgMCAwLjc3MjEwOCwwIHYgMCBhIDMuMzc3OTc0OCwzLjM3Nzk3NDggMCAwIDAgMS41OTI0NzUsLTAuODIwMzY0IHYgMCBMIDExMC42NDkzMyw1MC4zNjcyOTUgWiIKICAgICBpZD0icGF0aDU5IgogICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiIC8+Cjwvc3ZnPgo= mediatype: image/svg+xml install: spec: clusterPermissions: - rules: - apiGroups: - authentication.k8s.io resources: - tokenreviews verbs: - create - apiGroups: - rbac.authorization.k8s.io resources: - clusterroles - clusterrolebindings verbs: - create - get - list - watch - update - patch - delete - apiGroups: - authorization.k8s.io resources: - subjectaccessreviews verbs: - create - apiGroups: - security.openshift.io resourceNames: - nonroot - nonroot-v2 resources: - securitycontextconstraints verbs: - use - apiGroups: - "" resources: - nodes/metrics verbs: - get - apiGroups: - "" resources: - namespaces verbs: - get - nonResourceURLs: - /metrics verbs: - get serviceAccountName: service-telemetry-operator deployments: - name: service-telemetry-operator spec: replicas: 1 selector: matchLabels: name: service-telemetry-operator strategy: {} template: metadata: creationTimestamp: null labels: name: service-telemetry-operator spec: containers: - env: - name: WATCH_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.annotations['olm.targetNamespaces'] - name: POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: OPERATOR_NAME value: service-telemetry-operator - name: ANSIBLE_GATHERING value: explicit - name: RELATED_IMAGE_PROMETHEUS_WEBHOOK_SNMP_IMAGE value: image-registry.openshift-image-registry.svc:5000/service-telemetry/prometheus-webhook-snmp:latest - name: RELATED_IMAGE_OAUTH_PROXY_IMAGE value: quay.io/openshift/origin-oauth-proxy:latest - name: RELATED_IMAGE_PROMETHEUS_IMAGE value: quay.io/prometheus/prometheus:latest - name: RELATED_IMAGE_ALERTMANAGER_IMAGE value: quay.io/prometheus/alertmanager:latest image: quay.io/infrawatch/service-telemetry-operator:stable-1.5 imagePullPolicy: Always name: operator resources: {} volumeMounts: - mountPath: /tmp/ansible-operator/runner name: runner serviceAccountName: service-telemetry-operator volumes: - emptyDir: {} name: runner permissions: - rules: - apiGroups: - "" resources: - pods - services - services/finalizers - endpoints - persistentvolumeclaims - events - configmaps - secrets verbs: - '*' - apiGroups: - route.openshift.io resources: - routes verbs: - create - get - list - watch - update - patch - apiGroups: - "" resources: - serviceaccounts verbs: - create - get - list - watch - update - patch - apiGroups: - apps resources: - deployments - daemonsets - replicasets - statefulsets verbs: - '*' - apiGroups: - cert-manager.io resources: - issuers - certificates verbs: - '*' - apiGroups: - interconnectedcloud.github.io - smartgateway.infra.watch - monitoring.coreos.com - monitoring.rhobs - elasticsearch.k8s.elastic.co - grafana.integreatly.org - integreatly.org resources: - '*' verbs: - '*' - apiGroups: - monitoring.coreos.com resources: - scrapeconfigs - servicemonitors verbs: - get - create - delete - apiGroups: - monitoring.rhobs resources: - scrapeconfigs - servicemonitors verbs: - get - create - delete - apiGroups: - apps resourceNames: - service-telemetry-operator resources: - deployments/finalizers verbs: - update - apiGroups: - "" resources: - pods verbs: - get - apiGroups: - apps resources: - replicasets verbs: - get - apiGroups: - infra.watch resources: - '*' verbs: - '*' - apiGroups: - rbac.authorization.k8s.io resources: - roles - rolebindings verbs: - create - get - list - watch - update - patch - apiGroups: - extensions - networking.k8s.io resources: - ingresses verbs: - get - list - watch serviceAccountName: service-telemetry-operator strategy: deployment installModes: - supported: true type: OwnNamespace - supported: true type: SingleNamespace - supported: false type: MultiNamespace - supported: false type: AllNamespaces keywords: - servicetelemetry - monitoring - telemetry - notifications - telecommunications links: - name: Source Code url: https://github.com/infrawatch/service-telemetry-operator - name: Documentation url: https://infrawatch.github.io/documentation maintainers: - email: support@redhat.com name: Red Hat maturity: beta minKubeVersion: 1.23.0 provider: name: Red Hat relatedImages: - image: image-registry.openshift-image-registry.svc:5000/service-telemetry/prometheus-webhook-snmp:latest name: prometheus-webhook-snmp-image - image: quay.io/openshift/origin-oauth-proxy:latest name: oauth-proxy-image - image: quay.io/prometheus/prometheus:latest name: prometheus-image - image: quay.io/prometheus/alertmanager:latest name: alertmanager-image version: 1.5.1781397420 status: cleanup: {} conditions: - lastTransitionTime: "2026-06-14T00:37:05Z" lastUpdateTime: "2026-06-14T00:37:05Z" message: requirements not yet checked phase: Pending reason: RequirementsUnknown - lastTransitionTime: "2026-06-14T00:37:06Z" lastUpdateTime: "2026-06-14T00:37:06Z" message: all requirements found, attempting install phase: InstallReady reason: AllRequirementsMet - lastTransitionTime: "2026-06-14T00:37:07Z" lastUpdateTime: "2026-06-14T00:37:07Z" message: waiting for install components to report healthy phase: Installing reason: InstallSucceeded - lastTransitionTime: "2026-06-14T00:37:07Z" lastUpdateTime: "2026-06-14T00:37:07Z" message: 'installing: waiting for deployment service-telemetry-operator to become ready: deployment "service-telemetry-operator" not available: Deployment does not have minimum availability.' phase: Installing reason: InstallWaiting - lastTransitionTime: "2026-06-14T00:37:22Z" lastUpdateTime: "2026-06-14T00:37:22Z" message: install strategy completed with no errors phase: Succeeded reason: InstallSucceeded lastTransitionTime: "2026-06-14T00:37:22Z" lastUpdateTime: "2026-06-14T00:37:22Z" message: install strategy completed with no errors phase: Succeeded reason: InstallSucceeded requirementStatus: - group: operators.coreos.com kind: ClusterServiceVersion message: CSV minKubeVersion (1.23.0) less than server version (v1.31.5) name: service-telemetry-operator.v1.5.1781397420 status: Present version: v1alpha1 - group: apiextensions.k8s.io kind: CustomResourceDefinition message: CRD is present and Established condition is true name: servicetelemetrys.infra.watch status: Present uuid: 3f3d4faf-b99e-4f36-9e3d-036a90e6ce68 version: v1 - dependents: - group: rbac.authorization.k8s.io kind: PolicyRule message: namespaced rule:{"verbs":["*"],"apiGroups":[""],"resources":["pods","services","services/finalizers","endpoints","persistentvolumeclaims","events","configmaps","secrets"]} status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: namespaced rule:{"verbs":["create","get","list","watch","update","patch"],"apiGroups":["route.openshift.io"],"resources":["routes"]} status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: namespaced rule:{"verbs":["create","get","list","watch","update","patch"],"apiGroups":[""],"resources":["serviceaccounts"]} status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: namespaced rule:{"verbs":["*"],"apiGroups":["apps"],"resources":["deployments","daemonsets","replicasets","statefulsets"]} status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: namespaced rule:{"verbs":["*"],"apiGroups":["cert-manager.io"],"resources":["issuers","certificates"]} status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: namespaced rule:{"verbs":["*"],"apiGroups":["interconnectedcloud.github.io","smartgateway.infra.watch","monitoring.coreos.com","monitoring.rhobs","elasticsearch.k8s.elastic.co","grafana.integreatly.org","integreatly.org"],"resources":["*"]} status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: namespaced rule:{"verbs":["get","create","delete"],"apiGroups":["monitoring.coreos.com"],"resources":["scrapeconfigs","servicemonitors"]} status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: namespaced rule:{"verbs":["get","create","delete"],"apiGroups":["monitoring.rhobs"],"resources":["scrapeconfigs","servicemonitors"]} status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: namespaced rule:{"verbs":["update"],"apiGroups":["apps"],"resources":["deployments/finalizers"],"resourceNames":["service-telemetry-operator"]} status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: namespaced rule:{"verbs":["get"],"apiGroups":[""],"resources":["pods"]} status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: namespaced rule:{"verbs":["get"],"apiGroups":["apps"],"resources":["replicasets"]} status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: namespaced rule:{"verbs":["*"],"apiGroups":["infra.watch"],"resources":["*"]} status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: namespaced rule:{"verbs":["create","get","list","watch","update","patch"],"apiGroups":["rbac.authorization.k8s.io"],"resources":["roles","rolebindings"]} status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: namespaced rule:{"verbs":["get","list","watch"],"apiGroups":["extensions","networking.k8s.io"],"resources":["ingresses"]} status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: cluster rule:{"verbs":["create"],"apiGroups":["authentication.k8s.io"],"resources":["tokenreviews"]} status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: cluster rule:{"verbs":["create","get","list","watch","update","patch","delete"],"apiGroups":["rbac.authorization.k8s.io"],"resources":["clusterroles","clusterrolebindings"]} status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: cluster rule:{"verbs":["create"],"apiGroups":["authorization.k8s.io"],"resources":["subjectaccessreviews"]} status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: cluster rule:{"verbs":["use"],"apiGroups":["security.openshift.io"],"resources":["securitycontextconstraints"],"resourceNames":["nonroot","nonroot-v2"]} status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: cluster rule:{"verbs":["get"],"apiGroups":[""],"resources":["nodes/metrics"]} status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: cluster rule:{"verbs":["get"],"apiGroups":[""],"resources":["namespaces"]} status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: cluster rule:{"verbs":["get"],"nonResourceURLs":["/metrics"]} status: Satisfied version: v1 group: "" kind: ServiceAccount message: "" name: service-telemetry-operator status: Present version: v1