From 1eda96773ec4438d1d0420de9c2ce68a2b3e1026 Mon Sep 17 00:00:00 2001 From: Chris Bedwell Date: Tue, 17 Feb 2026 17:11:42 +0000 Subject: [PATCH 1/2] fix: add keywords array to plugin.json --- src/plugin.json | 399 +++++++++++++++++++++++++++++++++++------------- 1 file changed, 295 insertions(+), 104 deletions(-) diff --git a/src/plugin.json b/src/plugin.json index d7d27c03c..8a81d3a06 100644 --- a/src/plugin.json +++ b/src/plugin.json @@ -1,4 +1,5 @@ { + "$schema": "https://raw.githubusercontent.com/grafana/grafana/main/docs/sources/developers/plugins/plugin.schema.json", "type": "app", "name": "Synthetic Monitoring", "id": "grafana-synthetic-monitoring-app", @@ -21,7 +22,12 @@ } ], "version": "%VERSION%", - "updated": "%TODAY%" + "updated": "%TODAY%", + "keywords": [ + "synthetic-monitoring", + "Synthetic Monitoring", + "Synthetics" + ] }, "routes": [ { @@ -86,201 +92,386 @@ "name": "Checks reader", "description": "Read checks in the Synthetic Monitoring app", "permissions": [ - { "action": "plugins.app:access", "scope": "plugins:id:grafana-synthetic-monitoring-app" }, - { "action": "grafana-synthetic-monitoring-app:read" }, - - { "action": "grafana-synthetic-monitoring-app.checks:read" } + { + "action": "plugins.app:access", + "scope": "plugins:id:grafana-synthetic-monitoring-app" + }, + { + "action": "grafana-synthetic-monitoring-app:read" + }, + { + "action": "grafana-synthetic-monitoring-app.checks:read" + } ] }, - "grants": ["Viewer"] + "grants": [ + "Viewer" + ] }, { "role": { "name": "Checks writer", "description": "Create, edit and delete checks in the Synthetic Monitoring app", "permissions": [ - { "action": "plugins.app:access", "scope": "plugins:id:grafana-synthetic-monitoring-app" }, - { "action": "grafana-synthetic-monitoring-app:read" }, - { "action": "grafana-synthetic-monitoring-app:write" }, - - { "action": "grafana-synthetic-monitoring-app.checks:write" }, - { "action": "grafana-synthetic-monitoring-app.checks:read" }, - { "action": "grafana-synthetic-monitoring-app.checks:delete" } + { + "action": "plugins.app:access", + "scope": "plugins:id:grafana-synthetic-monitoring-app" + }, + { + "action": "grafana-synthetic-monitoring-app:read" + }, + { + "action": "grafana-synthetic-monitoring-app:write" + }, + { + "action": "grafana-synthetic-monitoring-app.checks:write" + }, + { + "action": "grafana-synthetic-monitoring-app.checks:read" + }, + { + "action": "grafana-synthetic-monitoring-app.checks:delete" + } ] }, - "grants": ["Admin", "Editor"] + "grants": [ + "Admin", + "Editor" + ] }, { "role": { "name": "Probes reader", "description": "Read probes in the Synthetic Monitoring app", "permissions": [ - { "action": "plugins.app:access", "scope": "plugins:id:grafana-synthetic-monitoring-app" }, - { "action": "grafana-synthetic-monitoring-app:read" }, - - { "action": "grafana-synthetic-monitoring-app.probes:read" } + { + "action": "plugins.app:access", + "scope": "plugins:id:grafana-synthetic-monitoring-app" + }, + { + "action": "grafana-synthetic-monitoring-app:read" + }, + { + "action": "grafana-synthetic-monitoring-app.probes:read" + } ] }, - "grants": ["Viewer"] + "grants": [ + "Viewer" + ] }, { "role": { "name": "Probes writer", "description": "Create, edit and delete probes in the Synthetic Monitoring app", "permissions": [ - { "action": "plugins.app:access", "scope": "plugins:id:grafana-synthetic-monitoring-app" }, - { "action": "grafana-synthetic-monitoring-app:read" }, - { "action": "grafana-synthetic-monitoring-app:write" }, - - { "action": "grafana-synthetic-monitoring-app.probes:write" }, - { "action": "grafana-synthetic-monitoring-app.probes:read" }, - { "action": "grafana-synthetic-monitoring-app.probes:delete" } + { + "action": "plugins.app:access", + "scope": "plugins:id:grafana-synthetic-monitoring-app" + }, + { + "action": "grafana-synthetic-monitoring-app:read" + }, + { + "action": "grafana-synthetic-monitoring-app:write" + }, + { + "action": "grafana-synthetic-monitoring-app.probes:write" + }, + { + "action": "grafana-synthetic-monitoring-app.probes:read" + }, + { + "action": "grafana-synthetic-monitoring-app.probes:delete" + } ] }, - "grants": ["Admin", "Editor"] + "grants": [ + "Admin", + "Editor" + ] }, { "role": { "name": "Alerts reader", "description": "Read alerts in the Synthetic Monitoring app", "permissions": [ - { "action": "plugins.app:access", "scope": "plugins:id:grafana-synthetic-monitoring-app" }, - { "action": "grafana-synthetic-monitoring-app:read" }, - - { "action": "grafana-synthetic-monitoring-app.alerts:read" } + { + "action": "plugins.app:access", + "scope": "plugins:id:grafana-synthetic-monitoring-app" + }, + { + "action": "grafana-synthetic-monitoring-app:read" + }, + { + "action": "grafana-synthetic-monitoring-app.alerts:read" + } ] }, - "grants": ["Viewer"] + "grants": [ + "Viewer" + ] }, { "role": { "name": "Alerts writer", "description": "Create, edit and delete alerts in the Synthetic Monitoring app", "permissions": [ - { "action": "plugins.app:access", "scope": "plugins:id:grafana-synthetic-monitoring-app" }, - { "action": "grafana-synthetic-monitoring-app:read" }, - { "action": "grafana-synthetic-monitoring-app:write" }, - - { "action": "grafana-synthetic-monitoring-app.alerts:write" }, - { "action": "grafana-synthetic-monitoring-app.alerts:read" }, - { "action": "grafana-synthetic-monitoring-app.alerts:delete" } + { + "action": "plugins.app:access", + "scope": "plugins:id:grafana-synthetic-monitoring-app" + }, + { + "action": "grafana-synthetic-monitoring-app:read" + }, + { + "action": "grafana-synthetic-monitoring-app:write" + }, + { + "action": "grafana-synthetic-monitoring-app.alerts:write" + }, + { + "action": "grafana-synthetic-monitoring-app.alerts:read" + }, + { + "action": "grafana-synthetic-monitoring-app.alerts:delete" + } ] }, - "grants": ["Admin", "Editor"] + "grants": [ + "Admin", + "Editor" + ] }, { "role": { "name": "Thresholds reader", "description": "Read thresholds in the Synthetic Monitoring app", "permissions": [ - { "action": "plugins.app:access", "scope": "plugins:id:grafana-synthetic-monitoring-app" }, - { "action": "grafana-synthetic-monitoring-app:read" }, - - { "action": "grafana-synthetic-monitoring-app.thresholds:read" } + { + "action": "plugins.app:access", + "scope": "plugins:id:grafana-synthetic-monitoring-app" + }, + { + "action": "grafana-synthetic-monitoring-app:read" + }, + { + "action": "grafana-synthetic-monitoring-app.thresholds:read" + } ] }, - "grants": ["Viewer"] + "grants": [ + "Viewer" + ] }, { "role": { "name": "Thresholds writer", "description": "Read and edit thresholds in the Synthetic Monitoring app", "permissions": [ - { "action": "plugins.app:access", "scope": "plugins:id:grafana-synthetic-monitoring-app" }, - { "action": "grafana-synthetic-monitoring-app:read" }, - { "action": "grafana-synthetic-monitoring-app:write" }, - - { "action": "grafana-synthetic-monitoring-app.thresholds:write" }, - { "action": "grafana-synthetic-monitoring-app.thresholds:read" }, - { "action": "grafana-synthetic-monitoring-app.thresholds:delete" } + { + "action": "plugins.app:access", + "scope": "plugins:id:grafana-synthetic-monitoring-app" + }, + { + "action": "grafana-synthetic-monitoring-app:read" + }, + { + "action": "grafana-synthetic-monitoring-app:write" + }, + { + "action": "grafana-synthetic-monitoring-app.thresholds:write" + }, + { + "action": "grafana-synthetic-monitoring-app.thresholds:read" + }, + { + "action": "grafana-synthetic-monitoring-app.thresholds:delete" + } ] }, - "grants": ["Admin", "Editor"] + "grants": [ + "Admin", + "Editor" + ] }, { "role": { "name": "Access tokens writer", "description": "Create and delete access tokens in the Synthetic Monitoring app", "permissions": [ - { "action": "plugins.app:access", "scope": "plugins:id:grafana-synthetic-monitoring-app" }, - { "action": "grafana-synthetic-monitoring-app:read" }, - { "action": "grafana-synthetic-monitoring-app:write" }, - - { "action": "grafana-synthetic-monitoring-app.access-tokens:write" } + { + "action": "plugins.app:access", + "scope": "plugins:id:grafana-synthetic-monitoring-app" + }, + { + "action": "grafana-synthetic-monitoring-app:read" + }, + { + "action": "grafana-synthetic-monitoring-app:write" + }, + { + "action": "grafana-synthetic-monitoring-app.access-tokens:write" + } ] }, - "grants": ["Admin"] + "grants": [ + "Admin" + ] }, { "role": { "name": "Admin", "description": "Full access to write and manage checks, probes, alerts, thresholds, and access tokens as well as enabling/disabling the Synthetic Monitoring plugin", "permissions": [ - { "action": "plugins.app:access", "scope": "plugins:id:grafana-synthetic-monitoring-app" }, - { "action": "grafana-synthetic-monitoring-app:read" }, - { "action": "grafana-synthetic-monitoring-app:write" }, - - { "action": "grafana-synthetic-monitoring-app.plugin:write" }, - { "action": "grafana-synthetic-monitoring-app.checks:write" }, - { "action": "grafana-synthetic-monitoring-app.probes:write" }, - { "action": "grafana-synthetic-monitoring-app.alerts:write" }, - { "action": "grafana-synthetic-monitoring-app.thresholds:write" }, - { "action": "grafana-synthetic-monitoring-app.access-tokens:write" }, - { "action": "grafana-synthetic-monitoring-app.checks:read" }, - { "action": "grafana-synthetic-monitoring-app.probes:read" }, - { "action": "grafana-synthetic-monitoring-app.alerts:read" }, - { "action": "grafana-synthetic-monitoring-app.thresholds:read" }, - { "action": "grafana-synthetic-monitoring-app.checks:delete" }, - { "action": "grafana-synthetic-monitoring-app.probes:delete" }, - { "action": "grafana-synthetic-monitoring-app.alerts:delete" }, - { "action": "grafana-synthetic-monitoring-app.thresholds:delete" } + { + "action": "plugins.app:access", + "scope": "plugins:id:grafana-synthetic-monitoring-app" + }, + { + "action": "grafana-synthetic-monitoring-app:read" + }, + { + "action": "grafana-synthetic-monitoring-app:write" + }, + { + "action": "grafana-synthetic-monitoring-app.plugin:write" + }, + { + "action": "grafana-synthetic-monitoring-app.checks:write" + }, + { + "action": "grafana-synthetic-monitoring-app.probes:write" + }, + { + "action": "grafana-synthetic-monitoring-app.alerts:write" + }, + { + "action": "grafana-synthetic-monitoring-app.thresholds:write" + }, + { + "action": "grafana-synthetic-monitoring-app.access-tokens:write" + }, + { + "action": "grafana-synthetic-monitoring-app.checks:read" + }, + { + "action": "grafana-synthetic-monitoring-app.probes:read" + }, + { + "action": "grafana-synthetic-monitoring-app.alerts:read" + }, + { + "action": "grafana-synthetic-monitoring-app.thresholds:read" + }, + { + "action": "grafana-synthetic-monitoring-app.checks:delete" + }, + { + "action": "grafana-synthetic-monitoring-app.probes:delete" + }, + { + "action": "grafana-synthetic-monitoring-app.alerts:delete" + }, + { + "action": "grafana-synthetic-monitoring-app.thresholds:delete" + } ] }, - "grants": ["Admin"] + "grants": [ + "Admin" + ] }, { "role": { "name": "Editor", "description": "Add, update and delete checks, probes, alerts, and thresholds in the Synthetic Monitoring app", "permissions": [ - { "action": "plugins.app:access", "scope": "plugins:id:grafana-synthetic-monitoring-app" }, - { "action": "grafana-synthetic-monitoring-app:read" }, - { "action": "grafana-synthetic-monitoring-app:write" }, - - { "action": "grafana-synthetic-monitoring-app.checks:write" }, - { "action": "grafana-synthetic-monitoring-app.probes:write" }, - { "action": "grafana-synthetic-monitoring-app.alerts:write" }, - { "action": "grafana-synthetic-monitoring-app.thresholds:write" }, - { "action": "grafana-synthetic-monitoring-app.checks:read" }, - { "action": "grafana-synthetic-monitoring-app.probes:read" }, - { "action": "grafana-synthetic-monitoring-app.alerts:read" }, - { "action": "grafana-synthetic-monitoring-app.thresholds:read" }, - { "action": "grafana-synthetic-monitoring-app.checks:delete" }, - { "action": "grafana-synthetic-monitoring-app.probes:delete" }, - { "action": "grafana-synthetic-monitoring-app.alerts:delete" }, - { "action": "grafana-synthetic-monitoring-app.thresholds:delete" } + { + "action": "plugins.app:access", + "scope": "plugins:id:grafana-synthetic-monitoring-app" + }, + { + "action": "grafana-synthetic-monitoring-app:read" + }, + { + "action": "grafana-synthetic-monitoring-app:write" + }, + { + "action": "grafana-synthetic-monitoring-app.checks:write" + }, + { + "action": "grafana-synthetic-monitoring-app.probes:write" + }, + { + "action": "grafana-synthetic-monitoring-app.alerts:write" + }, + { + "action": "grafana-synthetic-monitoring-app.thresholds:write" + }, + { + "action": "grafana-synthetic-monitoring-app.checks:read" + }, + { + "action": "grafana-synthetic-monitoring-app.probes:read" + }, + { + "action": "grafana-synthetic-monitoring-app.alerts:read" + }, + { + "action": "grafana-synthetic-monitoring-app.thresholds:read" + }, + { + "action": "grafana-synthetic-monitoring-app.checks:delete" + }, + { + "action": "grafana-synthetic-monitoring-app.probes:delete" + }, + { + "action": "grafana-synthetic-monitoring-app.alerts:delete" + }, + { + "action": "grafana-synthetic-monitoring-app.thresholds:delete" + } ] }, - "grants": ["Admin", "Editor"] + "grants": [ + "Admin", + "Editor" + ] }, { "role": { "name": "Reader", "description": "Read checks, probes, alerts, thresholds, and access tokens in the Synthetic Monitoring app", "permissions": [ - { "action": "plugins.app:access", "scope": "plugins:id:grafana-synthetic-monitoring-app" }, - { "action": "grafana-synthetic-monitoring-app:read" }, - - { "action": "grafana-synthetic-monitoring-app.checks:read" }, - { "action": "grafana-synthetic-monitoring-app.probes:read" }, - { "action": "grafana-synthetic-monitoring-app.alerts:read" }, - { "action": "grafana-synthetic-monitoring-app.thresholds:read" } + { + "action": "plugins.app:access", + "scope": "plugins:id:grafana-synthetic-monitoring-app" + }, + { + "action": "grafana-synthetic-monitoring-app:read" + }, + { + "action": "grafana-synthetic-monitoring-app.checks:read" + }, + { + "action": "grafana-synthetic-monitoring-app.probes:read" + }, + { + "action": "grafana-synthetic-monitoring-app.alerts:read" + }, + { + "action": "grafana-synthetic-monitoring-app.thresholds:read" + } ] }, - "grants": ["Viewer"] + "grants": [ + "Viewer" + ] } ], "dependencies": { "grafanaDependency": ">=12.3.0" } -} +} \ No newline at end of file From 14bd5b46881646ad1e45a6f2f8a14ca6901c20cd Mon Sep 17 00:00:00 2001 From: Chris Bedwell Date: Tue, 17 Feb 2026 17:19:52 +0000 Subject: [PATCH 2/2] fix: format following prettier linting --- src/plugin.json | 397 +++++++++++++----------------------------------- 1 file changed, 104 insertions(+), 293 deletions(-) diff --git a/src/plugin.json b/src/plugin.json index 8a81d3a06..d6ca83408 100644 --- a/src/plugin.json +++ b/src/plugin.json @@ -23,11 +23,7 @@ ], "version": "%VERSION%", "updated": "%TODAY%", - "keywords": [ - "synthetic-monitoring", - "Synthetic Monitoring", - "Synthetics" - ] + "keywords": ["synthetic-monitoring", "Synthetic Monitoring", "Synthetics"] }, "routes": [ { @@ -92,386 +88,201 @@ "name": "Checks reader", "description": "Read checks in the Synthetic Monitoring app", "permissions": [ - { - "action": "plugins.app:access", - "scope": "plugins:id:grafana-synthetic-monitoring-app" - }, - { - "action": "grafana-synthetic-monitoring-app:read" - }, - { - "action": "grafana-synthetic-monitoring-app.checks:read" - } + { "action": "plugins.app:access", "scope": "plugins:id:grafana-synthetic-monitoring-app" }, + { "action": "grafana-synthetic-monitoring-app:read" }, + + { "action": "grafana-synthetic-monitoring-app.checks:read" } ] }, - "grants": [ - "Viewer" - ] + "grants": ["Viewer"] }, { "role": { "name": "Checks writer", "description": "Create, edit and delete checks in the Synthetic Monitoring app", "permissions": [ - { - "action": "plugins.app:access", - "scope": "plugins:id:grafana-synthetic-monitoring-app" - }, - { - "action": "grafana-synthetic-monitoring-app:read" - }, - { - "action": "grafana-synthetic-monitoring-app:write" - }, - { - "action": "grafana-synthetic-monitoring-app.checks:write" - }, - { - "action": "grafana-synthetic-monitoring-app.checks:read" - }, - { - "action": "grafana-synthetic-monitoring-app.checks:delete" - } + { "action": "plugins.app:access", "scope": "plugins:id:grafana-synthetic-monitoring-app" }, + { "action": "grafana-synthetic-monitoring-app:read" }, + { "action": "grafana-synthetic-monitoring-app:write" }, + + { "action": "grafana-synthetic-monitoring-app.checks:write" }, + { "action": "grafana-synthetic-monitoring-app.checks:read" }, + { "action": "grafana-synthetic-monitoring-app.checks:delete" } ] }, - "grants": [ - "Admin", - "Editor" - ] + "grants": ["Admin", "Editor"] }, { "role": { "name": "Probes reader", "description": "Read probes in the Synthetic Monitoring app", "permissions": [ - { - "action": "plugins.app:access", - "scope": "plugins:id:grafana-synthetic-monitoring-app" - }, - { - "action": "grafana-synthetic-monitoring-app:read" - }, - { - "action": "grafana-synthetic-monitoring-app.probes:read" - } + { "action": "plugins.app:access", "scope": "plugins:id:grafana-synthetic-monitoring-app" }, + { "action": "grafana-synthetic-monitoring-app:read" }, + + { "action": "grafana-synthetic-monitoring-app.probes:read" } ] }, - "grants": [ - "Viewer" - ] + "grants": ["Viewer"] }, { "role": { "name": "Probes writer", "description": "Create, edit and delete probes in the Synthetic Monitoring app", "permissions": [ - { - "action": "plugins.app:access", - "scope": "plugins:id:grafana-synthetic-monitoring-app" - }, - { - "action": "grafana-synthetic-monitoring-app:read" - }, - { - "action": "grafana-synthetic-monitoring-app:write" - }, - { - "action": "grafana-synthetic-monitoring-app.probes:write" - }, - { - "action": "grafana-synthetic-monitoring-app.probes:read" - }, - { - "action": "grafana-synthetic-monitoring-app.probes:delete" - } + { "action": "plugins.app:access", "scope": "plugins:id:grafana-synthetic-monitoring-app" }, + { "action": "grafana-synthetic-monitoring-app:read" }, + { "action": "grafana-synthetic-monitoring-app:write" }, + + { "action": "grafana-synthetic-monitoring-app.probes:write" }, + { "action": "grafana-synthetic-monitoring-app.probes:read" }, + { "action": "grafana-synthetic-monitoring-app.probes:delete" } ] }, - "grants": [ - "Admin", - "Editor" - ] + "grants": ["Admin", "Editor"] }, { "role": { "name": "Alerts reader", "description": "Read alerts in the Synthetic Monitoring app", "permissions": [ - { - "action": "plugins.app:access", - "scope": "plugins:id:grafana-synthetic-monitoring-app" - }, - { - "action": "grafana-synthetic-monitoring-app:read" - }, - { - "action": "grafana-synthetic-monitoring-app.alerts:read" - } + { "action": "plugins.app:access", "scope": "plugins:id:grafana-synthetic-monitoring-app" }, + { "action": "grafana-synthetic-monitoring-app:read" }, + + { "action": "grafana-synthetic-monitoring-app.alerts:read" } ] }, - "grants": [ - "Viewer" - ] + "grants": ["Viewer"] }, { "role": { "name": "Alerts writer", "description": "Create, edit and delete alerts in the Synthetic Monitoring app", "permissions": [ - { - "action": "plugins.app:access", - "scope": "plugins:id:grafana-synthetic-monitoring-app" - }, - { - "action": "grafana-synthetic-monitoring-app:read" - }, - { - "action": "grafana-synthetic-monitoring-app:write" - }, - { - "action": "grafana-synthetic-monitoring-app.alerts:write" - }, - { - "action": "grafana-synthetic-monitoring-app.alerts:read" - }, - { - "action": "grafana-synthetic-monitoring-app.alerts:delete" - } + { "action": "plugins.app:access", "scope": "plugins:id:grafana-synthetic-monitoring-app" }, + { "action": "grafana-synthetic-monitoring-app:read" }, + { "action": "grafana-synthetic-monitoring-app:write" }, + + { "action": "grafana-synthetic-monitoring-app.alerts:write" }, + { "action": "grafana-synthetic-monitoring-app.alerts:read" }, + { "action": "grafana-synthetic-monitoring-app.alerts:delete" } ] }, - "grants": [ - "Admin", - "Editor" - ] + "grants": ["Admin", "Editor"] }, { "role": { "name": "Thresholds reader", "description": "Read thresholds in the Synthetic Monitoring app", "permissions": [ - { - "action": "plugins.app:access", - "scope": "plugins:id:grafana-synthetic-monitoring-app" - }, - { - "action": "grafana-synthetic-monitoring-app:read" - }, - { - "action": "grafana-synthetic-monitoring-app.thresholds:read" - } + { "action": "plugins.app:access", "scope": "plugins:id:grafana-synthetic-monitoring-app" }, + { "action": "grafana-synthetic-monitoring-app:read" }, + + { "action": "grafana-synthetic-monitoring-app.thresholds:read" } ] }, - "grants": [ - "Viewer" - ] + "grants": ["Viewer"] }, { "role": { "name": "Thresholds writer", "description": "Read and edit thresholds in the Synthetic Monitoring app", "permissions": [ - { - "action": "plugins.app:access", - "scope": "plugins:id:grafana-synthetic-monitoring-app" - }, - { - "action": "grafana-synthetic-monitoring-app:read" - }, - { - "action": "grafana-synthetic-monitoring-app:write" - }, - { - "action": "grafana-synthetic-monitoring-app.thresholds:write" - }, - { - "action": "grafana-synthetic-monitoring-app.thresholds:read" - }, - { - "action": "grafana-synthetic-monitoring-app.thresholds:delete" - } + { "action": "plugins.app:access", "scope": "plugins:id:grafana-synthetic-monitoring-app" }, + { "action": "grafana-synthetic-monitoring-app:read" }, + { "action": "grafana-synthetic-monitoring-app:write" }, + + { "action": "grafana-synthetic-monitoring-app.thresholds:write" }, + { "action": "grafana-synthetic-monitoring-app.thresholds:read" }, + { "action": "grafana-synthetic-monitoring-app.thresholds:delete" } ] }, - "grants": [ - "Admin", - "Editor" - ] + "grants": ["Admin", "Editor"] }, { "role": { "name": "Access tokens writer", "description": "Create and delete access tokens in the Synthetic Monitoring app", "permissions": [ - { - "action": "plugins.app:access", - "scope": "plugins:id:grafana-synthetic-monitoring-app" - }, - { - "action": "grafana-synthetic-monitoring-app:read" - }, - { - "action": "grafana-synthetic-monitoring-app:write" - }, - { - "action": "grafana-synthetic-monitoring-app.access-tokens:write" - } + { "action": "plugins.app:access", "scope": "plugins:id:grafana-synthetic-monitoring-app" }, + { "action": "grafana-synthetic-monitoring-app:read" }, + { "action": "grafana-synthetic-monitoring-app:write" }, + + { "action": "grafana-synthetic-monitoring-app.access-tokens:write" } ] }, - "grants": [ - "Admin" - ] + "grants": ["Admin"] }, { "role": { "name": "Admin", "description": "Full access to write and manage checks, probes, alerts, thresholds, and access tokens as well as enabling/disabling the Synthetic Monitoring plugin", "permissions": [ - { - "action": "plugins.app:access", - "scope": "plugins:id:grafana-synthetic-monitoring-app" - }, - { - "action": "grafana-synthetic-monitoring-app:read" - }, - { - "action": "grafana-synthetic-monitoring-app:write" - }, - { - "action": "grafana-synthetic-monitoring-app.plugin:write" - }, - { - "action": "grafana-synthetic-monitoring-app.checks:write" - }, - { - "action": "grafana-synthetic-monitoring-app.probes:write" - }, - { - "action": "grafana-synthetic-monitoring-app.alerts:write" - }, - { - "action": "grafana-synthetic-monitoring-app.thresholds:write" - }, - { - "action": "grafana-synthetic-monitoring-app.access-tokens:write" - }, - { - "action": "grafana-synthetic-monitoring-app.checks:read" - }, - { - "action": "grafana-synthetic-monitoring-app.probes:read" - }, - { - "action": "grafana-synthetic-monitoring-app.alerts:read" - }, - { - "action": "grafana-synthetic-monitoring-app.thresholds:read" - }, - { - "action": "grafana-synthetic-monitoring-app.checks:delete" - }, - { - "action": "grafana-synthetic-monitoring-app.probes:delete" - }, - { - "action": "grafana-synthetic-monitoring-app.alerts:delete" - }, - { - "action": "grafana-synthetic-monitoring-app.thresholds:delete" - } + { "action": "plugins.app:access", "scope": "plugins:id:grafana-synthetic-monitoring-app" }, + { "action": "grafana-synthetic-monitoring-app:read" }, + { "action": "grafana-synthetic-monitoring-app:write" }, + + { "action": "grafana-synthetic-monitoring-app.plugin:write" }, + { "action": "grafana-synthetic-monitoring-app.checks:write" }, + { "action": "grafana-synthetic-monitoring-app.probes:write" }, + { "action": "grafana-synthetic-monitoring-app.alerts:write" }, + { "action": "grafana-synthetic-monitoring-app.thresholds:write" }, + { "action": "grafana-synthetic-monitoring-app.access-tokens:write" }, + { "action": "grafana-synthetic-monitoring-app.checks:read" }, + { "action": "grafana-synthetic-monitoring-app.probes:read" }, + { "action": "grafana-synthetic-monitoring-app.alerts:read" }, + { "action": "grafana-synthetic-monitoring-app.thresholds:read" }, + { "action": "grafana-synthetic-monitoring-app.checks:delete" }, + { "action": "grafana-synthetic-monitoring-app.probes:delete" }, + { "action": "grafana-synthetic-monitoring-app.alerts:delete" }, + { "action": "grafana-synthetic-monitoring-app.thresholds:delete" } ] }, - "grants": [ - "Admin" - ] + "grants": ["Admin"] }, { "role": { "name": "Editor", "description": "Add, update and delete checks, probes, alerts, and thresholds in the Synthetic Monitoring app", "permissions": [ - { - "action": "plugins.app:access", - "scope": "plugins:id:grafana-synthetic-monitoring-app" - }, - { - "action": "grafana-synthetic-monitoring-app:read" - }, - { - "action": "grafana-synthetic-monitoring-app:write" - }, - { - "action": "grafana-synthetic-monitoring-app.checks:write" - }, - { - "action": "grafana-synthetic-monitoring-app.probes:write" - }, - { - "action": "grafana-synthetic-monitoring-app.alerts:write" - }, - { - "action": "grafana-synthetic-monitoring-app.thresholds:write" - }, - { - "action": "grafana-synthetic-monitoring-app.checks:read" - }, - { - "action": "grafana-synthetic-monitoring-app.probes:read" - }, - { - "action": "grafana-synthetic-monitoring-app.alerts:read" - }, - { - "action": "grafana-synthetic-monitoring-app.thresholds:read" - }, - { - "action": "grafana-synthetic-monitoring-app.checks:delete" - }, - { - "action": "grafana-synthetic-monitoring-app.probes:delete" - }, - { - "action": "grafana-synthetic-monitoring-app.alerts:delete" - }, - { - "action": "grafana-synthetic-monitoring-app.thresholds:delete" - } + { "action": "plugins.app:access", "scope": "plugins:id:grafana-synthetic-monitoring-app" }, + { "action": "grafana-synthetic-monitoring-app:read" }, + { "action": "grafana-synthetic-monitoring-app:write" }, + + { "action": "grafana-synthetic-monitoring-app.checks:write" }, + { "action": "grafana-synthetic-monitoring-app.probes:write" }, + { "action": "grafana-synthetic-monitoring-app.alerts:write" }, + { "action": "grafana-synthetic-monitoring-app.thresholds:write" }, + { "action": "grafana-synthetic-monitoring-app.checks:read" }, + { "action": "grafana-synthetic-monitoring-app.probes:read" }, + { "action": "grafana-synthetic-monitoring-app.alerts:read" }, + { "action": "grafana-synthetic-monitoring-app.thresholds:read" }, + { "action": "grafana-synthetic-monitoring-app.checks:delete" }, + { "action": "grafana-synthetic-monitoring-app.probes:delete" }, + { "action": "grafana-synthetic-monitoring-app.alerts:delete" }, + { "action": "grafana-synthetic-monitoring-app.thresholds:delete" } ] }, - "grants": [ - "Admin", - "Editor" - ] + "grants": ["Admin", "Editor"] }, { "role": { "name": "Reader", "description": "Read checks, probes, alerts, thresholds, and access tokens in the Synthetic Monitoring app", "permissions": [ - { - "action": "plugins.app:access", - "scope": "plugins:id:grafana-synthetic-monitoring-app" - }, - { - "action": "grafana-synthetic-monitoring-app:read" - }, - { - "action": "grafana-synthetic-monitoring-app.checks:read" - }, - { - "action": "grafana-synthetic-monitoring-app.probes:read" - }, - { - "action": "grafana-synthetic-monitoring-app.alerts:read" - }, - { - "action": "grafana-synthetic-monitoring-app.thresholds:read" - } + { "action": "plugins.app:access", "scope": "plugins:id:grafana-synthetic-monitoring-app" }, + { "action": "grafana-synthetic-monitoring-app:read" }, + + { "action": "grafana-synthetic-monitoring-app.checks:read" }, + { "action": "grafana-synthetic-monitoring-app.probes:read" }, + { "action": "grafana-synthetic-monitoring-app.alerts:read" }, + { "action": "grafana-synthetic-monitoring-app.thresholds:read" } ] }, - "grants": [ - "Viewer" - ] + "grants": ["Viewer"] } ], "dependencies": { "grafanaDependency": ">=12.3.0" } -} \ No newline at end of file +}