mirror of
https://github.com/grafana/grafana.git
synced 2025-02-16 18:34:52 -06:00
grafana-plugin-model is legacy and is replaced by new backend plugins SDK and architecture. Renderer is not part of SDK and we want to keep it that way for now since it's highly unlikely there will be more than one kind of renderer plugin. So this PR adds support for renderer plugin v2. Also adds support sending a Device Scale Factor parameter to the plugin v2 remote rendering service and by that replaces #22474. Adds support sending a Headers parameter to the plugin v2 and remote rendering service which for now only include Accect-Language header (the user locale in browser when using Grafana), ref grafana/grafana-image-renderer#45. Fixes health check json details response. Adds image renderer plugin configuration settings in defaults.ini and sample.ini. Co-Authored-By: Arve Knudsen <arve.knudsen@gmail.com>
42 lines
1.1 KiB
Go
42 lines
1.1 KiB
Go
package rendering
|
|
|
|
import (
|
|
"context"
|
|
"errors"
|
|
"time"
|
|
|
|
"github.com/grafana/grafana/pkg/models"
|
|
)
|
|
|
|
var ErrTimeout = errors.New("Timeout error. You can set timeout in seconds with &timeout url parameter")
|
|
var ErrNoRenderer = errors.New("No renderer plugin found nor is an external render server configured")
|
|
var ErrPhantomJSNotInstalled = errors.New("PhantomJS executable not found")
|
|
|
|
type Opts struct {
|
|
Width int
|
|
Height int
|
|
Timeout time.Duration
|
|
OrgId int64
|
|
UserId int64
|
|
OrgRole models.RoleType
|
|
Path string
|
|
Encoding string
|
|
Timezone string
|
|
ConcurrentLimit int
|
|
DeviceScaleFactor float64
|
|
Headers map[string][]string
|
|
}
|
|
|
|
type RenderResult struct {
|
|
FilePath string
|
|
}
|
|
|
|
type renderFunc func(ctx context.Context, renderKey string, options Opts) (*RenderResult, error)
|
|
|
|
type Service interface {
|
|
IsAvailable() bool
|
|
Render(ctx context.Context, opts Opts) (*RenderResult, error)
|
|
RenderErrorImage(error error) (*RenderResult, error)
|
|
GetRenderUser(key string) (*RenderUser, bool)
|
|
}
|