Plugin Signing Guide
đź”§ Fixed Issues
1. Missing rootUrls Field
âś… Added to plugin.json:
{
"rootUrls": [
"https://github.com/Perseus985/Minimal-Status-Panel"
],
"backend": false,
"executable": "",
"state": "stable",
"signature": "community"
}
2. Deprecated API Key Warning
⚠️ GRAFANA_API_KEY is deprecated ✅ New method: GRAFANA_ACCESS_POLICY_TOKEN
🚀 How to Get New Access Policy Token
Step 1: Create Access Policy
- Go to: https://grafana.com/orgs/YOUR_ORG/access-policies
- Click “Create access policy”
- Name:
Plugin Publishing Policy - Scopes: Select
plugins:writeandplugins:read - Resources: All or specific plugins
- Click “Create”
Step 2: Create Token
- In the access policy, click “Add token”
- Name:
Plugin Signing Token - Expiration: Set appropriate duration
- Click “Create token”
- Copy the token (you’ll only see it once!)
Step 3: Use New Token
# Set the new token (replaces GRAFANA_API_KEY)
export GRAFANA_ACCESS_POLICY_TOKEN="your-new-token-here"
# Build and sign
npm run build
npm run sign
🔄 For GitHub Actions
Update your repository secrets:
- Go to Settings > Secrets and variables > Actions
- Delete old
GRAFANA_API_KEYsecret - Add new secret:
GRAFANA_ACCESS_POLICY_TOKEN
⚠️ Important Notes
- Private plugins don’t need signing
- Community plugins require signing for distribution
- Keep your access token secure and rotated regularly
- Test signing locally before deploying