Issue with release build
Trying Github.com API https://developer.github.com/v4/guides/forming-calls/#authenticating-with-graphql
On Grafana v6.7.3 (a04ef6cefc)
Getting
GraphQL Data Source plugin failed
Error: [$injector:unpr] Unknown provider: rProvider <- r http://errors.angularjs.org/1.6.9/$injector/unpr?p0=rProvider%20%3C-%20r
No idea what any of that means.
It occurs int he GUI when i chose your GraphQL Data Source, toggle Basic Auth, add the token and bearer in the Basic Auth Details, click Save & Test.
To replicate you can do exactly what i did with a fresh install like this;
docker-compose.yaml
version: '3.6'
x-defaults: &defaults
restart: unless-stopped
logging:
options:
max-size: "10m"
max-file: "3"
cap_drop:
- ALL
cap_add:
- DAC_OVERRIDE
services:
dashboard:
<<: *defaults
image: bitnami/grafana:6-debian-10@sha256:bda98953d622ff2c10ffd0bcbf3c71eb7eaf3222281c5ab2dc5e3b2d2cafcc3e
container_name: dashboard
build:
context: ./
dockerfile: docker/Dockerfile
user: "${UID}"
environment:
- GITHUB_PERSONAL_ACCESS_TOKEN=${GITHUB_PERSONAL_ACCESS_TOKEN}
- GF_SECURITY_ADMIN_PASSWORD=${GF_SECURITY_ADMIN_PASSWORD}
- GF_INSTALL_PLUGINS=${GF_INSTALL_PLUGINS}
ports:
- 3000:3000
volumes:
- ./grafana-persistence:/opt/bitnami/grafana/data/
- ./docker/grafana/conf/custom.ini:/opt/bitnami/grafana/conf/custom.ini
The .env like this
GF_SECURITY_ADMIN_PASSWORD=bitnami
GF_INSTALL_PLUGINS=graphql-datasource=https://github.com/fifemon/graphql-datasource/archive/v1.1.0.zip
UID=1000
Makefile if you need it, closes some gaps..
SHELL := /bin/bash
include .env
export $(shell sed 's/=.*//' .env)
.PHONY: help
help: ## This help.
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
.DEFAULT_GOAL := help
prerequisites:
touch .env
mkdir -p docker/grafana/conf grafana-persistence
docker run -td --rm --name temp --entrypoint tail bitnami/grafana:6-debian-10@sha256:bda98953d622ff2c10ffd0bcbf3c71eb7eaf3222281c5ab2dc5e3b2d2cafcc3e -f /dev/null
docker cp temp:/opt/bitnami/grafana/conf/grafana.ini ./docker/grafana/conf/custom.ini
docker stop temp
target: prerequisites
build:
docker-compose build --no-cache
run:
docker-compose up -d --force-recreate
stop:
docker-compose down
backup:
rsync -a ./grafana-persistence ./grafana-persistence.bkp.$(date +%Y%m%d-%H.%M.%S)
Any help would be appreciated, happy to work on a fix myself and PR if i can get some guidance.
EDIT: same error with your API https://bahnql.herokuapp.com/graphql
Thanks for the detailed report. It seems to be an issue with a release build. Try using this dev build instead: https://github.com/fifemon/graphql-datasource/archive/v1.1.0-dev.zip I've reached out to Grafana devs for help. I have the dev build marked as the current release, and deleted the tag for the release build.
ok took a closer look, following instructions with https://grafana.com/tutorials/build-a-data-source-plugin/#3 - I was able to build a plugin that was able to run minified, so I am not sure if there is a config problem with this, or a bug in something doing the minified version ... doesn't look like anything obvious that I tried ...
(I tried changing the dependencies to match, removing the runtime dependency and other things, to no avail).
hey @retzkek yeah had a few goes, and couldn't not see anything in the config that would cause this. Am I right in assuming that you used https://grafana.com/tutorials/build-a-data-source-plugin/ to create the plugin scaffolding?
A simple plugin worked with build, but not the graphql one. Based on past experience, there are certain things that can trip up minification for the build dist, however in this case that seems to be done by "build": "grafana-toolkit plugin:build" in the script section, so I can't see anything else that would do it. So I think asking grafana devs for tips may help... (otherwise moving things bit by bit in a new plugin until it breaks... but not sure if that will work... will see).
I also saw this: https://grafana.com/docs/grafana/latest/developers/plugins/backend/ I wonder if they will steer data source plugin in that direction?
Thanks, so it's not just me :)
Am I right in assuming that you used https://grafana.com/tutorials/build-a-data-source-plugin/ to create the plugin scaffolding?
No, I started this before that tutorial existed. I actually started from https://github.com/grafana/simple-datasource, which was also in progress when I started. So yeah maybe starting a "new" plugin is the way to go.
I also saw this: https://grafana.com/docs/grafana/latest/developers/plugins/backend/ I wonder if they will steer data source plugin in that direction?
That's a good point, especially to be able to support alerting...
in any case, for now this works as it is.. but worthwhile revisiting at some point.
@retzkek just curious whether you got any feedback from the Grafana dev team on what might be causing this?
Given that yarn dev works just fine, and the rest should mostly just be minification, naively it would seem like there should be a fairly simple explanation (famous last words...)
No, I never got an answer, but I also never really got anyone to take a deep look. I've basically given up on this issue, and am just starting from scratch with a newly-generated backend plugin for v2.0.