apiVersion: operators.coreos.com/v1alpha1 kind: ClusterServiceVersion metadata: annotations: operators.operatorframework.io/builder: operator-sdk-v1.32.0 operators.operatorframework.io/project_layout: go.kubebuilder.io/v3 olm.targetNamespaces: '' operatorframework.io/properties: '{"properties":[{"type":"olm.gvk","value":{"group":"grafana.integreatly.org","kind":"Grafana","version":"v1beta1"}},{"type":"olm.gvk","value":{"group":"grafana.integreatly.org","kind":"GrafanaAlertRuleGroup","version":"v1beta1"}},{"type":"olm.gvk","value":{"group":"grafana.integreatly.org","kind":"GrafanaContactPoint","version":"v1beta1"}},{"type":"olm.gvk","value":{"group":"grafana.integreatly.org","kind":"GrafanaDashboard","version":"v1beta1"}},{"type":"olm.gvk","value":{"group":"grafana.integreatly.org","kind":"GrafanaDatasource","version":"v1beta1"}},{"type":"olm.gvk","value":{"group":"grafana.integreatly.org","kind":"GrafanaFolder","version":"v1beta1"}},{"type":"olm.gvk","value":{"group":"grafana.integreatly.org","kind":"GrafanaNotificationPolicy","version":"v1beta1"}},{"type":"olm.package","value":{"packageName":"grafana-operator","version":"5.13.0"}}]}' repository: 'https://github.com/grafana/grafana-operator' support: Grafana Labs alm-examples: |- [ { "apiVersion": "grafana.integreatly.org/v1beta1", "kind": "Grafana", "metadata": { "labels": { "dashboards": "grafana-a", "folders": "grafana-a" }, "name": "grafana-a" }, "spec": { "config": { "auth": { "disable_login_form": "false" }, "log": { "mode": "console" }, "security": { "admin_password": "start", "admin_user": "root" } } } }, { "apiVersion": "grafana.integreatly.org/v1beta1", "kind": "GrafanaAlertRuleGroup", "metadata": { "name": "grafanaalertrulegroup-sample" }, "spec": { "folderRef": "test-folder-from-operator", "instanceSelector": { "matchLabels": { "dashboards": "grafana" } }, "interval": "5m", "rules": [ { "condition": "B", "data": [ { "datasourceUid": "grafanacloud-demoinfra-prom", "model": { "datasource": { "type": "prometheus", "uid": "grafanacloud-demoinfra-prom" }, "editorMode": "code", "expr": "weather_temp_c{}", "instant": true, "intervalMs": 1000, "legendFormat": "__auto", "maxDataPoints": 43200, "range": false, "refId": "A" }, "refId": "A", "relativeTimeRange": { "from": 600 } }, { "datasourceUid": "__expr__", "model": { "conditions": [ { "evaluator": { "params": [ 0 ], "type": "gt" }, "operator": { "type": "and" }, "query": { "params": [ "C" ] }, "reducer": { "params": [], "type": "last" }, "type": "query" } ], "datasource": { "type": "__expr__", "uid": "__expr__" }, "expression": "A", "intervalMs": 1000, "maxDataPoints": 43200, "refId": "B", "type": "threshold" }, "refId": "B", "relativeTimeRange": { "from": 600 } } ], "execErrState": "Error", "for": "5m0s", "noDataState": "NoData", "title": "Temperature below freezing", "uid": "4843de5c-4f8a-4af0-9509-23526a04faf8" } ] } }, { "apiVersion": "grafana.integreatly.org/v1beta1", "kind": "GrafanaContactPoint", "metadata": { "labels": { "app.kubernetes.io/created-by": "grafana-operator", "app.kubernetes.io/instance": "grafanacontactpoint-sample", "app.kubernetes.io/managed-by": "kustomize", "app.kubernetes.io/name": "grafanacontactpoint", "app.kubernetes.io/part-of": "grafana-operator" }, "name": "grafanacontactpoint-sample" }, "spec": { "instanceSelector": { "matchLabels": { "dashboards": "grafana-a" } }, "name": "grafanacontactpoint-sample", "settings": { "email": null }, "type": "email" } }, { "apiVersion": "grafana.integreatly.org/v1beta1", "kind": "GrafanaDashboard", "metadata": { "name": "grafanadashboard-sample" }, "spec": { "instanceSelector": { "matchLabels": { "dashboards": "grafana-a" } }, "json": "{\n\n \"id\": null,\n \"title\": \"Simple Dashboard\",\n \"tags\": [],\n \"style\": \"dark\",\n \"timezone\": \"browser\",\n \"editable\": true,\n \"hideControls\": false,\n \"graphTooltip\": 1,\n \"panels\": [],\n \"time\": {\n \"from\": \"now-6h\",\n \"to\": \"now\"\n },\n \"timepicker\": {\n \"time_options\": [],\n \"refresh_intervals\": []\n },\n \"templating\": {\n \"list\": []\n },\n \"annotations\": {\n \"list\": []\n },\n \"refresh\": \"5s\",\n \"schemaVersion\": 17,\n \"version\": 0,\n \"links\": []\n}\n" } }, { "apiVersion": "grafana.integreatly.org/v1beta1", "kind": "GrafanaDatasource", "metadata": { "name": "grafanadatasource-sample" }, "spec": { "datasource": { "access": "proxy", "isDefault": true, "jsonData": { "timeInterval": "5s", "tlsSkipVerify": true }, "name": "prometheus", "type": "prometheus", "url": "http://prometheus-service:9090" }, "instanceSelector": { "matchLabels": { "dashboards": "grafana-a" } }, "plugins": [ { "name": "grafana-clock-panel", "version": "1.3.0" } ] } }, { "apiVersion": "grafana.integreatly.org/v1beta1", "kind": "GrafanaFolder", "metadata": { "name": "grafanafolder-sample" }, "spec": { "instanceSelector": { "matchLabels": { "dashboards": "grafana-a" } }, "title": "Example Folder" } } ] capabilities: Basic Install olm.operatorNamespace: kvant-grafana-operator containerImage: 'ghcr.io/grafana/grafana-operator@sha256:97561cef949b58f55ec67d133c02ac205e2ec3fb77388aeb868dacfcebad0752' createdAt: '2024-09-11T09:16:51Z' categories: Monitoring description: 'Deploys and manages Grafana instances, dashboards and data sources' olm.operatorGroup: kvant-grafana-operator-x2lv2 name: grafana-operator.v5.13.0 namespace: {{ Release.Namespace }} finalizers: - operators.coreos.com/csv-cleanup labels: olm.managed: 'true' operators.coreos.com/grafana-operator.kvant-grafana-operator: '' spec: customresourcedefinitions: owned: - description: GrafanaAlertRuleGroup is the Schema for the grafanaalertrulegroups API displayName: Grafana Alert Rule Group kind: GrafanaAlertRuleGroup name: grafanaalertrulegroups.grafana.integreatly.org version: v1beta1 - description: GrafanaContactPoint is the Schema for the grafanacontactpoints API displayName: Grafana Contact Point kind: GrafanaContactPoint name: grafanacontactpoints.grafana.integreatly.org version: v1beta1 - description: GrafanaDashboard is the Schema for the grafanadashboards API displayName: Grafana Dashboard kind: GrafanaDashboard name: grafanadashboards.grafana.integreatly.org version: v1beta1 - description: GrafanaDatasource is the Schema for the grafanadatasources API displayName: Grafana Datasource kind: GrafanaDatasource name: grafanadatasources.grafana.integreatly.org version: v1beta1 - description: GrafanaFolder is the Schema for the grafanafolders API displayName: Grafana Folder kind: GrafanaFolder name: grafanafolders.grafana.integreatly.org version: v1beta1 - kind: GrafanaNotificationPolicy name: grafananotificationpolicies.grafana.integreatly.org version: v1beta1 - description: Grafana is the Schema for the grafanas API displayName: Grafana kind: Grafana name: grafanas.grafana.integreatly.org version: v1beta1 relatedImages: - image: 'docker.io/grafana/grafana@sha256:b7fcb534f7b3512801bb3f4e658238846435804deb479d105b5cdc680847c272' name: grafana - image: 'ghcr.io/grafana/grafana-operator@sha256:a2d35af04ec0773f62d9b75966d0a3f8b24998e126b8ad243afb0377deb8e635' name: manager - image: 'ghcr.io/grafana/grafana-operator@sha256:a2d35af04ec0773f62d9b75966d0a3f8b24998e126b8ad243afb0377deb8e635' name: grafana-operator-a2d35af04ec0773f62d9b75966d0a3f8b24998e126b8ad243afb0377deb8e635-annotation cleanup: enabled: false apiservicedefinitions: {} keywords: - Grafana - Metrics - Observability displayName: Grafana Operator provider: name: Grafana Labs url: 'https://grafana.com' maturity: stable skips: - grafana-operator.v5.6.1 - grafana-operator.v5.6.2 - grafana-operator.v5.6.3 - grafana-operator.v5.7.0 - grafana-operator.v5.8.0 - grafana-operator.v5.9.2 - grafana-operator.v5.10.0 - grafana-operator.v5.11.0 - grafana-operator.v5.12.0 installModes: - supported: true type: OwnNamespace - supported: true type: SingleNamespace - supported: true type: MultiNamespace - supported: true type: AllNamespaces version: 5.13.0 icon: - base64data: PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMC4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4KCjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0iTGF5ZXJfMSIKICAgeD0iMHB4IgogICB5PSIwcHgiCiAgIHdpZHRoPSI1Ny43OTk5OTkiCiAgIGhlaWdodD0iNTcuNzk5OTk5IgogICB2aWV3Qm94PSIwIDAgNTcuNzk5OTk5IDU3LjgiCiAgIHhtbDpzcGFjZT0icHJlc2VydmUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImxvZ29fc21hbGwuc3ZnIgogICBpbmtzY2FwZTp2ZXJzaW9uPSIwLjkyLjQgKDVkYTY4OWMzMTMsIDIwMTktMDEtMTQpIj48bWV0YWRhdGEKICAgaWQ9Im1ldGFkYXRhMzc4NSI+PHJkZjpSREY+PGNjOldvcmsKICAgICAgIHJkZjphYm91dD0iIj48ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD48ZGM6dHlwZQogICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPjxkYzp0aXRsZT48L2RjOnRpdGxlPjwvY2M6V29yaz48L3JkZjpSREY+PC9tZXRhZGF0YT48ZGVmcwogICBpZD0iZGVmczM3ODMiIC8+PHNvZGlwb2RpOm5hbWVkdmlldwogICBwYWdlY29sb3I9IiNmZmZmZmYiCiAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICBib3JkZXJvcGFjaXR5PSIxIgogICBvYmplY3R0b2xlcmFuY2U9IjEwIgogICBncmlkdG9sZXJhbmNlPSIxMCIKICAgZ3VpZGV0b2xlcmFuY2U9IjEwIgogICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMCIKICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIyNTYwIgogICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMzg2IgogICBpZD0ibmFtZWR2aWV3Mzc4MSIKICAgc2hvd2dyaWQ9ImZhbHNlIgogICBpbmtzY2FwZTp6b29tPSIxMy44NTg3MTQiCiAgIGlua3NjYXBlOmN4PSI3NS40MTI5MDQiCiAgIGlua3NjYXBlOmN5PSIyMy4wNzc2MDYiCiAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICBpbmtzY2FwZTp3aW5kb3cteT0iMCIKICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIKICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0iTGF5ZXJfMSIgLz4KPHN0eWxlCiAgIHR5cGU9InRleHQvY3NzIgogICBpZD0ic3R5bGUzNzY5Ij4KCS5zdDB7ZmlsbDojRTZFN0U4O30KCS5zdDF7ZmlsbDp1cmwoI1NWR0lEXzFfKTt9Cjwvc3R5bGU+Cgo8bGluZWFyR3JhZGllbnQKICAgaWQ9IlNWR0lEXzFfIgogICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgeDE9IjI2LjcwMDAwMSIKICAgeTE9Ii05Ljg1MDE5OTciCiAgIHgyPSIyNi43MDAwMDEiCiAgIHkyPSI0My4xNjYiCiAgIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMiw2MC4wMDAwMDIpIj4KCTxzdG9wCiAgIG9mZnNldD0iMCIKICAgc3R5bGU9InN0b3AtY29sb3I6I0ZGRjEwMCIKICAgaWQ9InN0b3AzNzczIiAvPgoJPHN0b3AKICAgb2Zmc2V0PSIxIgogICBzdHlsZT0ic3RvcC1jb2xvcjojRjA1QTI4IgogICBpZD0ic3RvcDM3NzUiIC8+CjwvbGluZWFyR3JhZGllbnQ+CjxwYXRoCiAgIGNsYXNzPSJzdDEiCiAgIGQ9Im0gNTUuMSwyNS41MDAwMDIgYyAtMC4xLC0xIC0wLjMsLTIuMSAtMC42LC0zLjMgLTAuMywtMS4yIC0wLjgsLTIuNiAtMS41LC00IC0wLjcsLTEuNCAtMS42LC0yLjkgLTIuOCwtNC4zIC0wLjUsLTAuNiAtMSwtMS4xIC0xLjUsLTEuNiAwLjgsLTMuMjAwMDAwNCAtMSwtNi4wMDAwMDA0IC0xLC02LjAwMDAwMDQgLTMuMSwtMC4yIC01LjEsMSAtNS44LDEuNSAtMC4xLC0wLjEgLTAuMiwtMC4xIC0wLjQsLTAuMiAtMC41LC0wLjIgLTEsLTAuNCAtMS42LC0wLjYgLTAuNiwtMC4yIC0xLjEsLTAuMyAtMS43LC0wLjUgLTAuNiwtMC4xIC0xLjIsLTAuMyAtMS44LC0wLjMgLTAuMSwwIC0wLjIsMCAtMC4zLDAgQyAzNC44LDEuODAwMDAxNiAzMC45LDEuNTI1ODc4OWUtNiAzMC45LDEuNTI1ODc4OWUtNiAyNi42LDIuODAwMDAxNiAyNS43LDYuNjAwMDAxNiAyNS43LDYuNjAwMDAxNiBjIDAsMCAwLDAuMSAwLDAuMiAtMC4yLDAuMSAtMC41LDAuMSAtMC43LDAuMiAtMC4zLDAuMSAtMC43LDAuMiAtMSwwLjMgLTAuMywwLjEgLTAuNywwLjMgLTEsMC40IC0wLjcsMC4zIC0xLjMsMC42IC0xLjksMSAtMC42LDAuMyAtMS4yLDAuNyAtMS44LDEuMSAtMC4xLDAgLTAuMiwtMC4xIC0wLjIsLTAuMSAtNiwtMi4zIC0xMS40LDAuNTAwMDAwNCAtMTEuNCwwLjUwMDAwMDQgLTAuNSw2LjQgMi40LDEwLjQgMywxMS4yIC0wLjEsMC40IC0wLjMsMC44IC0wLjQsMS4yIC0wLjQsMS40IC0wLjgsMi45IC0xLDQuNSAwLDAuMiAtMC4xLDAuNCAtMC4xLDAuNyAtNS42LDIuNyAtNy4yLDguNCAtNy4yLDguNCA0LjYsNS4zIDEwLDUuNyAxMCw1LjcgdiAwIGMgMC43LDEuMiAxLjUsMi40IDIuNCwzLjUgMC40LDAuNSAwLjgsMC45IDEuMiwxLjMgLTEuNyw0LjggMC4yLDguOSAwLjIsOC45IDUuMiwwLjIgOC42LC0yLjMgOS4zLC0yLjggMC41LDAuMiAxLDAuMyAxLjYsMC41IDEuNiwwLjQgMy4yLDAuNiA0LjgsMC43IDAuNCwwIDAuOCwwIDEuMiwwIGggMC4yIDAuMSAwLjMgMC4zIHYgMCBjIDIuNCwzLjUgNi43LDQgNi43LDQgMy40LC0zLjYgMy4yLC03LjIgMy4yLC03LjIgbCAtMC4xLC0wLjEgYyAwLjcsLTAuNSAxLjMsLTEgMS45LC0xLjUgMS4yLC0xLjEgMi4zLC0yLjQgMy4yLC0zLjcgMC4xLC0wLjEgMC4yLC0wLjMgMC4yLC0wLjQgMy40LDAuMiA1LjksLTIuMSA1LjksLTIuMSAtMC42LC00IC0zLjEsLTUuNyAtMy4xLC01LjcgaCAtMC4xIGMgMCwtMC4yIDAsLTAuNSAwLjEsLTAuNyAwLC0wLjQgMCwtMC44IDAsLTEuMiB2IC0wLjMgLTAuMSAtMC4xIGMgMCwtMC4xIDAsLTAuMSAwLC0wLjEgdiAtMC4yIC0wLjMgYyAwLC0wLjEgMCwtMC4yIDAsLTAuMyAwLC0wLjEgMCwtMC4yIDAsLTAuMyB2IC0wLjMgLTAuMyBjIC0wLjEsLTAuNCAtMC4xLC0wLjggLTAuMiwtMS4yIC0wLjQsLTEuNSAtMSwtMyAtMS44LC00LjMgLTAuOCwtMS4zIC0xLjgsLTIuNSAtMi45LC0zLjUgLTEuMSwtMSAtMi40LC0xLjggLTMuNywtMi40IC0xLjMsLTAuNiAtMi43LC0xIC00LjEsLTEuMSAtMC43LC0wLjEgLTEuNCwtMC4xIC0yLC0wLjEgaCAtMC4zIC0wLjEgLTAuMSAtMC4xIC0wLjMgYyAtMC4xLDAgLTAuMiwwIC0wLjMsMCAtMC4zLDAgLTAuNywwLjEgLTEsMC4xIC0xLjQsMC4zIC0yLjcsMC43IC0zLjgsMS40IC0xLjEsMC43IC0yLjEsMS41IC0yLjksMi41IC0wLjgsMSAtMS40LDIgLTEuOSwzLjEgLTAuNCwxLjEgLTAuNywyLjIgLTAuNywzLjMgMCwwLjMgMCwwLjYgMCwwLjggMCwwLjEgMCwwLjEgMCwwLjIgdiAwLjIgYyAwLDAuMSAwLDAuMyAwLDAuNCAwLjEsMC42IDAuMiwxLjEgMC4zLDEuNiAwLjMsMSAwLjgsMiAxLjQsMi44IDAuNiwwLjggMS4zLDEuNSAyLjEsMiAwLjgsMC41IDEuNiwwLjkgMi40LDEuMSAwLjgsMC4yIDEuNiwwLjMgMi4zLDAuMyAwLjEsMCAwLjIsMCAwLjMsMCBoIDAuMSAwLjEgYyAwLjEsMCAwLjIsMCAwLjIsMCAwLDAgMCwwIDAuMSwwIGggMC4xIDAuMSBjIDAuMSwwIDAuMiwwIDAuMywwIDAuMSwwIDAuMiwwIDAuMywtMC4xIDAuMiwwIDAuMywtMC4xIDAuNSwtMC4xIDAuMywtMC4xIDAuNiwtMC4yIDAuOSwtMC40IDAuMywtMC4xIDAuNSwtMC4zIDAuOCwtMC41IDAuMSwtMC4xIDAuMSwtMC4xIDAuMiwtMC4yIDAuMywtMC4yIDAuMywtMC42IDAuMSwtMC44IC0wLjIsLTAuMiAtMC41LC0wLjMgLTAuNywtMC4xIC0wLjIsLTAuMiAtMC4yLC0wLjEgLTAuMywtMC4xIC0wLjIsMC4xIC0wLjQsMC4yIC0wLjcsMC4zIC0wLjIsMC4xIC0wLjUsMC4xIC0wLjgsMC4yIC0wLjEsMCAtMC4zLDAgLTAuNCwwIC0wLjEsMCAtMC4xLDAgLTAuMiwwIC0wLjEsMCAtMC4xLDAgLTAuMiwwIC0wLjEsMCAtMC4xLDAgLTAuMiwwIC0wLjEsMCAtMC4yLDAgLTAuMiwwIHYgMCAwIEggMzQuMSAzNCBjIC0wLjEsMCAtMC4xLDAgLTAuMiwwIC0wLjYsLTAuMSAtMS4yLC0wLjMgLTEuNywtMC41IC0wLjYsLTAuMyAtMS4xLC0wLjYgLTEuNiwtMS4xIC0wLjUsLTAuNCAtMC45LC0xIC0xLjMsLTEuNiAtMC4zLC0wLjYgLTAuNiwtMS4zIC0wLjcsLTIgLTAuMSwtMC4zIC0wLjEsLTAuNyAtMC4xLC0xLjEgMCwtMC4xIDAsLTAuMiAwLC0wLjMgdiAwIDAgLTAuMSAtMC4xIGMgMCwtMC4yIDAsLTAuNCAwLjEsLTAuNiAwLjMsLTEuNSAxLC0zIDIuMiwtNC4yIDAuMywtMC4zIDAuNiwtMC41IDEsLTAuOCAwLjMsLTAuMiAwLjcsLTAuNCAxLjEsLTAuNiAwLjQsLTAuMiAwLjgsLTAuMyAxLjIsLTAuNCAwLjQsLTAuMSAwLjgsLTAuMiAxLjIsLTAuMiAwLjIsMCAwLjQsMCAwLjYsMCAwLjEsMCAwLjEsMCAwLjEsMCBoIDAuMiAwLjEgdiAwIDAgaCAwLjIgYyAwLjUsMCAwLjksMC4xIDEuNCwwLjIgMC45LDAuMiAxLjgsMC41IDIuNiwxIDEuNiwwLjkgMywyLjMgMy45LDQgMC40LDAuOCAwLjcsMS44IDAuOSwyLjcgMCwwLjIgMC4xLDAuNSAwLjEsMC43IHYgMC4yIDAuMiBjIDAsMC4xIDAsMC4xIDAsMC4yIDAsMC4xIDAsMC4xIDAsMC4yIHYgMC4yIDAuMiBjIDAsMC4xIDAsMC4zIDAsMC40IDAsMC4zIDAsMC41IC0wLjEsMC44IDAsMC4zIC0wLjEsMC41IC0wLjEsMC44IC0wLjEsMC4xIC0wLjEsMC4zIC0wLjIsMC42IC0wLjEsMC41IC0wLjMsMSAtMC41LDEuNSAtMC40LDEgLTAuOSwxLjkgLTEuNSwyLjcgLTEuMiwxLjcgLTIuOSwzLjEgLTQuOCwzLjkgLTEsMC40IC0yLDAuNyAtMywwLjkgLTAuNSwwLjEgLTEsMC4xIC0xLjYsMC4yIGggLTAuMSAtMC4xIC0wLjIgLTAuMyAtMC4xIGMgMC4xLDAgMCwwIDAsMCBoIC0wLjEgYyAtMC4zLDAgLTAuNiwwIC0wLjgsMCAtMS4xLC0wLjEgLTIuMiwtMC4zIC0zLjMsLTAuNiAtMS4xLC0wLjMgLTIuMSwtMC43IC0zLjEsLTEuMiAtMiwtMSAtMy43LC0yLjUgLTUuMSwtNC4yIC0wLjcsLTAuOSAtMS4zLC0xLjggLTEuOCwtMi44IC0wLjUsLTEgLTAuOSwtMiAtMS4yLC0zIC0wLjMsLTEgLTAuNSwtMi4xIC0wLjUsLTMuMiB2IC0wLjIgLTAuMSAwIC0wLjEgLTAuMiAwIC0wLjEgLTAuMSAtMC4zIDAgMCAtMC4xIGMgMCwtMC4xIDAsLTAuMyAwLC0wLjQgMCwtMC41IDAuMSwtMS4xIDAuMSwtMS42IDAuMSwtMC41IDAuMiwtMS4xIDAuMywtMS42IDAuMSwtMC41IDAuMiwtMS4xIDAuNCwtMS42IDAuMywtMS4xIDAuNywtMi4xIDEuMSwtMy4xIDAuOSwtMiAyLjEsLTMuNyAzLjUsLTUuMSAwLjQsLTAuMyAwLjcsLTAuNyAxLjEsLTEgMC40LC0wLjMgMC44LC0wLjYgMS4yLC0wLjkgMC40LC0wLjMgMC44LC0wLjUgMS4zLC0wLjcgMC4yLC0wLjEgMC40LC0wLjIgMC43LC0wLjMgMC4xLDAgMC4yLC0wLjEgMC4zLC0wLjEgMC4xLC0wLjEgMC4yLC0wLjEgMC4zLC0wLjEgMC40LC0wLjIgMC45LC0wLjQgMS40LC0wLjUgMC4xLDAgMC4yLC0wLjEgMC40LC0wLjEgMC4xLDAgMC4yLC0wLjEgMC40LC0wLjEgMC4yLC0wLjEgMC41LC0wLjEgMC43LC0wLjIgMC4xLDAgMC4yLC0wLjEgMC40LC0wLjEgMC4xLDAgMC4yLC0wLjEgMC40LC0wLjEgMC4xLDAgMC4yLDAgMC40LC0wLjEgaCAwLjIgMC4yIGMgMC4xLDAgMC4yLDAgMC40LC0wLjEgMC4xLDAgMC4zLDAgMC40LC0wLjEgMC4xLDAgMC4zLDAgMC40LDAgMC4xLDAgMC4yLDAgMC4zLDAgaCAwLjIgMC4xIDAuMSBjIDAuMSwwIDAuMywwIDAuNCwwIGggMC4yIGMgMCwwIDAuMSwwIDAsMCB2IDAgaCAwLjEgYyAwLjEsMCAwLjIsMCAwLjQsMCAwLjUsMCAwLjksMCAxLjQsMCAwLjksMCAxLjgsMC4xIDIuNywwLjMgMS44LDAuMyAzLjQsMC45IDQuOSwxLjYgMS41LDAuNyAyLjksMS42IDQsMi42IDAuMSwwLjEgMC4xLDAuMSAwLjIsMC4yIDAuMSwwLjEgMC4xLDAuMSAwLjIsMC4yIDAuMSwwLjEgMC4zLDAuMyAwLjQsMC40IDAuMSwwLjEgMC4zLDAuMyAwLjQsMC40IDAuMSwwLjEgMC4zLDAuMyAwLjQsMC40IDAuNSwwLjUgMSwxLjEgMS40LDEuNiAwLjgsMS4xIDEuNSwyLjEgMiwzLjIgMCwwLjEgMC4xLDAuMSAwLjEsMC4yIDAsMC4xIDAuMSwwLjEgMC4xLDAuMiAwLjEsMC4xIDAuMSwwLjMgMC4yLDAuNCAwLjEsMC4xIDAuMSwwLjIgMC4yLDAuNCAwLjEsMC4xIDAuMSwwLjIgMC4yLDAuNCAwLjIsMC41IDAuNCwwLjkgMC41LDEuNCAwLjIsMC43IDAuNCwxLjMgMC42LDEuOSAwLjEsMC4yIDAuMywwLjQgMC41LDAuMyAwLjIsMCAwLjQsLTAuMiAwLjQsLTAuNCAtMC4yLC0xLjEgLTAuMiwtMS44IC0wLjMsLTIuNiB6IgogICBpZD0icGF0aDM3NzgiCiAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgIHN0eWxlPSJmaWxsOnVybCgjU1ZHSURfMV8pIiAvPgo8L3N2Zz4= mediatype: image/svg+xml minKubeVersion: 1.23.0 links: - name: Grafana Operator url: 'https://grafana.github.io/grafana-operator' install: spec: clusterPermissions: - rules: - apiGroups: - '' resources: - configmaps - persistentvolumeclaims - secrets - serviceaccounts - services verbs: - create - delete - get - list - patch - update - watch - apiGroups: - '' resources: - events verbs: - create - get - list - patch - watch - apiGroups: - apps resources: - deployments verbs: - create - delete - get - list - patch - update - watch - apiGroups: - coordination.k8s.io resources: - leases verbs: - create - delete - get - list - patch - update - watch - apiGroups: - grafana.integreatly.org resources: - grafanaalertrulegroups verbs: - create - delete - get - list - patch - update - watch - apiGroups: - grafana.integreatly.org resources: - grafanaalertrulegroups/finalizers verbs: - update - apiGroups: - grafana.integreatly.org resources: - grafanaalertrulegroups/status verbs: - get - patch - update - apiGroups: - grafana.integreatly.org resources: - grafanacontactpoints verbs: - create - delete - get - list - patch - update - watch - apiGroups: - grafana.integreatly.org resources: - grafanacontactpoints/finalizers verbs: - update - apiGroups: - grafana.integreatly.org resources: - grafanacontactpoints/status verbs: - get - patch - update - apiGroups: - grafana.integreatly.org resources: - grafanadashboards verbs: - create - delete - get - list - patch - update - watch - apiGroups: - grafana.integreatly.org resources: - grafanadashboards/finalizers verbs: - update - apiGroups: - grafana.integreatly.org resources: - grafanadashboards/status verbs: - get - patch - update - apiGroups: - grafana.integreatly.org resources: - grafanadatasources verbs: - create - delete - get - list - patch - update - watch - apiGroups: - grafana.integreatly.org resources: - grafanadatasources/finalizers verbs: - update - apiGroups: - grafana.integreatly.org resources: - grafanadatasources/status verbs: - get - patch - update - apiGroups: - grafana.integreatly.org resources: - grafanafolders verbs: - create - delete - get - list - patch - update - watch - apiGroups: - grafana.integreatly.org resources: - grafanafolders/finalizers verbs: - update - apiGroups: - grafana.integreatly.org resources: - grafanafolders/status verbs: - get - patch - update - apiGroups: - grafana.integreatly.org resources: - grafananotificationpolicies verbs: - create - delete - get - list - patch - update - watch - apiGroups: - grafana.integreatly.org resources: - grafananotificationpolicies/finalizers verbs: - update - apiGroups: - grafana.integreatly.org resources: - grafananotificationpolicies/status verbs: - get - patch - update - apiGroups: - grafana.integreatly.org resources: - grafanas verbs: - create - delete - get - list - patch - update - watch - apiGroups: - grafana.integreatly.org resources: - grafanas/finalizers verbs: - update - apiGroups: - grafana.integreatly.org resources: - grafanas/status verbs: - get - patch - update - apiGroups: - networking.k8s.io resources: - ingresses verbs: - create - delete - get - list - patch - update - watch - apiGroups: - route.openshift.io resources: - routes - routes/custom-host verbs: - create - delete - get - list - update - watch serviceAccountName: grafana-operator-controller-manager deployments: - label: app.kubernetes.io/managed-by: olm app.kubernetes.io/name: grafana-operator name: grafana-operator-controller-manager-v5 spec: replicas: 1 selector: matchLabels: app.kubernetes.io/managed-by: olm app.kubernetes.io/name: grafana-operator strategy: {} template: metadata: creationTimestamp: null labels: app.kubernetes.io/managed-by: olm app.kubernetes.io/name: grafana-operator spec: containers: - resources: limits: cpu: 200m memory: 550Mi requests: cpu: 100m memory: 20Mi readinessProbe: httpGet: path: /readyz port: 8081 initialDelaySeconds: 5 periodSeconds: 10 name: manager livenessProbe: httpGet: path: /healthz port: 8081 initialDelaySeconds: 15 periodSeconds: 20 env: - name: RELATED_IMAGE_GRAFANA value: 'docker.io/grafana/grafana@sha256:b7fcb534f7b3512801bb3f4e658238846435804deb479d105b5cdc680847c272' - name: WATCH_NAMESPACE valueFrom: fieldRef: fieldPath: 'metadata.annotations[''olm.targetNamespaces'']' securityContext: allowPrivilegeEscalation: false ports: - containerPort: 9090 name: metrics protocol: TCP - containerPort: 8888 name: pprof protocol: TCP imagePullPolicy: Always image: 'ghcr.io/grafana/grafana-operator@sha256:a2d35af04ec0773f62d9b75966d0a3f8b24998e126b8ad243afb0377deb8e635' args: - '--health-probe-bind-address=:8081' - '--metrics-bind-address=0.0.0.0:9090' - '--leader-elect' securityContext: runAsNonRoot: true serviceAccountName: grafana-operator-controller-manager terminationGracePeriodSeconds: 10 permissions: - rules: - apiGroups: - '' resources: - configmaps verbs: - get - list - watch - create - update - patch - delete - apiGroups: - coordination.k8s.io resources: - leases verbs: - get - list - watch - create - update - patch - delete - apiGroups: - '' resources: - events verbs: - create - patch serviceAccountName: grafana-operator-controller-manager strategy: deployment maintainers: - email: grafana-operator@grafana.com name: Grafana-operator maintainers description: 'Deploys and manages Grafana instances, dashboards and data sources' replaces: grafana-operator.v5.12.0 status: cleanup: {} conditions: - lastTransitionTime: '2024-09-25T13:30:00Z' lastUpdateTime: '2024-09-25T13:30:00Z' message: requirements not yet checked phase: Pending reason: RequirementsUnknown - lastTransitionTime: '2024-09-25T13:30:00Z' lastUpdateTime: '2024-09-25T13:30:00Z' message: one or more requirements couldn't be found phase: Pending reason: RequirementsNotMet - lastTransitionTime: '2024-09-25T13:30:02Z' lastUpdateTime: '2024-09-25T13:30:02Z' message: 'all requirements found, attempting install' phase: InstallReady reason: AllRequirementsMet - lastTransitionTime: '2024-09-25T13:30:03Z' lastUpdateTime: '2024-09-25T13:30:03Z' message: waiting for install components to report healthy phase: Installing reason: InstallSucceeded - lastTransitionTime: '2024-09-25T13:30:03Z' lastUpdateTime: '2024-09-25T13:30:03Z' message: 'installing: waiting for deployment grafana-operator-controller-manager-v5 to become ready: deployment "grafana-operator-controller-manager-v5" not available: Deployment does not have minimum availability.' phase: Installing reason: InstallWaiting - lastTransitionTime: '2024-09-25T13:30:13Z' lastUpdateTime: '2024-09-25T13:30:13Z' message: install strategy completed with no errors phase: Succeeded reason: InstallSucceeded lastTransitionTime: '2024-09-25T13:30:13Z' lastUpdateTime: '2024-09-25T13:30:13Z' 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.29.7+4510e9c) name: grafana-operator.v5.13.0 status: Present version: v1alpha1 - group: apiextensions.k8s.io kind: CustomResourceDefinition message: CRD is present and Established condition is true name: grafanaalertrulegroups.grafana.integreatly.org status: Present uuid: a02dfc2d-4c8d-49bb-a455-2d7c5cc04a32 version: v1 - group: apiextensions.k8s.io kind: CustomResourceDefinition message: CRD is present and Established condition is true name: grafanacontactpoints.grafana.integreatly.org status: Present uuid: f61c8f7f-8219-4aaf-bfdf-229480b14fd9 version: v1 - group: apiextensions.k8s.io kind: CustomResourceDefinition message: CRD is present and Established condition is true name: grafanadashboards.grafana.integreatly.org status: Present uuid: 7c22f699-b133-47ac-9717-0b066d9ec797 version: v1 - group: apiextensions.k8s.io kind: CustomResourceDefinition message: CRD is present and Established condition is true name: grafanadatasources.grafana.integreatly.org status: Present uuid: 9a452ce0-9590-4a2f-b228-4c7cdabc0066 version: v1 - group: apiextensions.k8s.io kind: CustomResourceDefinition message: CRD is present and Established condition is true name: grafanafolders.grafana.integreatly.org status: Present uuid: f753adb2-1820-4ccf-bd98-438afb98a65a version: v1 - group: apiextensions.k8s.io kind: CustomResourceDefinition message: CRD is present and Established condition is true name: grafananotificationpolicies.grafana.integreatly.org status: Present uuid: ca2a6f6c-096d-4f25-a689-e8f936edc19b version: v1 - group: apiextensions.k8s.io kind: CustomResourceDefinition message: CRD is present and Established condition is true name: grafanas.grafana.integreatly.org status: Present uuid: c90d3954-e23a-42ce-9bae-670a9b2ea9db version: v1 - dependents: - group: rbac.authorization.k8s.io kind: PolicyRule message: 'cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":[""],"resources":["configmaps","persistentvolumeclaims","secrets","serviceaccounts","services"]}' status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: 'cluster rule:{"verbs":["create","get","list","patch","watch"],"apiGroups":[""],"resources":["events"]}' status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: 'cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["apps"],"resources":["deployments"]}' status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: 'cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["coordination.k8s.io"],"resources":["leases"]}' status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: 'cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["grafana.integreatly.org"],"resources":["grafanaalertrulegroups"]}' status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: 'cluster rule:{"verbs":["update"],"apiGroups":["grafana.integreatly.org"],"resources":["grafanaalertrulegroups/finalizers"]}' status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: 'cluster rule:{"verbs":["get","patch","update"],"apiGroups":["grafana.integreatly.org"],"resources":["grafanaalertrulegroups/status"]}' status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: 'cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["grafana.integreatly.org"],"resources":["grafanacontactpoints"]}' status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: 'cluster rule:{"verbs":["update"],"apiGroups":["grafana.integreatly.org"],"resources":["grafanacontactpoints/finalizers"]}' status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: 'cluster rule:{"verbs":["get","patch","update"],"apiGroups":["grafana.integreatly.org"],"resources":["grafanacontactpoints/status"]}' status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: 'cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["grafana.integreatly.org"],"resources":["grafanadashboards"]}' status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: 'cluster rule:{"verbs":["update"],"apiGroups":["grafana.integreatly.org"],"resources":["grafanadashboards/finalizers"]}' status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: 'cluster rule:{"verbs":["get","patch","update"],"apiGroups":["grafana.integreatly.org"],"resources":["grafanadashboards/status"]}' status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: 'cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["grafana.integreatly.org"],"resources":["grafanadatasources"]}' status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: 'cluster rule:{"verbs":["update"],"apiGroups":["grafana.integreatly.org"],"resources":["grafanadatasources/finalizers"]}' status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: 'cluster rule:{"verbs":["get","patch","update"],"apiGroups":["grafana.integreatly.org"],"resources":["grafanadatasources/status"]}' status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: 'cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["grafana.integreatly.org"],"resources":["grafanafolders"]}' status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: 'cluster rule:{"verbs":["update"],"apiGroups":["grafana.integreatly.org"],"resources":["grafanafolders/finalizers"]}' status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: 'cluster rule:{"verbs":["get","patch","update"],"apiGroups":["grafana.integreatly.org"],"resources":["grafanafolders/status"]}' status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: 'cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["grafana.integreatly.org"],"resources":["grafananotificationpolicies"]}' status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: 'cluster rule:{"verbs":["update"],"apiGroups":["grafana.integreatly.org"],"resources":["grafananotificationpolicies/finalizers"]}' status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: 'cluster rule:{"verbs":["get","patch","update"],"apiGroups":["grafana.integreatly.org"],"resources":["grafananotificationpolicies/status"]}' status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: 'cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["grafana.integreatly.org"],"resources":["grafanas"]}' status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: 'cluster rule:{"verbs":["update"],"apiGroups":["grafana.integreatly.org"],"resources":["grafanas/finalizers"]}' status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: 'cluster rule:{"verbs":["get","patch","update"],"apiGroups":["grafana.integreatly.org"],"resources":["grafanas/status"]}' status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: 'cluster rule:{"verbs":["create","delete","get","list","patch","update","watch"],"apiGroups":["networking.k8s.io"],"resources":["ingresses"]}' status: Satisfied version: v1 - group: rbac.authorization.k8s.io kind: PolicyRule message: 'cluster rule:{"verbs":["create","delete","get","list","update","watch"],"apiGroups":["route.openshift.io"],"resources":["routes","routes/custom-host"]}' status: Satisfied version: v1 group: '' kind: ServiceAccount message: '' name: grafana-operator-controller-manager status: Present version: v1