RHEL 9.0.0 Alpha bootstrap
The content of this branch was automatically imported from Fedora ELN with the following as its source: https://src.fedoraproject.org/rpms/grafana#07f640b8f32493c9cd709a5ca63a491d5e919f64
This commit is contained in:
parent
c575dacba4
commit
d85849279e
4
.gitignore
vendored
4
.gitignore
vendored
@ -1,2 +1,4 @@
|
||||
/grafana-*.tar.gz
|
||||
/grafana_webpack-*.tar.gz
|
||||
/grafana-*.tar.gz.manifest
|
||||
/grafana-*/
|
||||
*.rpm
|
||||
|
@ -1,13 +0,0 @@
|
||||
diff --git a/pkg/api/login_oauth.go b/pkg/api/login_oauth.go
|
||||
index c8c9f05b33..1b5a67aec2 100644
|
||||
--- a/pkg/api/login_oauth.go
|
||||
+++ b/pkg/api/login_oauth.go
|
||||
@@ -134,7 +134,7 @@ func (hs *HTTPServer) OAuthLogin(ctx *m.ReqContext) {
|
||||
oauthCtx := context.WithValue(context.Background(), oauth2.HTTPClient, oauthClient)
|
||||
|
||||
// get token from provider
|
||||
- token, err := connect.Exchange(oauthCtx, code)
|
||||
+ token, err := connect.Exchange(oauthCtx, code, oauth2.AccessTypeOnline)
|
||||
if err != nil {
|
||||
ctx.Handle(500, "login.OAuthLogin(NewTransportWithCode)", err)
|
||||
return
|
47
001-wrappers-grafana-cli.patch
Normal file
47
001-wrappers-grafana-cli.patch
Normal file
@ -0,0 +1,47 @@
|
||||
diff --git a/packaging/wrappers/grafana-cli b/packaging/wrappers/grafana-cli
|
||||
index 9cad151c0d..a786edc596 100755
|
||||
--- a/packaging/wrappers/grafana-cli
|
||||
+++ b/packaging/wrappers/grafana-cli
|
||||
@@ -5,18 +5,19 @@
|
||||
# the system-wide Grafana configuration that was bundled with the package as we
|
||||
# use the binary.
|
||||
|
||||
-DEFAULT=/etc/default/grafana
|
||||
+DEFAULT=/etc/sysconfig/grafana-server
|
||||
|
||||
GRAFANA_HOME=/usr/share/grafana
|
||||
CONF_DIR=/etc/grafana
|
||||
DATA_DIR=/var/lib/grafana
|
||||
PLUGINS_DIR=/var/lib/grafana/plugins
|
||||
LOG_DIR=/var/log/grafana
|
||||
+LIBEXEC_DIR=/usr/libexec/grafana
|
||||
|
||||
CONF_FILE=$CONF_DIR/grafana.ini
|
||||
PROVISIONING_CFG_DIR=$CONF_DIR/provisioning
|
||||
|
||||
-EXECUTABLE=$GRAFANA_HOME/bin/grafana-cli
|
||||
+EXECUTABLE=$LIBEXEC_DIR/grafana-cli
|
||||
|
||||
if [ ! -x $EXECUTABLE ]; then
|
||||
echo "Program not installed or not executable"
|
||||
@@ -24,6 +25,7 @@ if [ ! -x $EXECUTABLE ]; then
|
||||
fi
|
||||
|
||||
# overwrite settings from default file
|
||||
+#shellcheck disable=SC1090
|
||||
if [ -f "$DEFAULT" ]; then
|
||||
. "$DEFAULT"
|
||||
fi
|
||||
@@ -36,4 +38,11 @@ OPTS="--homepath=${GRAFANA_HOME} \
|
||||
cfg:default.paths.logs=${LOG_DIR} \
|
||||
cfg:default.paths.plugins=${PLUGINS_DIR}'"
|
||||
|
||||
-eval $EXECUTABLE "$OPTS" "$@"
|
||||
+if [ "$(id -u)" -eq 0 ]; then
|
||||
+ exec runuser -u "${GRAFANA_USER}" -- "$EXECUTABLE" "$OPTS" "$@"
|
||||
+elif [ "$(id -u -n)" = "${GRAFANA_USER}" ]; then
|
||||
+ exec "$EXECUTABLE" "$OPTS" "$@"
|
||||
+else
|
||||
+ echo "Please run this script as user \"${GRAFANA_USER}\" or root."
|
||||
+ exit 5
|
||||
+fi
|
@ -1,10 +1,10 @@
|
||||
diff --git a/docs/man/man1/grafana-cli.1 b/docs/man/man1/grafana-cli.1
|
||||
new file mode 100644
|
||||
index 0000000000..171748fcda
|
||||
index 0000000000..7ac2af882c
|
||||
--- /dev/null
|
||||
+++ b/docs/man/man1/grafana-cli.1
|
||||
@@ -0,0 +1,51 @@
|
||||
+.TH GRAFANA "1" "February 2019" "Grafana cli version 5.4.3" "User Commands"
|
||||
@@ -0,0 +1,60 @@
|
||||
+.TH GRAFANA "1" "November 2020" "Grafana cli version 7.3.1" "User Commands"
|
||||
+.SH NAME
|
||||
+grafana-cli \- command line administration for the Grafana metrics dashboard and graph editor
|
||||
+.SH DESCRIPTION
|
||||
@ -41,6 +41,15 @@ index 0000000000..171748fcda
|
||||
+\fB\-\-debug\fR, \fB\-d\fR
|
||||
+enable debug logging
|
||||
+.TP
|
||||
+\fB\-\-configOverrides\fR value
|
||||
+Configuration options to override defaults as a string. e.g. cfg:default.paths.log=/dev/null
|
||||
+.TP
|
||||
+\fB\-\-homepath\fR value
|
||||
+Path to Grafana install/home path, defaults to working directory
|
||||
+.TP
|
||||
+\fB\-\-config\fR value
|
||||
+Path to config file
|
||||
+.TP
|
||||
+\fB\-\-help\fR, \fB\-h\fR
|
||||
+show help
|
||||
+.TP
|
||||
@ -57,11 +66,11 @@ index 0000000000..171748fcda
|
||||
+.BR http://docs.grafana.org/ .
|
||||
diff --git a/docs/man/man1/grafana-server.1 b/docs/man/man1/grafana-server.1
|
||||
new file mode 100644
|
||||
index 0000000000..30b7c1306f
|
||||
index 0000000000..c616268b31
|
||||
--- /dev/null
|
||||
+++ b/docs/man/man1/grafana-server.1
|
||||
@@ -0,0 +1,156 @@
|
||||
+.TH VERSION "1" "February 2019" "Version 5.4.3" "User Commands"
|
||||
@@ -0,0 +1,84 @@
|
||||
+.TH VERSION "1" "November 2020" "Version 7.3.1" "User Commands"
|
||||
+.SH NAME
|
||||
+grafana-server \- back-end server for the Grafana metrics dashboard and graph editor
|
||||
+.SH DESCRIPTION
|
||||
@ -90,14 +99,25 @@ index 0000000000..30b7c1306f
|
||||
+.BR /etc/grafana/grafana.ini
|
||||
+and is well documented with comments.
|
||||
+The command-line options listed below override options of
|
||||
+the same (or similar) name in the configuration file and also provide
|
||||
+additional options for testing Grafana.
|
||||
+the same (or similar) name in the configuration file.
|
||||
+.P
|
||||
+.HP
|
||||
+\fB\-config\fR string
|
||||
+.IP
|
||||
+path to config file
|
||||
+.HP
|
||||
+\fB\-convey-json\fR
|
||||
+.IP
|
||||
+When true, emits results in JSON blocks. Default: 'false'
|
||||
+.HP
|
||||
+\fB\-convey-silent\fR
|
||||
+.IP
|
||||
+When true, all output from GoConvey is suppressed.
|
||||
+.HP
|
||||
+\fB\-convey-story\fR
|
||||
+.IP
|
||||
+When true, emits story output, otherwise emits dot output. When not provided, this flag mirrors the value of the '-test.v' flag
|
||||
+.HP
|
||||
+\fB\-homepath\fR string
|
||||
+.IP
|
||||
+path to grafana install/home path, defaults to working directory
|
||||
@ -114,103 +134,20 @@ index 0000000000..30b7c1306f
|
||||
+.IP
|
||||
+Turn on pprof profiling
|
||||
+.HP
|
||||
+\fB\-profile\-port\fR int
|
||||
+\fB\-profile\-port\fR uint
|
||||
+.IP
|
||||
+Define custom port for profiling (default 6060)
|
||||
+.HP
|
||||
+\fB\-test\fR.bench regexp
|
||||
+\fB\-tracing\fR
|
||||
+.IP
|
||||
+run only benchmarks matching regexp
|
||||
+Turn on tracing
|
||||
+.HP
|
||||
+\fB\-test\fR.benchmem
|
||||
+\fB\-tracing\-file\fR string
|
||||
+.IP
|
||||
+print memory allocations for benchmarks
|
||||
+.HP
|
||||
+\fB\-test\fR.benchtime d
|
||||
+.IP
|
||||
+run each benchmark for duration d (default 1s)
|
||||
+.HP
|
||||
+\fB\-test\fR.blockprofile file
|
||||
+.IP
|
||||
+write a goroutine blocking profile to file
|
||||
+.HP
|
||||
+\fB\-test\fR.blockprofilerate rate
|
||||
+.IP
|
||||
+set blocking profile rate (see runtime.SetBlockProfileRate) (default 1)
|
||||
+.HP
|
||||
+\fB\-test\fR.count n
|
||||
+.IP
|
||||
+run tests and benchmarks n times (default 1)
|
||||
+.HP
|
||||
+\fB\-test\fR.coverprofile file
|
||||
+.IP
|
||||
+write a coverage profile to file
|
||||
+.HP
|
||||
+\fB\-test\fR.cpu list
|
||||
+.IP
|
||||
+comma\-separated list of cpu counts to run each test with
|
||||
+.HP
|
||||
+\fB\-test\fR.cpuprofile file
|
||||
+.IP
|
||||
+write a cpu profile to file
|
||||
+.HP
|
||||
+\fB\-test\fR.failfast
|
||||
+.IP
|
||||
+do not start new tests after the first test failure
|
||||
+.HP
|
||||
+\fB\-test\fR.list regexp
|
||||
+.IP
|
||||
+list tests, examples, and benchmarks matching regexp then exit
|
||||
+.HP
|
||||
+\fB\-test\fR.memprofile file
|
||||
+.IP
|
||||
+write a memory profile to file
|
||||
+.HP
|
||||
+\fB\-test\fR.memprofilerate rate
|
||||
+.IP
|
||||
+set memory profiling rate (see runtime.MemProfileRate)
|
||||
+.HP
|
||||
+\fB\-test\fR.mutexprofile string
|
||||
+.IP
|
||||
+write a mutex contention profile to the named file after execution
|
||||
+.HP
|
||||
+\fB\-test\fR.mutexprofilefraction int
|
||||
+.IP
|
||||
+if >= 0, calls runtime.SetMutexProfileFraction() (default 1)
|
||||
+.HP
|
||||
+\fB\-test\fR.outputdir dir
|
||||
+.IP
|
||||
+write profiles to dir
|
||||
+.HP
|
||||
+\fB\-test\fR.parallel n
|
||||
+.IP
|
||||
+run at most n tests in parallel (default 8)
|
||||
+.HP
|
||||
+\fB\-test\fR.run regexp
|
||||
+.IP
|
||||
+run only tests and examples matching regexp
|
||||
+.HP
|
||||
+\fB\-test\fR.short
|
||||
+.IP
|
||||
+run smaller test suite to save time
|
||||
+.HP
|
||||
+\fB\-test\fR.testlogfile file
|
||||
+.IP
|
||||
+write test action log to file (for use only by cmd/go)
|
||||
+.HP
|
||||
+\fB\-test\fR.timeout d
|
||||
+.IP
|
||||
+panic test binary after duration d (default 0, timeout disabled)
|
||||
+.HP
|
||||
+\fB\-test\fR.trace file
|
||||
+.IP
|
||||
+write an execution trace to file
|
||||
+.HP
|
||||
+\fB\-test\fR.v
|
||||
+.IP
|
||||
+verbose: print additional output
|
||||
+Define tracing output file (default "trace.out")
|
||||
+.TP
|
||||
+\fB\-v\fR
|
||||
+.IP
|
||||
+prints current version and exits
|
||||
+.SH "SEE ALSO"
|
||||
+The full documentation for
|
@ -1,279 +0,0 @@
|
||||
diff --git a/pkg/cmd/grafana-server/server.go b/pkg/cmd/grafana-server/server.go
|
||||
index 0dace4ebab..f1a4bfde53 100644
|
||||
--- a/pkg/cmd/grafana-server/server.go
|
||||
+++ b/pkg/cmd/grafana-server/server.go
|
||||
@@ -23,7 +23,6 @@ import (
|
||||
_ "github.com/grafana/grafana/pkg/infra/metrics"
|
||||
_ "github.com/grafana/grafana/pkg/infra/remotecache"
|
||||
_ "github.com/grafana/grafana/pkg/infra/serverlock"
|
||||
- _ "github.com/grafana/grafana/pkg/infra/tracing"
|
||||
_ "github.com/grafana/grafana/pkg/infra/usagestats"
|
||||
"github.com/grafana/grafana/pkg/login"
|
||||
"github.com/grafana/grafana/pkg/login/social"
|
||||
diff --git a/pkg/infra/tracing/tracing.go b/pkg/infra/tracing/tracing.go
|
||||
deleted file mode 100644
|
||||
index 923459786b..0000000000
|
||||
--- a/pkg/infra/tracing/tracing.go
|
||||
+++ /dev/null
|
||||
@@ -1,161 +0,0 @@
|
||||
-package tracing
|
||||
-
|
||||
-import (
|
||||
- "context"
|
||||
- "fmt"
|
||||
- "io"
|
||||
- "strings"
|
||||
-
|
||||
- "github.com/grafana/grafana/pkg/infra/log"
|
||||
- "github.com/grafana/grafana/pkg/registry"
|
||||
- "github.com/grafana/grafana/pkg/setting"
|
||||
-
|
||||
- opentracing "github.com/opentracing/opentracing-go"
|
||||
- jaegercfg "github.com/uber/jaeger-client-go/config"
|
||||
- "github.com/uber/jaeger-client-go/zipkin"
|
||||
-)
|
||||
-
|
||||
-func init() {
|
||||
- registry.RegisterService(&TracingService{})
|
||||
-}
|
||||
-
|
||||
-type TracingService struct {
|
||||
- enabled bool
|
||||
- address string
|
||||
- customTags map[string]string
|
||||
- samplerType string
|
||||
- samplerParam float64
|
||||
- log log.Logger
|
||||
- closer io.Closer
|
||||
- zipkinPropagation bool
|
||||
- disableSharedZipkinSpans bool
|
||||
-
|
||||
- Cfg *setting.Cfg `inject:""`
|
||||
-}
|
||||
-
|
||||
-func (ts *TracingService) Init() error {
|
||||
- ts.log = log.New("tracing")
|
||||
- ts.parseSettings()
|
||||
-
|
||||
- if ts.enabled {
|
||||
- return ts.initGlobalTracer()
|
||||
- }
|
||||
-
|
||||
- return nil
|
||||
-}
|
||||
-
|
||||
-func (ts *TracingService) parseSettings() {
|
||||
- var section, err = ts.Cfg.Raw.GetSection("tracing.jaeger")
|
||||
- if err != nil {
|
||||
- return
|
||||
- }
|
||||
-
|
||||
- ts.address = section.Key("address").MustString("")
|
||||
- if ts.address != "" {
|
||||
- ts.enabled = true
|
||||
- }
|
||||
-
|
||||
- ts.customTags = splitTagSettings(section.Key("always_included_tag").MustString(""))
|
||||
- ts.samplerType = section.Key("sampler_type").MustString("")
|
||||
- ts.samplerParam = section.Key("sampler_param").MustFloat64(1)
|
||||
- ts.zipkinPropagation = section.Key("zipkin_propagation").MustBool(false)
|
||||
- ts.disableSharedZipkinSpans = section.Key("disable_shared_zipkin_spans").MustBool(false)
|
||||
-}
|
||||
-
|
||||
-func (ts *TracingService) initJaegerCfg() (jaegercfg.Configuration, error) {
|
||||
- cfg := jaegercfg.Configuration{
|
||||
- ServiceName: "grafana",
|
||||
- Disabled: !ts.enabled,
|
||||
- Sampler: &jaegercfg.SamplerConfig{
|
||||
- Type: ts.samplerType,
|
||||
- Param: ts.samplerParam,
|
||||
- },
|
||||
- Reporter: &jaegercfg.ReporterConfig{
|
||||
- LogSpans: false,
|
||||
- LocalAgentHostPort: ts.address,
|
||||
- },
|
||||
- }
|
||||
-
|
||||
- _, err := cfg.FromEnv()
|
||||
- if err != nil {
|
||||
- return cfg, err
|
||||
- }
|
||||
- return cfg, nil
|
||||
-}
|
||||
-
|
||||
-func (ts *TracingService) initGlobalTracer() error {
|
||||
- cfg, err := ts.initJaegerCfg()
|
||||
- if err != nil {
|
||||
- return err
|
||||
- }
|
||||
-
|
||||
- jLogger := &jaegerLogWrapper{logger: log.New("jaeger")}
|
||||
-
|
||||
- options := []jaegercfg.Option{}
|
||||
- options = append(options, jaegercfg.Logger(jLogger))
|
||||
-
|
||||
- for tag, value := range ts.customTags {
|
||||
- options = append(options, jaegercfg.Tag(tag, value))
|
||||
- }
|
||||
-
|
||||
- if ts.zipkinPropagation {
|
||||
- zipkinPropagator := zipkin.NewZipkinB3HTTPHeaderPropagator()
|
||||
- options = append(options,
|
||||
- jaegercfg.Injector(opentracing.HTTPHeaders, zipkinPropagator),
|
||||
- jaegercfg.Extractor(opentracing.HTTPHeaders, zipkinPropagator),
|
||||
- )
|
||||
-
|
||||
- if !ts.disableSharedZipkinSpans {
|
||||
- options = append(options, jaegercfg.ZipkinSharedRPCSpan(true))
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- tracer, closer, err := cfg.NewTracer(options...)
|
||||
- if err != nil {
|
||||
- return err
|
||||
- }
|
||||
-
|
||||
- opentracing.SetGlobalTracer(tracer)
|
||||
-
|
||||
- ts.closer = closer
|
||||
-
|
||||
- return nil
|
||||
-}
|
||||
-
|
||||
-func (ts *TracingService) Run(ctx context.Context) error {
|
||||
- <-ctx.Done()
|
||||
-
|
||||
- if ts.closer != nil {
|
||||
- ts.log.Info("Closing tracing")
|
||||
- ts.closer.Close()
|
||||
- }
|
||||
-
|
||||
- return nil
|
||||
-}
|
||||
-
|
||||
-func splitTagSettings(input string) map[string]string {
|
||||
- res := map[string]string{}
|
||||
-
|
||||
- tags := strings.Split(input, ",")
|
||||
- for _, v := range tags {
|
||||
- kv := strings.Split(v, ":")
|
||||
- if len(kv) > 1 {
|
||||
- res[kv[0]] = kv[1]
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- return res
|
||||
-}
|
||||
-
|
||||
-type jaegerLogWrapper struct {
|
||||
- logger log.Logger
|
||||
-}
|
||||
-
|
||||
-func (jlw *jaegerLogWrapper) Error(msg string) {
|
||||
- jlw.logger.Error(msg)
|
||||
-}
|
||||
-
|
||||
-func (jlw *jaegerLogWrapper) Infof(format string, args ...interface{}) {
|
||||
- msg := fmt.Sprintf(format, args...)
|
||||
- jlw.logger.Info(msg)
|
||||
-}
|
||||
diff --git a/pkg/infra/tracing/tracing_test.go b/pkg/infra/tracing/tracing_test.go
|
||||
deleted file mode 100644
|
||||
index a6d71cf165..0000000000
|
||||
--- a/pkg/infra/tracing/tracing_test.go
|
||||
+++ /dev/null
|
||||
@@ -1,94 +0,0 @@
|
||||
-package tracing
|
||||
-
|
||||
-import (
|
||||
- "github.com/stretchr/testify/assert"
|
||||
- "github.com/stretchr/testify/require"
|
||||
- "os"
|
||||
- "testing"
|
||||
-)
|
||||
-
|
||||
-func TestGroupSplit(t *testing.T) {
|
||||
- tests := []struct {
|
||||
- input string
|
||||
- expected map[string]string
|
||||
- }{
|
||||
- {
|
||||
- input: "tag1:value1,tag2:value2",
|
||||
- expected: map[string]string{
|
||||
- "tag1": "value1",
|
||||
- "tag2": "value2",
|
||||
- },
|
||||
- },
|
||||
- {
|
||||
- input: "",
|
||||
- expected: map[string]string{},
|
||||
- },
|
||||
- {
|
||||
- input: "tag1",
|
||||
- expected: map[string]string{},
|
||||
- },
|
||||
- }
|
||||
-
|
||||
- for _, test := range tests {
|
||||
- tags := splitTagSettings(test.input)
|
||||
- for k, v := range test.expected {
|
||||
- value, exists := tags[k]
|
||||
- assert.Truef(t, exists, "Tag %q not found for input %q", k, test.input)
|
||||
- assert.Equalf(t, v, value, "Tag %q has wrong value for input %q", k, test.input)
|
||||
- }
|
||||
- }
|
||||
-}
|
||||
-
|
||||
-func TestInitJaegerCfg_Default(t *testing.T) {
|
||||
- ts := &TracingService{}
|
||||
- cfg, err := ts.initJaegerCfg()
|
||||
- require.NoError(t, err)
|
||||
-
|
||||
- assert.True(t, cfg.Disabled)
|
||||
-}
|
||||
-
|
||||
-func TestInitJaegerCfg_Enabled(t *testing.T) {
|
||||
- ts := &TracingService{enabled: true}
|
||||
- cfg, err := ts.initJaegerCfg()
|
||||
- require.NoError(t, err)
|
||||
-
|
||||
- assert.False(t, cfg.Disabled)
|
||||
- assert.Equal(t, "localhost:6831", cfg.Reporter.LocalAgentHostPort)
|
||||
-}
|
||||
-
|
||||
-func TestInitJaegerCfg_DisabledViaEnv(t *testing.T) {
|
||||
- os.Setenv("JAEGER_DISABLED", "true")
|
||||
- defer func() {
|
||||
- os.Unsetenv("JAEGER_DISABLED")
|
||||
- }()
|
||||
-
|
||||
- ts := &TracingService{enabled: true}
|
||||
- cfg, err := ts.initJaegerCfg()
|
||||
- require.NoError(t, err)
|
||||
-
|
||||
- assert.True(t, cfg.Disabled)
|
||||
-}
|
||||
-
|
||||
-func TestInitJaegerCfg_EnabledViaEnv(t *testing.T) {
|
||||
- os.Setenv("JAEGER_DISABLED", "false")
|
||||
- defer func() {
|
||||
- os.Unsetenv("JAEGER_DISABLED")
|
||||
- }()
|
||||
-
|
||||
- ts := &TracingService{enabled: false}
|
||||
- cfg, err := ts.initJaegerCfg()
|
||||
- require.NoError(t, err)
|
||||
-
|
||||
- assert.False(t, cfg.Disabled)
|
||||
-}
|
||||
-
|
||||
-func TestInitJaegerCfg_InvalidEnvVar(t *testing.T) {
|
||||
- os.Setenv("JAEGER_DISABLED", "totallybogus")
|
||||
- defer func() {
|
||||
- os.Unsetenv("JAEGER_DISABLED")
|
||||
- }()
|
||||
-
|
||||
- ts := &TracingService{}
|
||||
- _, err := ts.initJaegerCfg()
|
||||
- require.EqualError(t, err, "cannot parse env var JAEGER_DISABLED=totallybogus: strconv.ParseBool: parsing \"totallybogus\": invalid syntax")
|
||||
-}
|
41
003-remove-dashboard-abspath-test.patch
Normal file
41
003-remove-dashboard-abspath-test.patch
Normal file
@ -0,0 +1,41 @@
|
||||
diff --git a/pkg/services/provisioning/dashboards/file_reader_linux_test.go b/pkg/services/provisioning/dashboards/file_reader_linux_test.go
|
||||
index 3584bbc242..3d37f5e104 100644
|
||||
--- a/pkg/services/provisioning/dashboards/file_reader_linux_test.go
|
||||
+++ b/pkg/services/provisioning/dashboards/file_reader_linux_test.go
|
||||
@@ -33,6 +33,11 @@ func TestProvisionedSymlinkedFolder(t *testing.T) {
|
||||
t.Errorf("expected err to be nil")
|
||||
}
|
||||
|
||||
+ want, err = filepath.EvalSymlinks(want)
|
||||
+ if err != nil {
|
||||
+ t.Errorf("expected err to be nil %v", err)
|
||||
+ }
|
||||
+
|
||||
resolvedPath := reader.resolvedPath()
|
||||
if resolvedPath != want {
|
||||
t.Errorf("got %s want %s", resolvedPath, want)
|
||||
diff --git a/pkg/services/provisioning/dashboards/file_reader_test.go b/pkg/services/provisioning/dashboards/file_reader_test.go
|
||||
index 33fe6a0a68..2c67ebb677 100644
|
||||
--- a/pkg/services/provisioning/dashboards/file_reader_test.go
|
||||
+++ b/pkg/services/provisioning/dashboards/file_reader_test.go
|
||||
@@ -340,20 +340,6 @@ func TestDashboardFileReader(t *testing.T) {
|
||||
So(err, ShouldBeNil)
|
||||
|
||||
So(len(fakeService.provisioned["Default"]), ShouldEqual, 1)
|
||||
- So(fakeService.provisioned["Default"][0].ExternalId, ShouldEqual, absPath1)
|
||||
- })
|
||||
-
|
||||
- Convey("Missing dashboard should be deleted if DisableDeletion = false", func() {
|
||||
- reader, err := NewDashboardFileReader(cfg, logger)
|
||||
- So(err, ShouldBeNil)
|
||||
-
|
||||
- err = reader.startWalkingDisk()
|
||||
- So(err, ShouldBeNil)
|
||||
-
|
||||
- So(len(fakeService.provisioned["Default"]), ShouldEqual, 1)
|
||||
- So(fakeService.provisioned["Default"][0].ExternalId, ShouldEqual, absPath1)
|
||||
- So(len(fakeService.inserted), ShouldEqual, 1)
|
||||
- So(fakeService.inserted[0].Dashboard.Id, ShouldEqual, 1)
|
||||
})
|
||||
})
|
||||
|
59
004-skip-x86-goldenfiles-tests.patch
Normal file
59
004-skip-x86-goldenfiles-tests.patch
Normal file
@ -0,0 +1,59 @@
|
||||
diff --git a/packages/grafana-data/src/dataframe/ArrowDataFrame.test.ts b/packages/grafana-data/src/dataframe/ArrowDataFrame.test.ts
|
||||
index 96efaccfce..bcdd98144f 100644
|
||||
--- a/packages/grafana-data/src/dataframe/ArrowDataFrame.test.ts
|
||||
+++ b/packages/grafana-data/src/dataframe/ArrowDataFrame.test.ts
|
||||
@@ -52,7 +52,7 @@ describe('Read/Write arrow Table to DataFrame', () => {
|
||||
expect(after).toEqual(before);
|
||||
});
|
||||
|
||||
- test('should read all types', () => {
|
||||
+ test.skip('should read all types', () => {
|
||||
const fullpath = path.resolve(__dirname, './__snapshots__/all_types.golden.arrow');
|
||||
const arrow = fs.readFileSync(fullpath);
|
||||
const table = Table.from([arrow]);
|
||||
diff --git a/packages/grafana-runtime/src/utils/queryResponse.test.ts b/packages/grafana-runtime/src/utils/queryResponse.test.ts
|
||||
index 25169669a0..05474366a2 100644
|
||||
--- a/packages/grafana-runtime/src/utils/queryResponse.test.ts
|
||||
+++ b/packages/grafana-runtime/src/utils/queryResponse.test.ts
|
||||
@@ -38,7 +38,7 @@ const emptyResults = {
|
||||
/* eslint-enable */
|
||||
|
||||
describe('GEL Utils', () => {
|
||||
- test('should parse output with dataframe', () => {
|
||||
+ test.skip('should parse output with dataframe', () => {
|
||||
const res = toDataQueryResponse(resp);
|
||||
const frames = res.data;
|
||||
for (const frame of frames) {
|
||||
@@ -106,7 +106,7 @@ describe('GEL Utils', () => {
|
||||
expect(frames.length).toEqual(0);
|
||||
});
|
||||
|
||||
- test('resultWithError', () => {
|
||||
+ test.skip('resultWithError', () => {
|
||||
// Generated from:
|
||||
// qdr.Responses[q.GetRefID()] = backend.DataResponse{
|
||||
// Error: fmt.Errorf("an Error: %w", fmt.Errorf("another error")),
|
||||
diff --git a/pkg/tsdb/influxdb/flux/executor_test.go b/pkg/tsdb/influxdb/flux/executor_test.go
|
||||
index e053c6c397..fc7685cbab 100644
|
||||
--- a/pkg/tsdb/influxdb/flux/executor_test.go
|
||||
+++ b/pkg/tsdb/influxdb/flux/executor_test.go
|
||||
@@ -59,6 +59,7 @@ func (r *MockRunner) runQuery(ctx context.Context, q string) (*api.QueryTableRes
|
||||
}
|
||||
|
||||
func verifyGoldenResponse(t *testing.T, name string) *backend.DataResponse {
|
||||
+ t.Skip("x86 memory dump is not compatible with other architectures")
|
||||
runner := &MockRunner{
|
||||
testDataPath: name + ".csv",
|
||||
}
|
||||
diff --git a/public/app/plugins/datasource/cloudwatch/specs/datasource.test.ts b/public/app/plugins/datasource/cloudwatch/specs/datasource.test.ts
|
||||
index 94c1991dae..8e5b35eb3b 100644
|
||||
--- a/public/app/plugins/datasource/cloudwatch/specs/datasource.test.ts
|
||||
+++ b/public/app/plugins/datasource/cloudwatch/specs/datasource.test.ts
|
||||
@@ -88,6 +88,7 @@ describe('CloudWatchDatasource', () => {
|
||||
});
|
||||
|
||||
it('should return log groups as an array of strings', async () => {
|
||||
+ return; // "it.skip" of this test leads to a test failure of the other log group test, because the mock is not active (see beforeEach() above)
|
||||
const logGroups = await ctx.ds.describeLogGroups();
|
||||
const expectedLogGroups = [
|
||||
'/aws/containerinsights/dev303-workshop/application',
|
@ -1,26 +0,0 @@
|
||||
diff --git a/packaging/wrappers/grafana-cli b/packaging/wrappers/grafana-cli
|
||||
index 9cad151c0d..6b7ec1ab42 100755
|
||||
--- a/packaging/wrappers/grafana-cli
|
||||
+++ b/packaging/wrappers/grafana-cli
|
||||
@@ -12,11 +12,12 @@ CONF_DIR=/etc/grafana
|
||||
DATA_DIR=/var/lib/grafana
|
||||
PLUGINS_DIR=/var/lib/grafana/plugins
|
||||
LOG_DIR=/var/log/grafana
|
||||
+LIBEXEC_DIR=/usr/libexec/grafana
|
||||
|
||||
CONF_FILE=$CONF_DIR/grafana.ini
|
||||
PROVISIONING_CFG_DIR=$CONF_DIR/provisioning
|
||||
|
||||
-EXECUTABLE=$GRAFANA_HOME/bin/grafana-cli
|
||||
+EXECUTABLE=$LIBEXEC_DIR/grafana-cli
|
||||
|
||||
if [ ! -x $EXECUTABLE ]; then
|
||||
echo "Program not installed or not executable"
|
||||
@@ -24,6 +25,7 @@ if [ ! -x $EXECUTABLE ]; then
|
||||
fi
|
||||
|
||||
# overwrite settings from default file
|
||||
+#shellcheck disable=SC1090
|
||||
if [ -f "$DEFAULT" ]; then
|
||||
. "$DEFAULT"
|
||||
fi
|
@ -1,17 +0,0 @@
|
||||
diff --git a/pkg/extensions/main.go b/pkg/extensions/main.go
|
||||
index a88f67ff9e..7844aa1227 100644
|
||||
--- a/pkg/extensions/main.go
|
||||
+++ b/pkg/extensions/main.go
|
||||
@@ -9,10 +9,10 @@ import (
|
||||
"github.com/grafana/grafana/pkg/registry"
|
||||
"github.com/grafana/grafana/pkg/services/licensing"
|
||||
_ "github.com/jung-kurt/gofpdf"
|
||||
- _ "github.com/linkedin/goavro/v2"
|
||||
+ _ "github.com/linkedin/goavro"
|
||||
_ "github.com/pkg/errors"
|
||||
_ "github.com/robfig/cron"
|
||||
- _ "github.com/robfig/cron/v3"
|
||||
+ _ "gopkg.in/robfig/cron.v3"
|
||||
_ "github.com/stretchr/testify/require"
|
||||
_ "gopkg.in/square/go-jose.v2"
|
||||
)
|
@ -1,13 +0,0 @@
|
||||
diff --git a/pkg/setting/setting.go b/pkg/setting/setting.go
|
||||
index 19181be84e..9a745f67e4 100644
|
||||
--- a/pkg/setting/setting.go
|
||||
+++ b/pkg/setting/setting.go
|
||||
@@ -387,7 +387,7 @@ func applyCommandLineDefaultProperties(props map[string]string, file *ini.File)
|
||||
func applyCommandLineProperties(props map[string]string, file *ini.File) {
|
||||
for _, section := range file.Sections() {
|
||||
sectionName := section.Name() + "."
|
||||
- if section.Name() == ini.DefaultSection {
|
||||
+ if section.Name() == ini.DEFAULT_SECTION {
|
||||
sectionName = ""
|
||||
}
|
||||
for _, key := range section.Keys() {
|
@ -1,18 +0,0 @@
|
||||
diff --git a/pkg/tsdb/prometheus/prometheus.go b/pkg/tsdb/prometheus/prometheus.go
|
||||
index 1244031bb4..c1d85b7e53 100644
|
||||
--- a/pkg/tsdb/prometheus/prometheus.go
|
||||
+++ b/pkg/tsdb/prometheus/prometheus.go
|
||||
@@ -112,10 +112,10 @@ func (e *PrometheusExecutor) Query(ctx context.Context, dsInfo *models.DataSourc
|
||||
span.SetTag("stop_unixnano", query.End.UnixNano())
|
||||
defer span.Finish()
|
||||
|
||||
- value, _, err := client.QueryRange(ctx, query.Expr, timeRange)
|
||||
+ value, queryErr := client.QueryRange(ctx, query.Expr, timeRange)
|
||||
|
||||
- if err != nil {
|
||||
- return nil, err
|
||||
+ if queryErr != nil {
|
||||
+ return nil, queryErr
|
||||
}
|
||||
|
||||
queryResult, err := parseResponse(value, query)
|
@ -1,13 +0,0 @@
|
||||
diff --git a/pkg/services/notifications/codes.go b/pkg/services/notifications/codes.go
|
||||
index ae66aa1d1b..bfb95560fe 100644
|
||||
--- a/pkg/services/notifications/codes.go
|
||||
+++ b/pkg/services/notifications/codes.go
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
- "github.com/unknwon/com"
|
||||
+ "github.com/Unknwon/com"
|
||||
|
||||
"github.com/grafana/grafana/pkg/models"
|
||||
"github.com/grafana/grafana/pkg/setting"
|
@ -1,288 +0,0 @@
|
||||
diff --git a/pkg/services/sqlstore/datasource.go b/pkg/services/sqlstore/datasource.go
|
||||
index c84f6bb948..414e343a63 100644
|
||||
--- a/pkg/services/sqlstore/datasource.go
|
||||
+++ b/pkg/services/sqlstore/datasource.go
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"github.com/grafana/grafana/pkg/components/simplejson"
|
||||
"github.com/grafana/grafana/pkg/models"
|
||||
|
||||
- "github.com/go-xorm/xorm"
|
||||
+ "xorm.io/xorm"
|
||||
|
||||
"github.com/grafana/grafana/pkg/bus"
|
||||
"github.com/grafana/grafana/pkg/components/securejsondata"
|
||||
diff --git a/pkg/services/sqlstore/logger.go b/pkg/services/sqlstore/logger.go
|
||||
index 498c2b58c1..850e10cd21 100644
|
||||
--- a/pkg/services/sqlstore/logger.go
|
||||
+++ b/pkg/services/sqlstore/logger.go
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
|
||||
glog "github.com/grafana/grafana/pkg/infra/log"
|
||||
|
||||
- "github.com/go-xorm/core"
|
||||
+ "xorm.io/core"
|
||||
)
|
||||
|
||||
type XormLogger struct {
|
||||
diff --git a/pkg/services/sqlstore/migrations/annotation_mig.go b/pkg/services/sqlstore/migrations/annotation_mig.go
|
||||
index 3ec5df841e..505ab5cf6e 100644
|
||||
--- a/pkg/services/sqlstore/migrations/annotation_mig.go
|
||||
+++ b/pkg/services/sqlstore/migrations/annotation_mig.go
|
||||
@@ -1,7 +1,7 @@
|
||||
package migrations
|
||||
|
||||
import (
|
||||
- "github.com/go-xorm/xorm"
|
||||
+ "xorm.io/xorm"
|
||||
. "github.com/grafana/grafana/pkg/services/sqlstore/migrator"
|
||||
)
|
||||
|
||||
diff --git a/pkg/services/sqlstore/migrations/migrations_test.go b/pkg/services/sqlstore/migrations/migrations_test.go
|
||||
index 62ecbaad11..a9a3b38e62 100644
|
||||
--- a/pkg/services/sqlstore/migrations/migrations_test.go
|
||||
+++ b/pkg/services/sqlstore/migrations/migrations_test.go
|
||||
@@ -3,7 +3,7 @@ package migrations
|
||||
import (
|
||||
"testing"
|
||||
|
||||
- "github.com/go-xorm/xorm"
|
||||
+ "xorm.io/xorm"
|
||||
. "github.com/grafana/grafana/pkg/services/sqlstore/migrator"
|
||||
"github.com/grafana/grafana/pkg/services/sqlstore/sqlutil"
|
||||
|
||||
diff --git a/pkg/services/sqlstore/migrations/user_mig.go b/pkg/services/sqlstore/migrations/user_mig.go
|
||||
index 53110fe49b..e1a54a57bf 100644
|
||||
--- a/pkg/services/sqlstore/migrations/user_mig.go
|
||||
+++ b/pkg/services/sqlstore/migrations/user_mig.go
|
||||
@@ -3,7 +3,7 @@ package migrations
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
- "github.com/go-xorm/xorm"
|
||||
+ "xorm.io/xorm"
|
||||
. "github.com/grafana/grafana/pkg/services/sqlstore/migrator"
|
||||
"github.com/grafana/grafana/pkg/util"
|
||||
)
|
||||
diff --git a/pkg/services/sqlstore/migrator/column.go b/pkg/services/sqlstore/migrator/column.go
|
||||
index 28cef60a94..af093a8e59 100644
|
||||
--- a/pkg/services/sqlstore/migrator/column.go
|
||||
+++ b/pkg/services/sqlstore/migrator/column.go
|
||||
@@ -1,7 +1,7 @@
|
||||
package migrator
|
||||
|
||||
// Notice
|
||||
-// code based on parts from from https://github.com/go-xorm/core/blob/3e0fa232ab5c90996406c0cd7ae86ad0e5ecf85f/column.go
|
||||
+// code based on parts from from https://xorm.io/core/blob/3e0fa232ab5c90996406c0cd7ae86ad0e5ecf85f/column.go
|
||||
|
||||
type Column struct {
|
||||
Name string
|
||||
diff --git a/pkg/services/sqlstore/migrator/dialect.go b/pkg/services/sqlstore/migrator/dialect.go
|
||||
index 0aa2be7301..5246f17971 100644
|
||||
--- a/pkg/services/sqlstore/migrator/dialect.go
|
||||
+++ b/pkg/services/sqlstore/migrator/dialect.go
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
- "github.com/go-xorm/xorm"
|
||||
+ "xorm.io/xorm"
|
||||
)
|
||||
|
||||
type Dialect interface {
|
||||
diff --git a/pkg/services/sqlstore/migrator/migrator.go b/pkg/services/sqlstore/migrator/migrator.go
|
||||
index 612a333a72..f314b6ea84 100644
|
||||
--- a/pkg/services/sqlstore/migrator/migrator.go
|
||||
+++ b/pkg/services/sqlstore/migrator/migrator.go
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"time"
|
||||
|
||||
_ "github.com/go-sql-driver/mysql"
|
||||
- "github.com/go-xorm/xorm"
|
||||
+ "xorm.io/xorm"
|
||||
"github.com/grafana/grafana/pkg/infra/log"
|
||||
"github.com/grafana/grafana/pkg/util/errutil"
|
||||
_ "github.com/lib/pq"
|
||||
diff --git a/pkg/services/sqlstore/migrator/mysql_dialect.go b/pkg/services/sqlstore/migrator/mysql_dialect.go
|
||||
index 147df03357..a658819ea2 100644
|
||||
--- a/pkg/services/sqlstore/migrator/mysql_dialect.go
|
||||
+++ b/pkg/services/sqlstore/migrator/mysql_dialect.go
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
|
||||
"github.com/VividCortex/mysqlerr"
|
||||
"github.com/go-sql-driver/mysql"
|
||||
- "github.com/go-xorm/xorm"
|
||||
+ "xorm.io/xorm"
|
||||
)
|
||||
|
||||
type Mysql struct {
|
||||
diff --git a/pkg/services/sqlstore/migrator/postgres_dialect.go b/pkg/services/sqlstore/migrator/postgres_dialect.go
|
||||
index 70803f3a9e..5ae7c57ea5 100644
|
||||
--- a/pkg/services/sqlstore/migrator/postgres_dialect.go
|
||||
+++ b/pkg/services/sqlstore/migrator/postgres_dialect.go
|
||||
@@ -5,7 +5,7 @@ import (
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
- "github.com/go-xorm/xorm"
|
||||
+ "xorm.io/xorm"
|
||||
"github.com/grafana/grafana/pkg/util/errutil"
|
||||
"github.com/lib/pq"
|
||||
)
|
||||
diff --git a/pkg/services/sqlstore/migrator/sqlite_dialect.go b/pkg/services/sqlstore/migrator/sqlite_dialect.go
|
||||
index 8372898c35..a306badd82 100644
|
||||
--- a/pkg/services/sqlstore/migrator/sqlite_dialect.go
|
||||
+++ b/pkg/services/sqlstore/migrator/sqlite_dialect.go
|
||||
@@ -3,7 +3,7 @@ package migrator
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
- "github.com/go-xorm/xorm"
|
||||
+ "xorm.io/xorm"
|
||||
"github.com/mattn/go-sqlite3"
|
||||
)
|
||||
|
||||
diff --git a/pkg/services/sqlstore/migrator/types.go b/pkg/services/sqlstore/migrator/types.go
|
||||
index 48354998d8..957bef392d 100644
|
||||
--- a/pkg/services/sqlstore/migrator/types.go
|
||||
+++ b/pkg/services/sqlstore/migrator/types.go
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
- "github.com/go-xorm/xorm"
|
||||
+ "xorm.io/xorm"
|
||||
)
|
||||
|
||||
const (
|
||||
diff --git a/pkg/services/sqlstore/session.go b/pkg/services/sqlstore/session.go
|
||||
index 07f1d4524c..e44105c79c 100644
|
||||
--- a/pkg/services/sqlstore/session.go
|
||||
+++ b/pkg/services/sqlstore/session.go
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"context"
|
||||
"reflect"
|
||||
|
||||
- "github.com/go-xorm/xorm"
|
||||
+ "xorm.io/xorm"
|
||||
)
|
||||
|
||||
type DBSession struct {
|
||||
diff --git a/pkg/services/sqlstore/sqlstore.go b/pkg/services/sqlstore/sqlstore.go
|
||||
index bede60f1ff..7076b76dd6 100644
|
||||
--- a/pkg/services/sqlstore/sqlstore.go
|
||||
+++ b/pkg/services/sqlstore/sqlstore.go
|
||||
@@ -11,7 +11,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/go-sql-driver/mysql"
|
||||
- "github.com/go-xorm/xorm"
|
||||
+ "xorm.io/xorm"
|
||||
"github.com/grafana/grafana/pkg/bus"
|
||||
"github.com/grafana/grafana/pkg/infra/localcache"
|
||||
"github.com/grafana/grafana/pkg/infra/log"
|
||||
diff --git a/pkg/services/sqlstore/transactions.go b/pkg/services/sqlstore/transactions.go
|
||||
index 27928f52a4..6d9888af39 100644
|
||||
--- a/pkg/services/sqlstore/transactions.go
|
||||
+++ b/pkg/services/sqlstore/transactions.go
|
||||
@@ -4,7 +4,7 @@ import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
- "github.com/go-xorm/xorm"
|
||||
+ "xorm.io/xorm"
|
||||
"github.com/grafana/grafana/pkg/bus"
|
||||
"github.com/grafana/grafana/pkg/infra/log"
|
||||
"github.com/grafana/grafana/pkg/util/errutil"
|
||||
diff --git a/pkg/tsdb/mssql/mssql.go b/pkg/tsdb/mssql/mssql.go
|
||||
index 1ca3778b9d..debe106fa7 100644
|
||||
--- a/pkg/tsdb/mssql/mssql.go
|
||||
+++ b/pkg/tsdb/mssql/mssql.go
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
"github.com/grafana/grafana/pkg/setting"
|
||||
|
||||
_ "github.com/denisenkom/go-mssqldb"
|
||||
- "github.com/go-xorm/core"
|
||||
+ "xorm.io/core"
|
||||
"github.com/grafana/grafana/pkg/infra/log"
|
||||
"github.com/grafana/grafana/pkg/models"
|
||||
"github.com/grafana/grafana/pkg/tsdb"
|
||||
diff --git a/pkg/tsdb/mssql/mssql_test.go b/pkg/tsdb/mssql/mssql_test.go
|
||||
index 760c6dcf07..84e5e0e219 100644
|
||||
--- a/pkg/tsdb/mssql/mssql_test.go
|
||||
+++ b/pkg/tsdb/mssql/mssql_test.go
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
- "github.com/go-xorm/xorm"
|
||||
+ "xorm.io/xorm"
|
||||
"github.com/grafana/grafana/pkg/components/securejsondata"
|
||||
"github.com/grafana/grafana/pkg/components/simplejson"
|
||||
"github.com/grafana/grafana/pkg/models"
|
||||
diff --git a/pkg/tsdb/mysql/mysql.go b/pkg/tsdb/mysql/mysql.go
|
||||
index 682c3bc456..5ae7a9a87d 100644
|
||||
--- a/pkg/tsdb/mysql/mysql.go
|
||||
+++ b/pkg/tsdb/mysql/mysql.go
|
||||
@@ -13,7 +13,7 @@ import (
|
||||
"github.com/grafana/grafana/pkg/setting"
|
||||
|
||||
"github.com/go-sql-driver/mysql"
|
||||
- "github.com/go-xorm/core"
|
||||
+ "xorm.io/core"
|
||||
"github.com/grafana/grafana/pkg/infra/log"
|
||||
"github.com/grafana/grafana/pkg/models"
|
||||
"github.com/grafana/grafana/pkg/tsdb"
|
||||
diff --git a/pkg/tsdb/mysql/mysql_test.go b/pkg/tsdb/mysql/mysql_test.go
|
||||
index b2ff2bc969..609f923d2c 100644
|
||||
--- a/pkg/tsdb/mysql/mysql_test.go
|
||||
+++ b/pkg/tsdb/mysql/mysql_test.go
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
- "github.com/go-xorm/xorm"
|
||||
+ "xorm.io/xorm"
|
||||
"github.com/grafana/grafana/pkg/components/securejsondata"
|
||||
"github.com/grafana/grafana/pkg/components/simplejson"
|
||||
"github.com/grafana/grafana/pkg/models"
|
||||
diff --git a/pkg/tsdb/postgres/postgres.go b/pkg/tsdb/postgres/postgres.go
|
||||
index a417699c1d..f38b94913b 100644
|
||||
--- a/pkg/tsdb/postgres/postgres.go
|
||||
+++ b/pkg/tsdb/postgres/postgres.go
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
|
||||
"github.com/grafana/grafana/pkg/setting"
|
||||
|
||||
- "github.com/go-xorm/core"
|
||||
+ "xorm.io/core"
|
||||
"github.com/grafana/grafana/pkg/infra/log"
|
||||
"github.com/grafana/grafana/pkg/models"
|
||||
"github.com/grafana/grafana/pkg/tsdb"
|
||||
diff --git a/pkg/tsdb/postgres/postgres_test.go b/pkg/tsdb/postgres/postgres_test.go
|
||||
index 23d0830d3d..d839d42ddb 100644
|
||||
--- a/pkg/tsdb/postgres/postgres_test.go
|
||||
+++ b/pkg/tsdb/postgres/postgres_test.go
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
- "github.com/go-xorm/xorm"
|
||||
+ "xorm.io/xorm"
|
||||
"github.com/grafana/grafana/pkg/components/securejsondata"
|
||||
"github.com/grafana/grafana/pkg/components/simplejson"
|
||||
"github.com/grafana/grafana/pkg/models"
|
||||
diff --git a/pkg/tsdb/sqleng/sql_engine.go b/pkg/tsdb/sqleng/sql_engine.go
|
||||
index 0cfb1560e4..13bc84bd06 100644
|
||||
--- a/pkg/tsdb/sqleng/sql_engine.go
|
||||
+++ b/pkg/tsdb/sqleng/sql_engine.go
|
||||
@@ -19,8 +19,8 @@ import (
|
||||
|
||||
"github.com/grafana/grafana/pkg/components/null"
|
||||
|
||||
- "github.com/go-xorm/core"
|
||||
- "github.com/go-xorm/xorm"
|
||||
+ "xorm.io/core"
|
||||
+ "xorm.io/xorm"
|
||||
"github.com/grafana/grafana/pkg/components/simplejson"
|
||||
"github.com/grafana/grafana/pkg/models"
|
||||
)
|
36
Makefile
Normal file
36
Makefile
Normal file
@ -0,0 +1,36 @@
|
||||
all: grafana-vendor-go-$(VER).tar.gz \
|
||||
grafana-webpack-$(VER).tar.gz
|
||||
|
||||
grafana-$(VER).tar.gz grafana-$(VER)/:
|
||||
wget https://github.com/grafana/grafana/archive/v$(VER)/grafana-$(VER).tar.gz
|
||||
rm -rf grafana-$(VER)
|
||||
tar xfz grafana-$(VER).tar.gz
|
||||
cd grafana-$(VER) && \
|
||||
for patch in ../*.patch; do patch -p1 < $$patch; done
|
||||
|
||||
grafana-vendor-go-$(VER).tar.gz: grafana-$(VER)/
|
||||
cd grafana-$(VER) && go mod vendor -v
|
||||
tar cfz $@ grafana-$(VER)/vendor
|
||||
awk '$$2~/^v/ && $$4 != "indirect" {print "Provides: bundled(golang(" $$1 ")) = " substr($$2, 2)}' grafana-$(VER)/go.mod | \
|
||||
sed -E 's/=(.*)-(.*)-(.*)/=\1-\2.\3/g' > $@.manifest
|
||||
|
||||
grafana-vendor-nodejs-$(VER).tar.gz: grafana-$(VER)/
|
||||
cd grafana-$(VER) && yarn install --pure-lockfile
|
||||
|
||||
# Remove files with licensing issues
|
||||
find grafana-$(VER) -type d -name 'node-notifier' -prune -exec rm -r {} \;
|
||||
find grafana-$(VER) -name '*.exe' -delete
|
||||
|
||||
tar cfz $@ $$(find grafana-$(VER) -type d -name "node_modules" -prune)
|
||||
./list_bundled_nodejs_packages.py grafana-$(VER)/ > $@.manifest
|
||||
|
||||
grafana-webpack-$(VER).tar.gz: grafana-$(VER)/
|
||||
cd grafana-$(VER) && \
|
||||
yarn install --pure-lockfile && \
|
||||
../build_frontend.sh
|
||||
|
||||
tar cfz $@ grafana-$(VER)/public/build grafana-$(VER)/public/views grafana-$(VER)/plugins-bundled
|
||||
./list_bundled_nodejs_packages.py grafana-$(VER)/ > $@.manifest
|
||||
|
||||
clean:
|
||||
rm -rf *.tar.gz *.manifest *.rpm grafana-*/
|
22
README.md
22
README.md
@ -5,12 +5,20 @@ The grafana package
|
||||
(replace X.Y.Z with the new Grafana version)
|
||||
|
||||
* update `Version` and `%changelog` in the specfile
|
||||
* download source tarball and create webpack: `./make_grafana_webpack.sh X.Y.Z`
|
||||
* update golang buildrequires: `./list_go_buildrequires.sh grafana-X.Y.Z` and replace the old golang `BuildRequires:` with the new ones
|
||||
* update nodejs provides: `./list_bundled_nodejs_packages.py grafana-X.Y.Z` and replace the old nodejs `Provides:` with the new ones
|
||||
* create bundles and manifests: `VER=X.Y.Z make clean all`
|
||||
* update specfile with contents of the `*.manifest` files
|
||||
* check if the default configuration has changed: `diff grafana-X.Y.Z/conf/defaults.ini distro-defaults.ini` and update `distro-defaults.ini` if necessary
|
||||
* install all new golang build dependencies: `sudo dnf builddep grafana.spec` and create packages for missing dependencies
|
||||
* run local build: `rpkg local`, and if any patches fail, update them accordingly
|
||||
* run rpm linter: `rpkg lint`
|
||||
* run local builds with different OS versions: `./run_container_build.sh version` (place not yet published dependencies in the `deps/` directory)
|
||||
* run local build: `rpkg local`
|
||||
* run rpm linter: `rpkg lint -r grafana.rpmlintrc`
|
||||
* run local builds with different OS versions: `./run_container_build.sh fedora-version`
|
||||
* run a scratch build: `fedpkg scratch-build --srpm`
|
||||
* upload new source tarballs: `fedpkg new-sources *.tar.gz`
|
||||
|
||||
## Backporting
|
||||
* create the patch
|
||||
* declare and apply (`%prep`) the patch in the specfile
|
||||
* if the patch affects Go or Node.js dependencies, or the webpack
|
||||
* create new tarballs and rename them to `grafana-...-X.Y.Z-R.tar.gz`
|
||||
* update the specfile
|
||||
|
||||
Note: the Makefile automatically applies all patches before creating the tarballs
|
||||
|
17
build_frontend.sh
Executable file
17
build_frontend.sh
Executable file
@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Build the frontend
|
||||
yarn run build
|
||||
|
||||
# Build the bundled plugins
|
||||
mkdir plugins-bundled/external
|
||||
yarn run plugins:build-bundled
|
||||
for plugin in plugins-bundled/internal/input-datasource; do
|
||||
mv $plugin $plugin.tmp
|
||||
mv $plugin.tmp/dist $plugin
|
||||
rm -rf $plugin.tmp
|
||||
done
|
||||
rm plugins-bundled/README.md plugins-bundled/.gitignore plugins-bundled/external.json
|
||||
|
||||
# Fix permissions (webpack sometimes outputs files with mode = 666 due to reasons unknown (race condition/umask issue afaics))
|
||||
chmod -R g-w,o-w public/build plugins-bundled
|
@ -1,4 +1,4 @@
|
||||
##################### Grafana Configuration Defaults for distros #####################
|
||||
##################### Grafana Configuration Defaults #####################
|
||||
#
|
||||
# Do not modify this file in grafana installs
|
||||
#
|
||||
@ -24,7 +24,7 @@ logs = /var/log/grafana
|
||||
plugins = /var/lib/grafana/plugins
|
||||
|
||||
# folder that contains provisioning config files that grafana will apply on startup and while running.
|
||||
provisioning = conf/provisioning
|
||||
provisioning = /etc/grafana/provisioning
|
||||
|
||||
#################################### Server ##############################
|
||||
[server]
|
||||
@ -126,10 +126,29 @@ connstr =
|
||||
# This enables data proxy logging, default is false
|
||||
logging = false
|
||||
|
||||
# How long the data proxy should wait before timing out default is 30 (seconds)
|
||||
# How long the data proxy waits before timing out, default is 30 seconds.
|
||||
# This setting also applies to core backend HTTP data sources where query requests use an HTTP client with timeout set.
|
||||
timeout = 30
|
||||
|
||||
# If enabled and user is not anonymous, data proxy will add X-Grafana-User header with username into the request, default is false.
|
||||
# How many seconds the data proxy waits before sending a keepalive request.
|
||||
keep_alive_seconds = 30
|
||||
|
||||
# How many seconds the data proxy waits for a successful TLS Handshake before timing out.
|
||||
tls_handshake_timeout_seconds = 10
|
||||
|
||||
# How many seconds the data proxy will wait for a server's first response headers after
|
||||
# fully writing the request headers if the request has an "Expect: 100-continue"
|
||||
# header. A value of 0 will result in the body being sent immediately, without
|
||||
# waiting for the server to approve.
|
||||
expect_continue_timeout_seconds = 1
|
||||
|
||||
# The maximum number of idle connections that Grafana will keep alive.
|
||||
max_idle_connections = 100
|
||||
|
||||
# How many seconds the data proxy keeps an idle connection open before timing out.
|
||||
idle_conn_timeout_seconds = 90
|
||||
|
||||
# If enabled and user is not anonymous, data proxy will add X-Grafana-User header with username into the request.
|
||||
send_user_header = false
|
||||
|
||||
#################################### Analytics ###########################
|
||||
@ -188,7 +207,6 @@ allow_embedding = false
|
||||
# Set to true if you want to enable http strict transport security (HSTS) response header.
|
||||
# This is only sent when HTTPS is enabled in this configuration.
|
||||
# HSTS tells browsers that the site should only be accessed using HTTPS.
|
||||
# The default will change to true in the next minor release, 6.3.
|
||||
strict_transport_security = false
|
||||
|
||||
# Sets how long a browser should cache HSTS. Only applied if strict_transport_security is enabled.
|
||||
@ -202,12 +220,12 @@ strict_transport_security_subdomains = false
|
||||
|
||||
# Set to true to enable the X-Content-Type-Options response header.
|
||||
# The X-Content-Type-Options response HTTP header is a marker used by the server to indicate that the MIME types advertised
|
||||
# in the Content-Type headers should not be changed and be followed. The default will change to true in the next minor release, 6.3.
|
||||
x_content_type_options = false
|
||||
# in the Content-Type headers should not be changed and be followed.
|
||||
x_content_type_options = true
|
||||
|
||||
# Set to true to enable the X-XSS-Protection header, which tells browsers to stop pages from loading
|
||||
# when they detect reflected cross-site scripting (XSS) attacks. The default will change to true in the next minor release, 6.3.
|
||||
x_xss_protection = false
|
||||
# when they detect reflected cross-site scripting (XSS) attacks.
|
||||
x_xss_protection = true
|
||||
|
||||
|
||||
#################################### Snapshots ###########################
|
||||
@ -230,9 +248,12 @@ snapshot_remove_expired = true
|
||||
# Number dashboard versions to keep (per dashboard). Default: 20, Minimum: 1
|
||||
versions_to_keep = 20
|
||||
|
||||
# Minimum dashboard refresh interval. When set, this will restrict users to set the refresh interval of a dashboard lower than given interval. Per default this is not set/unrestricted.
|
||||
# Minimum dashboard refresh interval. When set, this will restrict users to set the refresh interval of a dashboard lower than given interval. Per default this is 5 seconds.
|
||||
# The interval string is a possibly signed sequence of decimal numbers, followed by a unit suffix (ms, s, m, h, d), e.g. 30s or 1m.
|
||||
min_refresh_interval =
|
||||
min_refresh_interval = 1s
|
||||
|
||||
# Path to the default home dashboard. If this value is empty, then Grafana uses StaticRootPath + "dashboards/home.json"
|
||||
default_home_dashboard_path =
|
||||
|
||||
#################################### Users ###############################
|
||||
[users]
|
||||
@ -272,15 +293,18 @@ viewers_can_edit = false
|
||||
# Editors can administrate dashboard, folders and teams they create
|
||||
editors_can_admin = false
|
||||
|
||||
# The duration in time a user invitation remains valid before expiring. This setting should be expressed as a duration. Examples: 6h (hours), 2d (days), 1w (week). Default is 24h (24 hours). The minimum supported duration is 15m (15 minutes).
|
||||
user_invite_max_lifetime_duration = 24h
|
||||
|
||||
[auth]
|
||||
# Login cookie name
|
||||
login_cookie_name = grafana_session
|
||||
|
||||
# The lifetime (days) an authenticated user can be inactive before being required to login at next visit. Default is 7 days.
|
||||
login_maximum_inactive_lifetime_days = 7
|
||||
# The maximum lifetime (duration) an authenticated user can be inactive before being required to login at next visit. Default is 7 days (7d). This setting should be expressed as a duration, e.g. 5m (minutes), 6h (hours), 10d (days), 2w (weeks), 1M (month). The lifetime resets at each successful token rotation (token_rotation_interval_minutes).
|
||||
login_maximum_inactive_lifetime_duration =
|
||||
|
||||
# The maximum lifetime (days) an authenticated user can be logged in since login time before being required to login. Default is 30 days.
|
||||
login_maximum_lifetime_days = 30
|
||||
# The maximum lifetime (duration) an authenticated user can be logged in since login time before being required to login. Default is 30 days (30d). This setting should be expressed as a duration, e.g. 5m (minutes), 6h (hours), 10d (days), 2w (weeks), 1M (month).
|
||||
login_maximum_lifetime_duration =
|
||||
|
||||
# How often should auth tokens be rotated for authenticated users when being active. The default is each 10 minutes.
|
||||
token_rotation_interval_minutes = 10
|
||||
@ -298,9 +322,15 @@ signout_redirect_url =
|
||||
# This setting is ignored if multiple OAuth providers are configured.
|
||||
oauth_auto_login = false
|
||||
|
||||
# OAuth state max age cookie duration in seconds. Defaults to 600 seconds.
|
||||
oauth_state_cookie_max_age = 600
|
||||
|
||||
# limit of api_key seconds to live before expiration
|
||||
api_key_max_seconds_to_live = -1
|
||||
|
||||
# Set to true to enable SigV4 authentication option for HTTP-based datasources
|
||||
sigv4_auth_enabled = false
|
||||
|
||||
#################################### Anonymous Auth ######################
|
||||
[auth.anonymous]
|
||||
# enable anonymous access
|
||||
@ -312,12 +342,15 @@ org_name = Main Org.
|
||||
# specify role for unauthenticated users
|
||||
org_role = Viewer
|
||||
|
||||
#################################### Github Auth #########################
|
||||
# mask the Grafana version number for unauthenticated users
|
||||
hide_version = false
|
||||
|
||||
#################################### GitHub Auth #########################
|
||||
[auth.github]
|
||||
enabled = false
|
||||
allow_sign_up = true
|
||||
client_id = some_id
|
||||
client_secret = some_secret
|
||||
client_secret =
|
||||
scopes = user:email,read:org
|
||||
auth_url = https://github.com/login/oauth/authorize
|
||||
token_url = https://github.com/login/oauth/access_token
|
||||
@ -331,7 +364,7 @@ allowed_organizations =
|
||||
enabled = false
|
||||
allow_sign_up = true
|
||||
client_id = some_id
|
||||
client_secret = some_secret
|
||||
client_secret =
|
||||
scopes = api
|
||||
auth_url = https://gitlab.com/oauth/authorize
|
||||
token_url = https://gitlab.com/oauth/token
|
||||
@ -344,7 +377,7 @@ allowed_groups =
|
||||
enabled = false
|
||||
allow_sign_up = true
|
||||
client_id = some_client_id
|
||||
client_secret = some_client_secret
|
||||
client_secret =
|
||||
scopes = https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email
|
||||
auth_url = https://accounts.google.com/o/oauth2/auth
|
||||
token_url = https://accounts.google.com/o/oauth2/token
|
||||
@ -358,7 +391,7 @@ hosted_domain =
|
||||
enabled = false
|
||||
allow_sign_up = true
|
||||
client_id = some_id
|
||||
client_secret = some_secret
|
||||
client_secret =
|
||||
scopes = user:email
|
||||
allowed_organizations =
|
||||
|
||||
@ -366,7 +399,7 @@ allowed_organizations =
|
||||
enabled = false
|
||||
allow_sign_up = true
|
||||
client_id = some_id
|
||||
client_secret = some_secret
|
||||
client_secret =
|
||||
scopes = user:email
|
||||
allowed_organizations =
|
||||
|
||||
@ -376,24 +409,41 @@ name = Azure AD
|
||||
enabled = false
|
||||
allow_sign_up = true
|
||||
client_id = some_client_id
|
||||
client_secret = some_client_secret
|
||||
client_secret =
|
||||
scopes = openid email profile
|
||||
auth_url = https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize
|
||||
token_url = https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token
|
||||
allowed_domains =
|
||||
allowed_groups =
|
||||
|
||||
#################################### Okta OAuth #######################
|
||||
[auth.okta]
|
||||
name = Okta
|
||||
enabled = false
|
||||
allow_sign_up = true
|
||||
client_id = some_id
|
||||
client_secret =
|
||||
scopes = openid profile email groups
|
||||
auth_url = https://<tenant-id>.okta.com/oauth2/v1/authorize
|
||||
token_url = https://<tenant-id>.okta.com/oauth2/v1/token
|
||||
api_url = https://<tenant-id>.okta.com/oauth2/v1/userinfo
|
||||
allowed_domains =
|
||||
allowed_groups =
|
||||
role_attribute_path =
|
||||
|
||||
#################################### Generic OAuth #######################
|
||||
[auth.generic_oauth]
|
||||
name = OAuth
|
||||
enabled = false
|
||||
allow_sign_up = true
|
||||
client_id = some_id
|
||||
client_secret = some_secret
|
||||
client_secret =
|
||||
scopes = user:email
|
||||
email_attribute_name = email:primary
|
||||
email_attribute_path =
|
||||
login_attribute_path =
|
||||
role_attribute_path =
|
||||
id_token_attribute_name =
|
||||
auth_url =
|
||||
token_url =
|
||||
api_url =
|
||||
@ -405,47 +455,6 @@ tls_client_cert =
|
||||
tls_client_key =
|
||||
tls_client_ca =
|
||||
|
||||
#################################### SAML Auth ###########################
|
||||
[auth.saml] # Enterprise only
|
||||
# Defaults to false. If true, the feature is enabled
|
||||
enabled = false
|
||||
|
||||
# Base64-encoded public X.509 certificate. Used to sign requests to the IdP
|
||||
certificate =
|
||||
|
||||
# Path to the public X.509 certificate. Used to sign requests to the IdP
|
||||
certificate_path =
|
||||
|
||||
# Base64-encoded private key. Used to decrypt assertions from the IdP
|
||||
private_key =
|
||||
|
||||
# Path to the private key. Used to decrypt assertions from the IdP
|
||||
private_key_path =
|
||||
|
||||
# Base64-encoded IdP SAML metadata XML. Used to verify and obtain binding locations from the IdP
|
||||
idp_metadata =
|
||||
|
||||
# Path to the SAML metadata XML. Used to verify and obtain binding locations from the IdP
|
||||
idp_metadata_path =
|
||||
|
||||
# URL to fetch SAML IdP metadata. Used to verify and obtain binding locations from the IdP
|
||||
idp_metadata_url =
|
||||
|
||||
# Duration, since the IdP issued a response and the SP is allowed to process it. Defaults to 90 seconds
|
||||
max_issue_delay = 90s
|
||||
|
||||
# Duration, for how long the SP's metadata should be valid. Defaults to 48 hours
|
||||
metadata_valid_duration = 48h
|
||||
|
||||
# Friendly name or name of the attribute within the SAML assertion to use as the user's name
|
||||
assertion_attribute_name = displayName
|
||||
|
||||
# Friendly name or name of the attribute within the SAML assertion to use as the user's login handle
|
||||
assertion_attribute_login = mail
|
||||
|
||||
# Friendly name or name of the attribute within the SAML assertion to use as the user's email
|
||||
assertion_attribute_email = mail
|
||||
|
||||
#################################### Basic Auth ##########################
|
||||
[auth.basic]
|
||||
enabled = true
|
||||
@ -472,7 +481,7 @@ allow_sign_up = true
|
||||
# LDAP backround sync (Enterprise only)
|
||||
# At 1 am every day
|
||||
sync_cron = "0 0 1 * * *"
|
||||
active_sync_enabled = false
|
||||
active_sync_enabled = true
|
||||
|
||||
#################################### SMTP / Emailing #####################
|
||||
[smtp]
|
||||
@ -487,6 +496,7 @@ skip_verify = false
|
||||
from_address = admin@grafana.localhost
|
||||
from_name = Grafana
|
||||
ehlo_identity =
|
||||
startTLS_policy =
|
||||
|
||||
[emails]
|
||||
welcome_email_on_sign_up = false
|
||||
@ -613,6 +623,36 @@ max_attempts = 3
|
||||
# Makes it possible to enforce a minimal interval between evaluations, to reduce load on the backend
|
||||
min_interval_seconds = 1
|
||||
|
||||
# Configures for how long alert annotations are stored. Default is 0, which keeps them forever.
|
||||
# This setting should be expressed as an duration. Ex 6h (hours), 10d (days), 2w (weeks), 1M (month).
|
||||
max_annotation_age =
|
||||
|
||||
# Configures max number of alert annotations that Grafana stores. Default value is 0, which keeps all alert annotations.
|
||||
max_annotations_to_keep =
|
||||
|
||||
#################################### Annotations #########################
|
||||
|
||||
[annotations.dashboard]
|
||||
# Dashboard annotations means that annotations are associated with the dashboard they are created on.
|
||||
|
||||
# Configures how long dashboard annotations are stored. Default is 0, which keeps them forever.
|
||||
# This setting should be expressed as a duration. Examples: 6h (hours), 10d (days), 2w (weeks), 1M (month).
|
||||
max_age =
|
||||
|
||||
# Configures max number of dashboard annotations that Grafana stores. Default value is 0, which keeps all dashboard annotations.
|
||||
max_annotations_to_keep =
|
||||
|
||||
[annotations.api]
|
||||
# API annotations means that the annotations have been created using the API without any
|
||||
# association with a dashboard.
|
||||
|
||||
# Configures how long Grafana stores API annotations. Default is 0, which keeps them forever.
|
||||
# This setting should be expressed as a duration. Examples: 6h (hours), 10d (days), 2w (weeks), 1M (month).
|
||||
max_age =
|
||||
|
||||
# Configures max number of API annotations that Grafana keeps. Default value is 0, which keeps all API annotations.
|
||||
max_annotations_to_keep =
|
||||
|
||||
#################################### Explore #############################
|
||||
[explore]
|
||||
# Enable the Explore section
|
||||
@ -630,6 +670,12 @@ disable_total_stats = false
|
||||
basic_auth_username =
|
||||
basic_auth_password =
|
||||
|
||||
# Metrics environment info adds dimensions to the `grafana_environment_info` metric, which
|
||||
# can expose more information about the Grafana instance.
|
||||
[metrics.environment_info]
|
||||
#exampleLabel1 = exampleValue1
|
||||
#exampleLabel2 = exampleValue2
|
||||
|
||||
# Send internal Grafana metrics to graphite
|
||||
[metrics.graphite]
|
||||
# Enable by setting the address setting (ex localhost:2003)
|
||||
@ -691,6 +737,8 @@ public_url =
|
||||
key_file =
|
||||
bucket =
|
||||
path =
|
||||
enable_signed_urls = false
|
||||
signed_url_expiration =
|
||||
|
||||
[external_image_storage.azure_blob]
|
||||
account_name =
|
||||
@ -706,6 +754,9 @@ container_name =
|
||||
server_url =
|
||||
# If the remote HTTP image renderer service runs on a different server than the Grafana server you may have to configure this to a URL where Grafana is reachable, e.g. http://grafana.domain/.
|
||||
callback_url =
|
||||
# Concurrent render request limit affects when the /render HTTP endpoint is used. Rendering many images at the same time can overload the server,
|
||||
# which this setting can help protect against by only allowing a certain amount of concurrent requests.
|
||||
concurrent_render_request_limit = 30
|
||||
|
||||
[panels]
|
||||
# here for to support old env variables, can remove after a few months
|
||||
@ -715,6 +766,68 @@ disable_sanitize_html = false
|
||||
[plugins]
|
||||
enable_alpha = false
|
||||
app_tls_skip_verify_insecure = false
|
||||
# Enter a comma-separated list of plugin identifiers to identify plugins that are allowed to be loaded even if they lack a valid signature.
|
||||
allow_loading_unsigned_plugins =
|
||||
|
||||
#################################### Grafana Image Renderer Plugin ##########################
|
||||
[plugin.grafana-image-renderer]
|
||||
# Instruct headless browser instance to use a default timezone when not provided by Grafana, e.g. when rendering panel image of alert.
|
||||
# See ICU’s metaZones.txt (https://cs.chromium.org/chromium/src/third_party/icu/source/data/misc/metaZones.txt) for a list of supported
|
||||
# timezone IDs. Fallbacks to TZ environment variable if not set.
|
||||
rendering_timezone =
|
||||
|
||||
# Instruct headless browser instance to use a default language when not provided by Grafana, e.g. when rendering panel image of alert.
|
||||
# Please refer to the HTTP header Accept-Language to understand how to format this value, e.g. 'fr-CH, fr;q=0.9, en;q=0.8, de;q=0.7, *;q=0.5'.
|
||||
rendering_language =
|
||||
|
||||
# Instruct headless browser instance to use a default device scale factor when not provided by Grafana, e.g. when rendering panel image of alert.
|
||||
# Default is 1. Using a higher value will produce more detailed images (higher DPI), but will require more disk space to store an image.
|
||||
rendering_viewport_device_scale_factor =
|
||||
|
||||
# Instruct headless browser instance whether to ignore HTTPS errors during navigation. Per default HTTPS errors are not ignored. Due to
|
||||
# the security risk it's not recommended to ignore HTTPS errors.
|
||||
rendering_ignore_https_errors =
|
||||
|
||||
# Instruct headless browser instance whether to capture and log verbose information when rendering an image. Default is false and will
|
||||
# only capture and log error messages. When enabled, debug messages are captured and logged as well.
|
||||
# For the verbose information to be included in the Grafana server log you have to adjust the rendering log level to debug, configure
|
||||
# [log].filter = rendering:debug.
|
||||
rendering_verbose_logging =
|
||||
|
||||
# Instruct headless browser instance whether to output its debug and error messages into running process of remote rendering service.
|
||||
# Default is false. This can be useful to enable (true) when troubleshooting.
|
||||
rendering_dumpio =
|
||||
|
||||
# Additional arguments to pass to the headless browser instance. Default is --no-sandbox. The list of Chromium flags can be found
|
||||
# here (https://peter.sh/experiments/chromium-command-line-switches/). Multiple arguments is separated with comma-character.
|
||||
rendering_args =
|
||||
|
||||
# You can configure the plugin to use a different browser binary instead of the pre-packaged version of Chromium.
|
||||
# Please note that this is not recommended, since you may encounter problems if the installed version of Chrome/Chromium is not
|
||||
# compatible with the plugin.
|
||||
rendering_chrome_bin =
|
||||
|
||||
# Instruct how headless browser instances are created. Default is 'default' and will create a new browser instance on each request.
|
||||
# Mode 'clustered' will make sure that only a maximum of browsers/incognito pages can execute concurrently.
|
||||
# Mode 'reusable' will have one browser instance and will create a new incognito page on each request.
|
||||
rendering_mode =
|
||||
|
||||
# When rendering_mode = clustered you can instruct how many browsers or incognito pages can execute concurrently. Default is 'browser'
|
||||
# and will cluster using browser instances.
|
||||
# Mode 'context' will cluster using incognito pages.
|
||||
rendering_clustering_mode =
|
||||
# When rendering_mode = clustered you can define maximum number of browser instances/incognito pages that can execute concurrently..
|
||||
rendering_clustering_max_concurrency =
|
||||
|
||||
# Limit the maximum viewport width, height and device scale factor that can be requested.
|
||||
rendering_viewport_max_width =
|
||||
rendering_viewport_max_height =
|
||||
rendering_viewport_max_device_scale_factor =
|
||||
|
||||
# Change the listening host and port of the gRPC server. Default host is 127.0.0.1 and default port is 0 and will automatically assign
|
||||
# a port not in use.
|
||||
grpc_host =
|
||||
grpc_port =
|
||||
|
||||
[enterprise]
|
||||
license_path =
|
||||
@ -722,3 +835,23 @@ license_path =
|
||||
[feature_toggles]
|
||||
# enable features, separated by spaces
|
||||
enable =
|
||||
|
||||
[date_formats]
|
||||
# For information on what formatting patterns that are supported https://momentjs.com/docs/#/displaying/
|
||||
|
||||
# Default system date format used in time range picker and other places where full time is displayed
|
||||
full_date = YYYY-MM-DD HH:mm:ss
|
||||
|
||||
# Used by graph and other places where we only show small intervals
|
||||
interval_second = HH:mm:ss
|
||||
interval_minute = HH:mm
|
||||
interval_hour = MM/DD HH:mm
|
||||
interval_day = MM/DD
|
||||
interval_month = YYYY-MM
|
||||
interval_year = YYYY
|
||||
|
||||
# Experimental feature
|
||||
use_browser_locale = false
|
||||
|
||||
# Default timezone for user preferences. Options are 'browser' for the browser local timezone or a timezone name from IANA Time Zone database, e.g. 'UTC' or 'Europe/Amsterdam' etc.
|
||||
default_timezone = browser
|
||||
|
@ -1,10 +1,16 @@
|
||||
addFilter("W: non-standard-gid.* grafana")
|
||||
addFilter("W: non-standard-uid.* grafana")
|
||||
addFilter("E: script-without-shebang .*\.json")
|
||||
addFilter("E: zero-length /usr/share/grafana/public/.*")
|
||||
addFilter("W: log-files-without-logrotate .*")
|
||||
addFilter("W: no-documentation")
|
||||
addFilter("E: non-readable /etc/grafana/grafana.ini 640")
|
||||
addFilter("E: non-readable /etc/grafana/ldap.toml 640")
|
||||
addFilter("E: non-standard-dir-perm /var/lib/grafana 750")
|
||||
addFilter("E: non-standard-dir-perm /etc/grafana/provisioning/datasources 750")
|
||||
addFilter("E: zero-length /usr/share/grafana/public/.*")
|
||||
addFilter("E: script-without-shebang .*\.json")
|
||||
|
||||
addFilter("W: non-standard-uid.* grafana")
|
||||
addFilter("W: non-standard-gid.* grafana")
|
||||
addFilter("W: hidden-file-or-dir /usr/share/grafana/public/.*")
|
||||
addFilter("W: log-files-without-logrotate .*")
|
||||
addFilter("W: dangerous-command-in-%post chown")
|
||||
|
||||
addFilter("W: strange-permission build_frontend.sh 755")
|
||||
addFilter("W: strange-permission list_bundled_nodejs_packages.py 755")
|
||||
addFilter("W: %ifarch-applied-patch Patch.: 00.-skip-goldenfiles-tests.patch")
|
||||
|
868
grafana.spec
868
grafana.spec
@ -8,14 +8,12 @@
|
||||
end
|
||||
end}
|
||||
|
||||
# Unbundle Grafana vendor sources and instead use BuildRequires
|
||||
# on platforms that have enough golang devel support.
|
||||
%if 0%{?rhel} == 0
|
||||
%global unbundle_vendor_sources 1
|
||||
%endif
|
||||
# Specify if the frontend will be compiled as part of the build or
|
||||
# is attached as a webpack tarball (in case of an unsuitable nodejs version on the build system)
|
||||
%define compile_frontend 0
|
||||
|
||||
Name: grafana
|
||||
Version: 6.7.4
|
||||
Version: 7.3.1
|
||||
Release: 1%{?dist}
|
||||
Summary: Metrics dashboard and graph editor
|
||||
License: ASL 2.0
|
||||
@ -24,32 +22,42 @@ URL: https://grafana.org
|
||||
# Source0 contains the tagged upstream sources
|
||||
Source0: https://github.com/grafana/grafana/archive/v%{version}/%{name}-%{version}.tar.gz
|
||||
|
||||
# Source1 contains the front-end javascript modules bundled into a webpack
|
||||
Source1: grafana_webpack-%{version}.tar.gz
|
||||
# Source1 contains the bundled Go dependencies
|
||||
Source1: grafana-vendor-go-%{version}.tar.gz
|
||||
|
||||
# Source2 contains Grafana configuration defaults for distributions
|
||||
Source2: distro-defaults.ini
|
||||
%if %{compile_frontend}
|
||||
# Source2 contains the bundled Node.js dependencies
|
||||
Source2: grafana-vendor-nodejs-%{version}.tar.gz
|
||||
%else
|
||||
# Source2 contains the precompiled frontend
|
||||
Source2: grafana-webpack-%{version}.tar.gz
|
||||
%endif
|
||||
|
||||
# Source3 is the script to create the webpack from grafana sources
|
||||
Source3: make_grafana_webpack.sh
|
||||
# Source3 contains Grafana configuration defaults for distributions
|
||||
Source3: distro-defaults.ini
|
||||
|
||||
# Source4 is the script to generate the list of Go build dependencies:
|
||||
Source4: list_go_buildrequires.sh
|
||||
# Source4 contains the script to build the frontend
|
||||
Source4: build_frontend.sh
|
||||
|
||||
# Source5 is the script to generate the list of bundled nodejs packages
|
||||
Source5: list_bundled_nodejs_packages.py
|
||||
# Source5 contains the Makefile to create the required bundles
|
||||
Source5: Makefile
|
||||
|
||||
# Source6 contains the script to generate the list of bundled nodejs packages
|
||||
Source6: list_bundled_nodejs_packages.py
|
||||
|
||||
# Patches
|
||||
Patch1: 001-login-oauth-use-oauth2-exchange.patch
|
||||
Patch2: 002-remove-jaeger-tracing.patch
|
||||
Patch3: 003-manpages.patch
|
||||
Patch4: 004-wrappers-grafana-cli.patch
|
||||
Patch5: 005-pkg-main-fix-import-paths.patch
|
||||
Patch6: 006-pkg-setting-ini-default-section.patch
|
||||
Patch7: 007-pkg-prometheus-client-query-range.patch
|
||||
Patch8: 008-pkg-services-notifications-codes-Unknwon.patch
|
||||
Patch9: 009-pkg-fix-xorm-import.patch
|
||||
Patch1: 001-wrappers-grafana-cli.patch
|
||||
Patch2: 002-manpages.patch
|
||||
|
||||
# remove failing assertions due to a symlink
|
||||
# BUILD/src/github.com/grafana/grafana -> BUILD/grafana-X.Y.Z
|
||||
Patch3: 003-remove-dashboard-abspath-test.patch
|
||||
|
||||
# Required for s390x
|
||||
# the golden files include memory dumps from a x86 machine
|
||||
# integers are stored as little endian on x86, but as big endian on s390x
|
||||
# therefore loading this memory dump fails on s390x
|
||||
Patch4: 004-skip-x86-goldenfiles-tests.patch
|
||||
|
||||
# Intersection of go_arches and nodejs_arches
|
||||
ExclusiveArch: %{grafana_arches}
|
||||
@ -67,204 +75,342 @@ ExclusiveArch: %{grafana_arches}
|
||||
Requires(pre): shadow-utils
|
||||
|
||||
BuildRequires: git, systemd, golang, go-srpm-macros, go-rpm-macros
|
||||
%if %{compile_frontend}
|
||||
BuildRequires: nodejs >= 1:12, nodejs < 1:13, yarnpkg
|
||||
%endif
|
||||
|
||||
Obsoletes: grafana-cloudwatch < 7.1.1-1
|
||||
Obsoletes: grafana-elasticsearch < 7.1.1-1
|
||||
Obsoletes: grafana-azure-monitor < 7.1.1-1
|
||||
Obsoletes: grafana-graphite < 7.1.1-1
|
||||
Obsoletes: grafana-influxdb < 7.1.1-1
|
||||
Obsoletes: grafana-loki < 7.1.1-1
|
||||
Obsoletes: grafana-mssql < 7.1.1-1
|
||||
Obsoletes: grafana-mysql < 7.1.1-1
|
||||
Obsoletes: grafana-opentsdb < 7.1.1-1
|
||||
Obsoletes: grafana-postgres < 7.1.1-1
|
||||
Obsoletes: grafana-prometheus < 7.1.1-1
|
||||
Obsoletes: grafana-stackdriver < 7.1.1-1
|
||||
Provides: grafana-cloudwatch = 7.1.1-1
|
||||
Provides: grafana-elasticsearch = 7.1.1-1
|
||||
Provides: grafana-azure-monitor = 7.1.1-1
|
||||
Provides: grafana-graphite = 7.1.1-1
|
||||
Provides: grafana-influxdb = 7.1.1-1
|
||||
Provides: grafana-loki = 7.1.1-1
|
||||
Provides: grafana-mssql = 7.1.1-1
|
||||
Provides: grafana-mysql = 7.1.1-1
|
||||
Provides: grafana-opentsdb = 7.1.1-1
|
||||
Provides: grafana-postgres = 7.1.1-1
|
||||
Provides: grafana-prometheus = 7.1.1-1
|
||||
Provides: grafana-stackdriver = 7.1.1-1
|
||||
|
||||
%if 0%{?fedora} || 0%{?rhel} > 7
|
||||
Recommends: grafana-cloudwatch = %{version}-%{release}
|
||||
Recommends: grafana-elasticsearch = %{version}-%{release}
|
||||
Recommends: grafana-azure-monitor = %{version}-%{release}
|
||||
Recommends: grafana-graphite = %{version}-%{release}
|
||||
Recommends: grafana-influxdb = %{version}-%{release}
|
||||
Recommends: grafana-loki = %{version}-%{release}
|
||||
Recommends: grafana-mssql = %{version}-%{release}
|
||||
Recommends: grafana-mysql = %{version}-%{release}
|
||||
Recommends: grafana-opentsdb = %{version}-%{release}
|
||||
Recommends: grafana-postgres = %{version}-%{release}
|
||||
Recommends: grafana-prometheus = %{version}-%{release}
|
||||
Recommends: grafana-stackdriver = %{version}-%{release}
|
||||
Recommends: grafana-pcp >= 2
|
||||
Recommends: grafana-pcp
|
||||
%endif
|
||||
|
||||
%if 0%{?unbundle_vendor_sources}
|
||||
# golang build deps. These allow us to unbundle vendor golang source.
|
||||
# Note: generated with the list_go_buildrequires.sh script (see README.md)
|
||||
BuildRequires: golang(github.com/apache/arrow/go/arrow)
|
||||
BuildRequires: golang(github.com/apache/arrow/go/arrow/array)
|
||||
BuildRequires: golang(github.com/apache/arrow/go/arrow/ipc)
|
||||
BuildRequires: golang(github.com/apache/arrow/go/arrow/memory)
|
||||
BuildRequires: golang(github.com/aws/aws-sdk-go/aws)
|
||||
BuildRequires: golang(github.com/aws/aws-sdk-go/aws/awsutil)
|
||||
BuildRequires: golang(github.com/aws/aws-sdk-go/aws/credentials)
|
||||
BuildRequires: golang(github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds)
|
||||
BuildRequires: golang(github.com/aws/aws-sdk-go/aws/credentials/endpointcreds)
|
||||
BuildRequires: golang(github.com/aws/aws-sdk-go/aws/defaults)
|
||||
BuildRequires: golang(github.com/aws/aws-sdk-go/aws/ec2metadata)
|
||||
BuildRequires: golang(github.com/aws/aws-sdk-go/aws/request)
|
||||
BuildRequires: golang(github.com/aws/aws-sdk-go/aws/session)
|
||||
BuildRequires: golang(github.com/aws/aws-sdk-go/service/cloudwatch)
|
||||
BuildRequires: golang(github.com/aws/aws-sdk-go/service/ec2)
|
||||
BuildRequires: golang(github.com/aws/aws-sdk-go/service/ec2/ec2iface)
|
||||
BuildRequires: golang(github.com/aws/aws-sdk-go/service/resourcegroupstaggingapi)
|
||||
BuildRequires: golang(github.com/aws/aws-sdk-go/service/resourcegroupstaggingapi/resourcegroupstaggingapiiface)
|
||||
BuildRequires: golang(github.com/aws/aws-sdk-go/service/s3/s3manager)
|
||||
BuildRequires: golang(github.com/aws/aws-sdk-go/service/sts)
|
||||
BuildRequires: golang(github.com/benbjohnson/clock)
|
||||
BuildRequires: golang(github.com/bradfitz/gomemcache/memcache)
|
||||
BuildRequires: golang(github.com/BurntSushi/toml)
|
||||
BuildRequires: golang(github.com/cheekybits/genny/generic)
|
||||
BuildRequires: golang(github.com/crewjam/saml)
|
||||
BuildRequires: golang(github.com/davecgh/go-spew/spew)
|
||||
BuildRequires: golang(github.com/denisenkom/go-mssqldb)
|
||||
BuildRequires: golang(github.com/facebookgo/inject)
|
||||
BuildRequires: golang(github.com/fatih/color)
|
||||
BuildRequires: golang(github.com/gobwas/glob)
|
||||
BuildRequires: golang(github.com/golang/protobuf/proto)
|
||||
BuildRequires: golang(github.com/go-macaron/binding)
|
||||
BuildRequires: golang(github.com/go-macaron/gzip)
|
||||
BuildRequires: golang(github.com/go-macaron/session)
|
||||
BuildRequires: golang(github.com/google/go-cmp/cmp)
|
||||
BuildRequires: golang(github.com/google/go-cmp/cmp/cmpopts)
|
||||
BuildRequires: golang(github.com/gorilla/websocket)
|
||||
BuildRequires: golang(github.com/gosimple/slug)
|
||||
BuildRequires: golang(github.com/go-sql-driver/mysql)
|
||||
BuildRequires: golang(github.com/go-stack/stack)
|
||||
BuildRequires: golang(github.com/go-xorm/core)
|
||||
BuildRequires: golang(github.com/hashicorp/go-hclog)
|
||||
BuildRequires: golang(github.com/hashicorp/go-plugin)
|
||||
BuildRequires: golang(github.com/hashicorp/go-version)
|
||||
BuildRequires: golang(github.com/inconshreveable/log15)
|
||||
BuildRequires: golang(github.com/jmespath/go-jmespath)
|
||||
BuildRequires: golang(github.com/jung-kurt/gofpdf)
|
||||
BuildRequires: golang(github.com/lib/pq)
|
||||
BuildRequires: golang(github.com/linkedin/goavro)
|
||||
BuildRequires: golang(github.com/mattetti/filebuffer)
|
||||
BuildRequires: golang(github.com/mattn/go-isatty)
|
||||
BuildRequires: golang(github.com/mattn/go-sqlite3)
|
||||
BuildRequires: golang(github.com/opentracing/opentracing-go)
|
||||
BuildRequires: golang(github.com/opentracing/opentracing-go/ext)
|
||||
BuildRequires: golang(github.com/opentracing/opentracing-go/log)
|
||||
BuildRequires: golang(github.com/patrickmn/go-cache)
|
||||
BuildRequires: golang(github.com/pkg/errors)
|
||||
BuildRequires: golang(github.com/prometheus/client_golang/api)
|
||||
BuildRequires: golang(github.com/prometheus/client_golang/api/prometheus/v1)
|
||||
BuildRequires: golang(github.com/prometheus/client_golang/prometheus)
|
||||
BuildRequires: golang(github.com/prometheus/client_golang/prometheus/promhttp)
|
||||
BuildRequires: golang(github.com/prometheus/client_model/go)
|
||||
BuildRequires: golang(github.com/prometheus/common/expfmt)
|
||||
BuildRequires: golang(github.com/prometheus/common/model)
|
||||
BuildRequires: golang(github.com/robfig/cron)
|
||||
BuildRequires: golang(github.com/smartystreets/goconvey/convey)
|
||||
BuildRequires: golang(github.com/stretchr/testify/require)
|
||||
BuildRequires: golang(github.com/teris-io/shortid)
|
||||
BuildRequires: golang(github.com/ua-parser/uap-go/uaparser)
|
||||
BuildRequires: golang(github.com/uber/jaeger-client-go/config)
|
||||
BuildRequires: golang(github.com/uber/jaeger-client-go/zipkin)
|
||||
BuildRequires: golang(github.com/Unknwon/com)
|
||||
BuildRequires: golang(github.com/urfave/cli/v2)
|
||||
BuildRequires: golang(github.com/VividCortex/mysqlerr)
|
||||
BuildRequires: golang(github.com/yudai/gojsondiff)
|
||||
BuildRequires: golang(github.com/yudai/gojsondiff/formatter)
|
||||
BuildRequires: golang(golang.org/x/crypto/pbkdf2)
|
||||
BuildRequires: golang(golang.org/x/net/context)
|
||||
BuildRequires: golang(golang.org/x/net/context/ctxhttp)
|
||||
BuildRequires: golang(golang.org/x/oauth2)
|
||||
BuildRequires: golang(golang.org/x/oauth2/google)
|
||||
BuildRequires: golang(golang.org/x/oauth2/jwt)
|
||||
BuildRequires: golang(golang.org/x/sync/errgroup)
|
||||
BuildRequires: golang(golang.org/x/xerrors)
|
||||
BuildRequires: golang(google.golang.org/grpc)
|
||||
BuildRequires: golang(google.golang.org/grpc/codes)
|
||||
BuildRequires: golang(google.golang.org/grpc/metadata)
|
||||
BuildRequires: golang(google.golang.org/grpc/status)
|
||||
BuildRequires: golang(gopkg.in/ini.v1)
|
||||
BuildRequires: golang(gopkg.in/ldap.v3)
|
||||
BuildRequires: golang(gopkg.in/macaron.v1)
|
||||
BuildRequires: golang(gopkg.in/mail.v2)
|
||||
BuildRequires: golang(gopkg.in/redis.v5)
|
||||
BuildRequires: golang(gopkg.in/robfig/cron.v3)
|
||||
BuildRequires: golang(gopkg.in/square/go-jose.v2)
|
||||
BuildRequires: golang(gopkg.in/square/go-jose.v2/jwt)
|
||||
BuildRequires: golang(gopkg.in/yaml.v2)
|
||||
BuildRequires: golang(xorm.io/xorm)
|
||||
%endif
|
||||
# vendored golang and node.js build dependencies
|
||||
# this is for security purposes, if nodejs-foo ever needs an update,
|
||||
# affected packages can be easily identified.
|
||||
# Note: generated by the Makefile (see README.md)
|
||||
Provides: bundled(golang(cloud.google.com/go/storage)) = 1.8.0
|
||||
Provides: bundled(golang(github.com/BurntSushi/toml)) = 0.3.1
|
||||
Provides: bundled(golang(github.com/VividCortex/mysqlerr)) = 0.0.0-20170204212430.6c6b55f8796f
|
||||
Provides: bundled(golang(github.com/aws/aws-sdk-go)) = 1.33.12
|
||||
Provides: bundled(golang(github.com/beevik/etree)) = 1.1.0
|
||||
Provides: bundled(golang(github.com/benbjohnson/clock)) = 0.0.0-20161215174838.7dc76406b6d3
|
||||
Provides: bundled(golang(github.com/bradfitz/gomemcache)) = 0.0.0-20190913173617.a41fca850d0b
|
||||
Provides: bundled(golang(github.com/centrifugal/centrifuge)) = 0.11.0
|
||||
Provides: bundled(golang(github.com/crewjam/saml)) = 0.4.1
|
||||
Provides: bundled(golang(github.com/davecgh/go-spew)) = 1.1.1
|
||||
Provides: bundled(golang(github.com/denisenkom/go-mssqldb)) = 0.0.0-20200620013148.b91950f658ec
|
||||
Provides: bundled(golang(github.com/facebookgo/inject)) = 0.0.0-20180706035515.f23751cae28b
|
||||
Provides: bundled(golang(github.com/fatih/color)) = 1.9.0
|
||||
Provides: bundled(golang(github.com/gchaincl/sqlhooks)) = 1.3.0
|
||||
Provides: bundled(golang(github.com/go-macaron/binding)) = 0.0.0-20190806013118.0b4f37bab25b
|
||||
Provides: bundled(golang(github.com/go-macaron/gzip)) = 0.0.0-20160222043647.cad1c6580a07
|
||||
Provides: bundled(golang(github.com/go-macaron/session)) = 0.0.0-20190805070824.1a3cdc6f5659
|
||||
Provides: bundled(golang(github.com/go-sql-driver/mysql)) = 1.5.0
|
||||
Provides: bundled(golang(github.com/go-stack/stack)) = 1.8.0
|
||||
Provides: bundled(golang(github.com/gobwas/glob)) = 0.2.3
|
||||
Provides: bundled(golang(github.com/golang/protobuf)) = 1.4.2
|
||||
Provides: bundled(golang(github.com/google/go-cmp)) = 0.5.0
|
||||
Provides: bundled(golang(github.com/gosimple/slug)) = 1.4.2
|
||||
Provides: bundled(golang(github.com/grafana/grafana-plugin-model)) = 0.0.0-20190930120109.1fc953a61fb4
|
||||
Provides: bundled(golang(github.com/grafana/grafana-plugin-sdk-go)) = 0.78.0
|
||||
Provides: bundled(golang(github.com/grafana/loki)) = 1.6.0
|
||||
Provides: bundled(golang(github.com/grpc-ecosystem/go-grpc-middleware)) = 1.2.1
|
||||
Provides: bundled(golang(github.com/hashicorp/go-hclog)) = 0.12.2
|
||||
Provides: bundled(golang(github.com/hashicorp/go-plugin)) = 1.2.2
|
||||
Provides: bundled(golang(github.com/hashicorp/go-version)) = 1.2.0
|
||||
Provides: bundled(golang(github.com/inconshreveable/log15)) = 0.0.0-20180818164646.67afb5ed74ec
|
||||
Provides: bundled(golang(github.com/influxdata/influxdb-client-go/v2)) = 2.0.1
|
||||
Provides: bundled(golang(github.com/jmespath/go-jmespath)) = 0.3.0
|
||||
Provides: bundled(golang(github.com/jung-kurt/gofpdf)) = 1.10.1
|
||||
Provides: bundled(golang(github.com/lib/pq)) = 1.3.0
|
||||
Provides: bundled(golang(github.com/linkedin/goavro/v2)) = 2.9.7
|
||||
Provides: bundled(golang(github.com/magefile/mage)) = 1.9.0
|
||||
Provides: bundled(golang(github.com/mattn/go-isatty)) = 0.0.12
|
||||
Provides: bundled(golang(github.com/mattn/go-sqlite3)) = 1.11.0
|
||||
Provides: bundled(golang(github.com/opentracing/opentracing-go)) = 1.2.0
|
||||
Provides: bundled(golang(github.com/patrickmn/go-cache)) = 2.1.0+incompatible
|
||||
Provides: bundled(golang(github.com/pkg/errors)) = 0.9.1
|
||||
Provides: bundled(golang(github.com/prometheus/client_golang)) = 1.7.1
|
||||
Provides: bundled(golang(github.com/prometheus/client_model)) = 0.2.0
|
||||
Provides: bundled(golang(github.com/prometheus/common)) = 0.10.0
|
||||
Provides: bundled(golang(github.com/robfig/cron)) = 0.0.0-20180505203441.b41be1df6967
|
||||
Provides: bundled(golang(github.com/robfig/cron/v3)) = 3.0.0
|
||||
Provides: bundled(golang(github.com/russellhaering/goxmldsig)) = 0.0.0-20200902171629.2e1fbc2c5593
|
||||
Provides: bundled(golang(github.com/smartystreets/goconvey)) = 1.6.4
|
||||
Provides: bundled(golang(github.com/stretchr/testify)) = 1.6.1
|
||||
Provides: bundled(golang(github.com/teris-io/shortid)) = 0.0.0-20171029131806.771a37caa5cf
|
||||
Provides: bundled(golang(github.com/timberio/go-datemath)) = 0.1.1-0.20200323150745.74ddef604fff
|
||||
Provides: bundled(golang(github.com/ua-parser/uap-go)) = 0.0.0-20190826212731.daf92ba38329
|
||||
Provides: bundled(golang(github.com/uber/jaeger-client-go)) = 2.25.0+incompatible
|
||||
Provides: bundled(golang(github.com/unknwon/com)) = 1.0.1
|
||||
Provides: bundled(golang(github.com/urfave/cli/v2)) = 2.1.1
|
||||
Provides: bundled(golang(github.com/xorcare/pointer)) = 1.1.0
|
||||
Provides: bundled(golang(github.com/yudai/gojsondiff)) = 1.0.0
|
||||
Provides: bundled(golang(golang.org/x/crypto)) = 0.0.0-20200820211705.5c72a883971a
|
||||
Provides: bundled(golang(golang.org/x/net)) = 0.0.0-20200813134508.3edf25e44fcc
|
||||
Provides: bundled(golang(golang.org/x/oauth2)) = 0.0.0-20200107190931.bf48bf16ab8d
|
||||
Provides: bundled(golang(golang.org/x/sync)) = 0.0.0-20200625203802.6e8e738ad208
|
||||
Provides: bundled(golang(google.golang.org/grpc)) = 1.30.0
|
||||
Provides: bundled(golang(gopkg.in/ini.v1)) = 1.51.0
|
||||
Provides: bundled(golang(gopkg.in/ldap.v3)) = 3.0.2
|
||||
Provides: bundled(golang(gopkg.in/macaron.v1)) = 1.3.9
|
||||
Provides: bundled(golang(gopkg.in/mail.v2)) = 2.3.1
|
||||
Provides: bundled(golang(gopkg.in/redis.v5)) = 5.2.9
|
||||
Provides: bundled(golang(gopkg.in/square/go-jose.v2)) = 2.4.1
|
||||
Provides: bundled(golang(gopkg.in/yaml.v2)) = 2.3.0
|
||||
Provides: bundled(golang(xorm.io/core)) = 0.7.3
|
||||
Provides: bundled(golang(xorm.io/xorm)) = 0.8.1
|
||||
|
||||
# Declare all nodejs modules bundled in the webpack - this is for security
|
||||
# purposes so if nodejs-foo ever needs an update, affected packages can be
|
||||
# easily identified.
|
||||
# Note: generated with the list_bundled_nodejs_packages.sh script (see README.md)
|
||||
Provides: bundled(nodejs-@braintree/sanitize-url) = 4.0.0
|
||||
Provides: bundled(nodejs-@grafana/slate-react) = 0.22.9-grafana
|
||||
Provides: bundled(nodejs-@reduxjs/toolkit) = 1.2.1
|
||||
Provides: bundled(nodejs-@torkelo/react-select) = 3.0.8
|
||||
Provides: bundled(nodejs-@types/md5) = 2.1.33
|
||||
Provides: bundled(nodejs-@types/react-loadable) = 5.5.2
|
||||
Provides: bundled(nodejs-@types/react-virtualized-auto-sizer) = 1.0.0
|
||||
Provides: bundled(nodejs-@types/uuid) = 3.4.7
|
||||
Provides: bundled(nodejs-abortcontroller-polyfill) = 1.4.0
|
||||
Provides: bundled(nodejs-angular) = 1.6.9
|
||||
Provides: bundled(nodejs-angular-bindonce) = 0.3.1
|
||||
Provides: bundled(nodejs-angular-native-dragdrop) = 1.2.2
|
||||
Provides: bundled(nodejs-angular-route) = 1.6.6
|
||||
Provides: bundled(nodejs-angular-sanitize) = 1.6.6
|
||||
Provides: bundled(nodejs-baron) = 3.0.3
|
||||
Provides: bundled(nodejs-brace) = 0.10.0
|
||||
Provides: bundled(nodejs-calculate-size) = 1.1.1
|
||||
Provides: bundled(nodejs-classnames) = 2.2.6
|
||||
Provides: bundled(nodejs-clipboard) = 2.0.4
|
||||
Provides: bundled(nodejs-core-js) = 1.2.7
|
||||
Provides: bundled(nodejs-d3) = 5.15.0
|
||||
Provides: bundled(nodejs-d3-scale-chromatic) = 1.5.0
|
||||
Provides: bundled(nodejs-emotion) = 10.0.27
|
||||
Provides: bundled(nodejs-eventemitter3) = 2.0.3
|
||||
Provides: bundled(nodejs-fast-text-encoding) = 1.0.0
|
||||
Provides: bundled(nodejs-file-saver) = 1.3.8
|
||||
Provides: bundled(nodejs-hoist-non-react-statics) = 3.3.0
|
||||
Provides: bundled(nodejs-immutable) = 3.8.2
|
||||
Provides: bundled(nodejs-is-hotkey) = 0.1.4
|
||||
Provides: bundled(nodejs-jquery) = 3.4.1
|
||||
Provides: bundled(nodejs-lodash) = 3.10.1
|
||||
Provides: bundled(nodejs-lru-cache) = 4.1.5
|
||||
Provides: bundled(nodejs-marked) = 0.3.19
|
||||
Provides: bundled(nodejs-md5) = 2.2.1
|
||||
Provides: bundled(nodejs-memoize-one) = 4.1.0
|
||||
Provides: bundled(nodejs-moment) = 2.24.0
|
||||
Provides: bundled(nodejs-mousetrap) = 1.6.3
|
||||
Provides: bundled(nodejs-mousetrap-global-bind) = 1.1.0
|
||||
Provides: bundled(nodejs-nodemon) = 1.18.10
|
||||
Provides: bundled(nodejs-papaparse) = 4.6.3
|
||||
Provides: bundled(nodejs-prismjs) = 1.16.0
|
||||
Provides: bundled(nodejs-prop-types) = 15.7.2
|
||||
Provides: bundled(nodejs-rc-cascader) = 0.17.5
|
||||
Provides: bundled(nodejs-re-resizable) = 6.2.0
|
||||
Provides: bundled(nodejs-react) = 16.10.2
|
||||
Provides: bundled(nodejs-react-dom) = 16.10.2
|
||||
Provides: bundled(nodejs-react-grid-layout) = 0.17.1
|
||||
Provides: bundled(nodejs-react-highlight-words) = 0.11.0
|
||||
Provides: bundled(nodejs-react-loadable) = 5.5.0
|
||||
Provides: bundled(nodejs-react-popper) = 1.3.3
|
||||
Provides: bundled(nodejs-react-redux) = 7.1.1
|
||||
Provides: bundled(nodejs-react-sizeme) = 2.5.2
|
||||
Provides: bundled(nodejs-react-split-pane) = 0.1.89
|
||||
Provides: bundled(nodejs-react-transition-group) = 2.6.1
|
||||
Provides: bundled(nodejs-react-use) = 12.8.0
|
||||
Provides: bundled(nodejs-react-virtualized-auto-sizer) = 1.0.2
|
||||
Provides: bundled(nodejs-react-window) = 1.7.1
|
||||
Provides: bundled(nodejs-redux) = 3.7.2
|
||||
Provides: bundled(nodejs-redux-logger) = 3.0.6
|
||||
Provides: bundled(nodejs-redux-thunk) = 2.3.0
|
||||
Provides: bundled(nodejs-regenerator-runtime) = 0.11.1
|
||||
Provides: bundled(nodejs-reselect) = 4.0.0
|
||||
Provides: bundled(nodejs-rst2html) = 1.0.4
|
||||
Provides: bundled(nodejs-rxjs) = 5.5.12
|
||||
Provides: bundled(nodejs-search-query-parser) = 1.5.2
|
||||
Provides: bundled(nodejs-slate) = 0.47.8
|
||||
Provides: bundled(nodejs-slate-plain-serializer) = 0.7.10
|
||||
Provides: bundled(nodejs-tether) = 1.4.5
|
||||
Provides: bundled(nodejs-tether-drop) = 1.5.0
|
||||
Provides: bundled(nodejs-tinycolor2) = 1.4.1
|
||||
Provides: bundled(nodejs-tti-polyfill) = 0.2.2
|
||||
Provides: bundled(nodejs-uuid) = 3.3.3
|
||||
Provides: bundled(nodejs-whatwg-fetch) = 3.0.0
|
||||
Provides: bundled(nodejs-xss) = 1.0.3
|
||||
Provides: bundled(npm(@babel/core)) = 7.6.2
|
||||
Provides: bundled(npm(@babel/plugin-proposal-nullish-coalescing-operator)) = 7.8.3
|
||||
Provides: bundled(npm(@babel/plugin-proposal-optional-chaining)) = 7.8.3
|
||||
Provides: bundled(npm(@babel/plugin-syntax-dynamic-import)) = 7.2.0
|
||||
Provides: bundled(npm(@babel/preset-env)) = 7.6.3
|
||||
Provides: bundled(npm(@babel/preset-react)) = 7.6.3
|
||||
Provides: bundled(npm(@babel/preset-typescript)) = 7.8.3
|
||||
Provides: bundled(npm(@emotion/core)) = 10.0.21
|
||||
Provides: bundled(npm(@grafana/api-documenter)) = 0.9.3
|
||||
Provides: bundled(npm(@grafana/api-extractor)) = 7.10.1
|
||||
Provides: bundled(npm(@grafana/eslint-config)) = 2.0.3
|
||||
Provides: bundled(npm(@grafana/slate-react)) = 0.22.9-grafana
|
||||
Provides: bundled(npm(@reduxjs/toolkit)) = 1.3.4
|
||||
Provides: bundled(npm(@rtsao/plugin-proposal-class-properties)) = 7.0.1-patch.1
|
||||
Provides: bundled(npm(@testing-library/jest-dom)) = 5.11.3
|
||||
Provides: bundled(npm(@testing-library/react)) = 10.4.8
|
||||
Provides: bundled(npm(@testing-library/react-hooks)) = 3.2.1
|
||||
Provides: bundled(npm(@testing-library/user-event)) = 12.1.3
|
||||
Provides: bundled(npm(@torkelo/react-select)) = 3.0.8
|
||||
Provides: bundled(npm(@types/angular)) = 1.6.56
|
||||
Provides: bundled(npm(@types/angular-route)) = 1.7.0
|
||||
Provides: bundled(npm(@types/antlr4)) = 4.7.1
|
||||
Provides: bundled(npm(@types/braintree__sanitize-url)) = 4.0.0
|
||||
Provides: bundled(npm(@types/classnames)) = 2.2.7
|
||||
Provides: bundled(npm(@types/clipboard)) = 2.0.1
|
||||
Provides: bundled(npm(@types/common-tags)) = 1.8.0
|
||||
Provides: bundled(npm(@types/d3)) = 5.7.2
|
||||
Provides: bundled(npm(@types/d3-scale-chromatic)) = 1.3.1
|
||||
Provides: bundled(npm(@types/enzyme)) = 3.10.3
|
||||
Provides: bundled(npm(@types/enzyme-adapter-react-16)) = 1.0.6
|
||||
Provides: bundled(npm(@types/file-saver)) = 2.0.1
|
||||
Provides: bundled(npm(@types/hoist-non-react-statics)) = 3.3.1
|
||||
Provides: bundled(npm(@types/is-hotkey)) = 0.1.1
|
||||
Provides: bundled(npm(@types/jest)) = 23.3.14
|
||||
Provides: bundled(npm(@types/jquery)) = 3.3.38
|
||||
Provides: bundled(npm(@types/jsurl)) = 1.2.28
|
||||
Provides: bundled(npm(@types/lodash)) = 4.14.123
|
||||
Provides: bundled(npm(@types/lru-cache)) = 5.1.0
|
||||
Provides: bundled(npm(@types/marked)) = 1.1.0
|
||||
Provides: bundled(npm(@types/md5)) = 2.1.33
|
||||
Provides: bundled(npm(@types/moment-timezone)) = 0.5.13
|
||||
Provides: bundled(npm(@types/mousetrap)) = 1.6.3
|
||||
Provides: bundled(npm(@types/node)) = 10.14.1
|
||||
Provides: bundled(npm(@types/papaparse)) = 5.2.0
|
||||
Provides: bundled(npm(@types/prismjs)) = 1.16.0
|
||||
Provides: bundled(npm(@types/react)) = 16.8.16
|
||||
Provides: bundled(npm(@types/react-beautiful-dnd)) = 12.1.2
|
||||
Provides: bundled(npm(@types/react-dom)) = 16.8.4
|
||||
Provides: bundled(npm(@types/react-grid-layout)) = 0.16.7
|
||||
Provides: bundled(npm(@types/react-loadable)) = 5.5.2
|
||||
Provides: bundled(npm(@types/react-redux)) = 7.1.7
|
||||
Provides: bundled(npm(@types/react-select)) = 3.0.8
|
||||
Provides: bundled(npm(@types/react-test-renderer)) = 16.9.1
|
||||
Provides: bundled(npm(@types/react-transition-group)) = 4.2.3
|
||||
Provides: bundled(npm(@types/react-virtualized-auto-sizer)) = 1.0.0
|
||||
Provides: bundled(npm(@types/react-window)) = 1.8.1
|
||||
Provides: bundled(npm(@types/redux-logger)) = 3.0.7
|
||||
Provides: bundled(npm(@types/redux-mock-store)) = 1.0.2
|
||||
Provides: bundled(npm(@types/reselect)) = 2.2.0
|
||||
Provides: bundled(npm(@types/slate)) = 0.47.1
|
||||
Provides: bundled(npm(@types/slate-plain-serializer)) = 0.6.1
|
||||
Provides: bundled(npm(@types/slate-react)) = 0.22.5
|
||||
Provides: bundled(npm(@types/sockjs-client)) = 1.1.1
|
||||
Provides: bundled(npm(@types/testing-library__jest-dom)) = 5.9.2
|
||||
Provides: bundled(npm(@types/testing-library__react-hooks)) = 3.1.0
|
||||
Provides: bundled(npm(@types/tinycolor2)) = 1.4.1
|
||||
Provides: bundled(npm(@types/uuid)) = 8.3.0
|
||||
Provides: bundled(npm(@typescript-eslint/eslint-plugin)) = 4.0.1
|
||||
Provides: bundled(npm(@typescript-eslint/parser)) = 4.0.1
|
||||
Provides: bundled(npm(@welldone-software/why-did-you-render)) = 4.0.6
|
||||
Provides: bundled(npm(abortcontroller-polyfill)) = 1.4.0
|
||||
Provides: bundled(npm(angular)) = 1.6.9
|
||||
Provides: bundled(npm(angular-bindonce)) = 0.3.1
|
||||
Provides: bundled(npm(angular-mocks)) = 1.6.6
|
||||
Provides: bundled(npm(angular-native-dragdrop)) = 1.2.2
|
||||
Provides: bundled(npm(angular-route)) = 1.6.6
|
||||
Provides: bundled(npm(angular-sanitize)) = 1.6.6
|
||||
Provides: bundled(npm(antlr4)) = 4.8.0
|
||||
Provides: bundled(npm(autoprefixer)) = 9.7.4
|
||||
Provides: bundled(npm(axios)) = 0.19.0
|
||||
Provides: bundled(npm(babel-core)) = 7.0.0-bridge.0
|
||||
Provides: bundled(npm(babel-jest)) = 24.8.0
|
||||
Provides: bundled(npm(babel-loader)) = 8.0.6
|
||||
Provides: bundled(npm(babel-plugin-angularjs-annotate)) = 0.10.0
|
||||
Provides: bundled(npm(baron)) = 3.0.3
|
||||
Provides: bundled(npm(brace)) = 0.11.1
|
||||
Provides: bundled(npm(calculate-size)) = 1.1.1
|
||||
Provides: bundled(npm(centrifuge)) = 2.6.4
|
||||
Provides: bundled(npm(classnames)) = 2.2.6
|
||||
Provides: bundled(npm(clean-webpack-plugin)) = 3.0.0
|
||||
Provides: bundled(npm(clipboard)) = 2.0.4
|
||||
Provides: bundled(npm(common-tags)) = 1.8.0
|
||||
Provides: bundled(npm(core-js)) = 1.2.7
|
||||
Provides: bundled(npm(css-loader)) = 3.2.0
|
||||
Provides: bundled(npm(d3)) = 5.15.0
|
||||
Provides: bundled(npm(d3-scale-chromatic)) = 1.5.0
|
||||
Provides: bundled(npm(dangerously-set-html-content)) = 1.0.6
|
||||
Provides: bundled(npm(emotion)) = 10.0.27
|
||||
Provides: bundled(npm(enzyme)) = 3.11.0
|
||||
Provides: bundled(npm(enzyme-adapter-react-16)) = 1.15.2
|
||||
Provides: bundled(npm(enzyme-to-json)) = 3.4.4
|
||||
Provides: bundled(npm(es6-promise)) = 4.2.8
|
||||
Provides: bundled(npm(es6-shim)) = 0.35.5
|
||||
Provides: bundled(npm(eslint)) = 2.13.1
|
||||
Provides: bundled(npm(eslint-config-prettier)) = 6.11.0
|
||||
Provides: bundled(npm(eslint-plugin-jsdoc)) = 28.6.1
|
||||
Provides: bundled(npm(eslint-plugin-prettier)) = 3.1.4
|
||||
Provides: bundled(npm(eslint-plugin-react-hooks)) = 4.0.5
|
||||
Provides: bundled(npm(eventemitter3)) = 3.1.2
|
||||
Provides: bundled(npm(expect.js)) = 0.3.1
|
||||
Provides: bundled(npm(expose-loader)) = 0.7.5
|
||||
Provides: bundled(npm(fast-text-encoding)) = 1.0.0
|
||||
Provides: bundled(npm(file-loader)) = 4.3.0
|
||||
Provides: bundled(npm(file-saver)) = 2.0.2
|
||||
Provides: bundled(npm(fork-ts-checker-webpack-plugin)) = 1.0.0
|
||||
Provides: bundled(npm(gaze)) = 1.1.3
|
||||
Provides: bundled(npm(glob)) = 5.0.15
|
||||
Provides: bundled(npm(grunt)) = 1.0.4
|
||||
Provides: bundled(npm(grunt-angular-templates)) = 1.1.0
|
||||
Provides: bundled(npm(grunt-cli)) = 1.2.0
|
||||
Provides: bundled(npm(grunt-contrib-clean)) = 2.0.0
|
||||
Provides: bundled(npm(grunt-contrib-compress)) = 1.6.0
|
||||
Provides: bundled(npm(grunt-contrib-copy)) = 1.0.0
|
||||
Provides: bundled(npm(grunt-exec)) = 3.0.0
|
||||
Provides: bundled(npm(grunt-newer)) = 1.3.0
|
||||
Provides: bundled(npm(grunt-notify)) = 0.4.5
|
||||
Provides: bundled(npm(grunt-postcss)) = 0.9.0
|
||||
Provides: bundled(npm(grunt-sass-lint)) = 0.2.4
|
||||
Provides: bundled(npm(grunt-usemin)) = 3.1.1
|
||||
Provides: bundled(npm(grunt-webpack)) = 3.1.3
|
||||
Provides: bundled(npm(hoist-non-react-statics)) = 2.5.5
|
||||
Provides: bundled(npm(html-loader)) = 0.5.5
|
||||
Provides: bundled(npm(html-webpack-harddisk-plugin)) = 1.0.1
|
||||
Provides: bundled(npm(html-webpack-plugin)) = 3.2.0
|
||||
Provides: bundled(npm(husky)) = 4.2.1
|
||||
Provides: bundled(npm(immutable)) = 3.8.2
|
||||
Provides: bundled(npm(is-hotkey)) = 0.1.4
|
||||
Provides: bundled(npm(jest)) = 25.5.4
|
||||
Provides: bundled(npm(jest-canvas-mock)) = 2.1.2
|
||||
Provides: bundled(npm(jest-date-mock)) = 1.0.8
|
||||
Provides: bundled(npm(jquery)) = 3.4.1
|
||||
Provides: bundled(npm(jsurl)) = 0.1.5
|
||||
Provides: bundled(npm(lerna)) = 3.20.2
|
||||
Provides: bundled(npm(lint-staged)) = 10.0.7
|
||||
Provides: bundled(npm(load-grunt-tasks)) = 5.1.0
|
||||
Provides: bundled(npm(lodash)) = 3.10.1
|
||||
Provides: bundled(npm(lru-cache)) = 4.1.5
|
||||
Provides: bundled(npm(marked)) = 0.3.19
|
||||
Provides: bundled(npm(md5)) = 2.2.1
|
||||
Provides: bundled(npm(memoize-one)) = 4.1.0
|
||||
Provides: bundled(npm(mini-css-extract-plugin)) = 0.7.0
|
||||
Provides: bundled(npm(mocha)) = 7.0.1
|
||||
Provides: bundled(npm(module-alias)) = 2.2.2
|
||||
Provides: bundled(npm(moment)) = 2.24.0
|
||||
Provides: bundled(npm(moment-timezone)) = 0.5.28
|
||||
Provides: bundled(npm(monaco-editor)) = 0.20.0
|
||||
Provides: bundled(npm(monaco-editor-webpack-plugin)) = 1.9.0
|
||||
Provides: bundled(npm(mousetrap)) = 1.6.5
|
||||
Provides: bundled(npm(mousetrap-global-bind)) = 1.1.0
|
||||
Provides: bundled(npm(mutationobserver-shim)) = 0.3.3
|
||||
Provides: bundled(npm(ngtemplate-loader)) = 2.0.1
|
||||
Provides: bundled(npm(node-sass)) = 4.13.1
|
||||
Provides: bundled(npm(nodemon)) = 2.0.2
|
||||
Provides: bundled(npm(optimize-css-assets-webpack-plugin)) = 5.0.3
|
||||
Provides: bundled(npm(papaparse)) = 4.6.3
|
||||
Provides: bundled(npm(postcss-browser-reporter)) = 0.6.0
|
||||
Provides: bundled(npm(postcss-loader)) = 3.0.0
|
||||
Provides: bundled(npm(postcss-reporter)) = 6.0.1
|
||||
Provides: bundled(npm(prettier)) = 1.18.2
|
||||
Provides: bundled(npm(prismjs)) = 1.17.1
|
||||
Provides: bundled(npm(prop-types)) = 15.7.2
|
||||
Provides: bundled(npm(rc-cascader)) = 1.0.1
|
||||
Provides: bundled(npm(re-resizable)) = 6.2.0
|
||||
Provides: bundled(npm(react)) = 16.10.2
|
||||
Provides: bundled(npm(react-dom)) = 16.10.2
|
||||
Provides: bundled(npm(react-grid-layout)) = 0.17.1
|
||||
Provides: bundled(npm(react-highlight-words)) = 0.16.0
|
||||
Provides: bundled(npm(react-hot-loader)) = 4.8.0
|
||||
Provides: bundled(npm(react-loadable)) = 5.5.0
|
||||
Provides: bundled(npm(react-popper)) = 1.3.3
|
||||
Provides: bundled(npm(react-redux)) = 7.2.0
|
||||
Provides: bundled(npm(react-reverse-portal)) = 2.0.1
|
||||
Provides: bundled(npm(react-sizeme)) = 2.6.8
|
||||
Provides: bundled(npm(react-split-pane)) = 0.1.89
|
||||
Provides: bundled(npm(react-test-renderer)) = 16.10.2
|
||||
Provides: bundled(npm(react-transition-group)) = 2.9.0
|
||||
Provides: bundled(npm(react-use)) = 13.27.0
|
||||
Provides: bundled(npm(react-virtualized-auto-sizer)) = 1.0.2
|
||||
Provides: bundled(npm(react-window)) = 1.8.5
|
||||
Provides: bundled(npm(redux)) = 3.7.2
|
||||
Provides: bundled(npm(redux-logger)) = 3.0.6
|
||||
Provides: bundled(npm(redux-mock-store)) = 1.5.4
|
||||
Provides: bundled(npm(redux-thunk)) = 2.3.0
|
||||
Provides: bundled(npm(regenerator-runtime)) = 0.11.1
|
||||
Provides: bundled(npm(regexp-replace-loader)) = 1.0.1
|
||||
Provides: bundled(npm(reselect)) = 4.0.0
|
||||
Provides: bundled(npm(rimraf)) = 2.6.3
|
||||
Provides: bundled(npm(rst2html)) = 1.0.4
|
||||
Provides: bundled(npm(rxjs)) = 6.5.5
|
||||
Provides: bundled(npm(rxjs-spy)) = 7.5.1
|
||||
Provides: bundled(npm(sass-lint)) = 1.12.1
|
||||
Provides: bundled(npm(sass-loader)) = 8.0.2
|
||||
Provides: bundled(npm(search-query-parser)) = 1.5.4
|
||||
Provides: bundled(npm(sinon)) = 8.1.1
|
||||
Provides: bundled(npm(slate)) = 0.47.8
|
||||
Provides: bundled(npm(slate-plain-serializer)) = 0.7.10
|
||||
Provides: bundled(npm(sockjs-client)) = 1.4.0
|
||||
Provides: bundled(npm(style-loader)) = 1.1.3
|
||||
Provides: bundled(npm(terser-webpack-plugin)) = 1.4.1
|
||||
Provides: bundled(npm(tether)) = 1.4.7
|
||||
Provides: bundled(npm(tether-drop)) = 1.5.0
|
||||
Provides: bundled(npm(tinycolor2)) = 1.4.1
|
||||
Provides: bundled(npm(ts-jest)) = 26.3.0
|
||||
Provides: bundled(npm(ts-node)) = 8.8.1
|
||||
Provides: bundled(npm(tslib)) = 1.10.0
|
||||
Provides: bundled(npm(tti-polyfill)) = 0.2.2
|
||||
Provides: bundled(npm(typescript)) = 3.7.5
|
||||
Provides: bundled(npm(uuid)) = 3.3.3
|
||||
Provides: bundled(npm(webpack)) = 4.41.2
|
||||
Provides: bundled(npm(webpack-bundle-analyzer)) = 3.6.0
|
||||
Provides: bundled(npm(webpack-cleanup-plugin)) = 0.5.1
|
||||
Provides: bundled(npm(webpack-cli)) = 3.3.10
|
||||
Provides: bundled(npm(webpack-dev-server)) = 3.10.3
|
||||
Provides: bundled(npm(webpack-merge)) = 4.2.2
|
||||
Provides: bundled(npm(whatwg-fetch)) = 3.0.0
|
||||
Provides: bundled(npm(zone.js)) = 0.7.8
|
||||
|
||||
|
||||
%description
|
||||
@ -272,165 +418,59 @@ Grafana is an open source, feature rich metrics dashboard and graph editor for
|
||||
Graphite, InfluxDB & OpenTSDB.
|
||||
|
||||
|
||||
%package cloudwatch
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Summary: Grafana cloudwatch datasource
|
||||
|
||||
%description cloudwatch
|
||||
The Grafana cloudwatch datasource.
|
||||
|
||||
%package elasticsearch
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Summary: Grafana elasticsearch datasource
|
||||
|
||||
%description elasticsearch
|
||||
The Grafana elasticsearch datasource.
|
||||
|
||||
%package azure-monitor
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Summary: Grafana azure-monitor datasource
|
||||
|
||||
%description azure-monitor
|
||||
The Grafana azure-monitor datasource.
|
||||
|
||||
%package graphite
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Summary: Grafana graphite datasource
|
||||
|
||||
%description graphite
|
||||
The Grafana graphite datasource.
|
||||
|
||||
%package influxdb
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Summary: Grafana influxdb datasource
|
||||
|
||||
%description influxdb
|
||||
The Grafana influxdb datasource.
|
||||
|
||||
%package loki
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Summary: Grafana loki datasource
|
||||
|
||||
%description loki
|
||||
The Grafana loki datasource.
|
||||
|
||||
%package mssql
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Summary: Grafana mssql datasource
|
||||
|
||||
%description mssql
|
||||
The Grafana mssql datasource.
|
||||
|
||||
%package mysql
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Summary: Grafana mysql datasource
|
||||
|
||||
%description mysql
|
||||
The Grafana mysql datasource.
|
||||
|
||||
%package opentsdb
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Summary: Grafana opentsdb datasource
|
||||
|
||||
%description opentsdb
|
||||
The Grafana opentsdb datasource.
|
||||
|
||||
%package postgres
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Summary: Grafana postgres datasource
|
||||
|
||||
%description postgres
|
||||
The Grafana postgres datasource.
|
||||
|
||||
%package prometheus
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Summary: Grafana prometheus datasource
|
||||
|
||||
%description prometheus
|
||||
The Grafana prometheus datasource.
|
||||
|
||||
%package stackdriver
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Summary: Grafana stackdriver datasource
|
||||
|
||||
%description stackdriver
|
||||
The Grafana stackdriver datasource.
|
||||
|
||||
|
||||
%prep
|
||||
%setup -q -T -D -b 0
|
||||
%setup -q -T -D -b 1
|
||||
%if %{compile_frontend} == 0
|
||||
# remove bundled plugins source, otherwise they'll get merged
|
||||
# with the compiled bundled plugins when extracting the webpack
|
||||
rm -r plugins-bundled
|
||||
%endif
|
||||
%setup -q -T -D -b 2
|
||||
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%ifarch s390x
|
||||
%patch4 -p1
|
||||
%patch6 -p1
|
||||
|
||||
%if 0%{?unbundle_vendor_sources}
|
||||
%patch5 -p1
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
%endif
|
||||
|
||||
# Set up build subdirs and links
|
||||
mkdir -p %{_builddir}/src/github.com/grafana
|
||||
ln -sf %{_builddir}/%{name}-%{version} \
|
||||
ln -s %{_builddir}/%{name}-%{version} \
|
||||
%{_builddir}/src/github.com/grafana/grafana
|
||||
|
||||
# remove some (apparent) development files, for rpmlint
|
||||
rm -f public/sass/.sass-lint.yml public/test/.jshintrc
|
||||
|
||||
%if 0%{?unbundle_vendor_sources}
|
||||
# Unbundle all grafana vendor sources, as per BuildRequires above.
|
||||
# Note there are some exceptions.
|
||||
cp --parents -a \
|
||||
vendor/github.com/grafana/grafana-plugin-model \
|
||||
vendor/github.com/grafana/grafana-plugin-sdk-go \
|
||||
%{_builddir}
|
||||
rm -r vendor # remove all vendor sources
|
||||
mv %{_builddir}/vendor vendor # put back what we're keeping
|
||||
%endif
|
||||
|
||||
%build
|
||||
# Build the server-side binaries
|
||||
cd %{_builddir}/src/github.com/grafana/grafana
|
||||
%global archbindir bin/`go env GOOS`-`go env GOARCH`
|
||||
echo _builddir=%{_builddir} archbindir=%{archbindir} gopath=%{gopath}
|
||||
[ ! -d %{archbindir} ] && mkdir -p %{archbindir}
|
||||
# Build the frontend
|
||||
%if %{compile_frontend}
|
||||
%{SOURCE4}
|
||||
%endif
|
||||
|
||||
# non-modular build
|
||||
export GOPATH=%{_builddir}:%{gopath}
|
||||
export GO111MODULE=off; rm -f go.mod
|
||||
# Build the backend
|
||||
cd %{_builddir}/src/github.com/grafana/grafana
|
||||
export GOPATH=%{_builddir}
|
||||
|
||||
# see grafana-X.X.X/build.go
|
||||
export LDFLAGS="-X main.version=%{version} -X main.buildstamp=${SOURCE_DATE_EPOCH}"
|
||||
for cmd in grafana-cli grafana-server; do
|
||||
%gobuild -o %{archbindir}/${cmd} ./pkg/cmd/${cmd}
|
||||
%gobuild -o %{_builddir}/bin/${cmd} ./pkg/cmd/${cmd}
|
||||
done
|
||||
|
||||
%install
|
||||
# Fix up arch bin directories
|
||||
[ ! -d bin/x86_64 ] && ln -sf linux-amd64 bin/x86_64
|
||||
[ ! -d bin/i386 ] && ln -sf linux-386 bin/i386
|
||||
[ ! -d bin/ppc64le ] && ln -sf linux-ppc64le bin/ppc64le
|
||||
[ ! -d bin/s390x ] && ln -sf linux-s390x bin/s390x
|
||||
[ ! -d bin/arm ] && ln -sf linux-arm bin/arm
|
||||
[ ! -d bin/arm64 ] && ln -sf linux-arm64 bin/aarch64
|
||||
[ ! -d bin/aarch64 ] && ln -sf linux-aarch64 bin/aarch64
|
||||
|
||||
# dirs, shared files, public html, webpack
|
||||
install -d %{buildroot}%{_sbindir}
|
||||
install -d %{buildroot}%{_datadir}/%{name}
|
||||
install -d %{buildroot}%{_libexecdir}/%{name}
|
||||
cp -a conf public %{buildroot}%{_datadir}/%{name}
|
||||
cp -a conf public plugins-bundled %{buildroot}%{_datadir}/%{name}
|
||||
|
||||
# wrappers
|
||||
install -p -m 755 packaging/wrappers/grafana-cli %{buildroot}%{_sbindir}/%{name}-cli
|
||||
|
||||
# binaries
|
||||
install -p -m 755 %{archbindir}/%{name}-server %{buildroot}%{_sbindir}
|
||||
install -p -m 755 %{archbindir}/%{name}-cli %{buildroot}%{_libexecdir}/%{name}
|
||||
install -p -m 755 %{_builddir}/bin/%{name}-server %{buildroot}%{_sbindir}
|
||||
install -p -m 755 %{_builddir}/bin/%{name}-cli %{buildroot}%{_libexecdir}/%{name}
|
||||
|
||||
# man pages
|
||||
install -d %{buildroot}%{_mandir}/man1
|
||||
@ -438,12 +478,17 @@ install -p -m 644 docs/man/man1/* %{buildroot}%{_mandir}/man1
|
||||
|
||||
# config dirs
|
||||
install -d %{buildroot}%{_sysconfdir}/%{name}
|
||||
install -d %{buildroot}%{_sysconfdir}/%{name}/provisioning
|
||||
install -d %{buildroot}%{_sysconfdir}/%{name}/provisioning/dashboards
|
||||
install -d %{buildroot}%{_sysconfdir}/%{name}/provisioning/datasources
|
||||
install -d %{buildroot}%{_sysconfdir}/%{name}/provisioning/notifiers
|
||||
install -d %{buildroot}%{_sysconfdir}/%{name}/provisioning/plugins
|
||||
install -d %{buildroot}%{_sysconfdir}/sysconfig
|
||||
|
||||
# config defaults
|
||||
install -p -m 640 %{SOURCE2} %{buildroot}%{_sysconfdir}/%{name}/grafana.ini
|
||||
install -p -m 640 %{SOURCE3} %{buildroot}%{_sysconfdir}/%{name}/grafana.ini
|
||||
install -p -m 640 conf/ldap.toml %{buildroot}%{_sysconfdir}/%{name}/ldap.toml
|
||||
install -p -m 644 %{SOURCE2} %{buildroot}%{_datadir}/%{name}/conf/defaults.ini
|
||||
install -p -m 644 %{SOURCE3} %{buildroot}%{_datadir}/%{name}/conf/defaults.ini
|
||||
install -p -m 644 packaging/rpm/sysconfig/grafana-server \
|
||||
%{buildroot}%{_sysconfdir}/sysconfig/grafana-server
|
||||
|
||||
@ -502,13 +547,20 @@ chmod 640 %{_sysconfdir}/%{name}/ldap.toml
|
||||
|
||||
|
||||
%check
|
||||
# Frontend tests
|
||||
%if %{compile_frontend}
|
||||
yarn test
|
||||
%endif
|
||||
|
||||
# Backend tests
|
||||
cd %{_builddir}/src/github.com/grafana/grafana
|
||||
export GOPATH=%{_builddir}:%{gopath}
|
||||
# remove tests currently failing - these two are due to a symlink
|
||||
# BUILD/src/github.com/grafana/grafana -> BUILD/grafana-6.6.1
|
||||
rm -f pkg/services/provisioning/dashboards/file_reader_linux_test.go
|
||||
rm -f pkg/services/provisioning/dashboards/file_reader_test.go
|
||||
export GO111MODULE=off
|
||||
export GOPATH=%{_builddir}
|
||||
|
||||
# in setting_test.go there is a unit test which checks if 10 days are 240 hours
|
||||
# which is usually true except if the dayligt saving time change falls into the last 10 days, then it's either 239 or 241 hours...
|
||||
# let's set the time zone to a time zone without daylight saving time
|
||||
export TZ=GMT
|
||||
|
||||
%gotest ./pkg/...
|
||||
|
||||
|
||||
@ -519,42 +571,30 @@ export GO111MODULE=off
|
||||
%{_libexecdir}/%{name}
|
||||
|
||||
# config files
|
||||
%dir %{_sysconfdir}/%{name}
|
||||
%config(noreplace) %attr(640, root, %{GRAFANA_GROUP}) %{_sysconfdir}/%{name}/grafana.ini
|
||||
%config(noreplace) %attr(640, root, %{GRAFANA_GROUP}) %{_sysconfdir}/%{name}/ldap.toml
|
||||
%config(noreplace) %{_sysconfdir}/sysconfig/grafana-server
|
||||
|
||||
# Grafana configuration to dynamically create /run/grafana/grafana.pid on tmpfs
|
||||
%{_tmpfilesdir}/%{name}.conf
|
||||
%dir %{_sysconfdir}/%{name}
|
||||
%attr(0755, root, %{GRAFANA_GROUP}) %dir %{_sysconfdir}/%{name}/provisioning
|
||||
%attr(0755, root, %{GRAFANA_GROUP}) %dir %{_sysconfdir}/%{name}/provisioning/dashboards
|
||||
%attr(0750, root, %{GRAFANA_GROUP}) %dir %{_sysconfdir}/%{name}/provisioning/datasources
|
||||
%attr(0755, root, %{GRAFANA_GROUP}) %dir %{_sysconfdir}/%{name}/provisioning/notifiers
|
||||
%attr(0755, root, %{GRAFANA_GROUP}) %dir %{_sysconfdir}/%{name}/provisioning/plugins
|
||||
%attr(0640, root, %{GRAFANA_GROUP}) %config(noreplace) %{_sysconfdir}/%{name}/grafana.ini
|
||||
%attr(0640, root, %{GRAFANA_GROUP}) %config(noreplace) %{_sysconfdir}/%{name}/ldap.toml
|
||||
|
||||
# config database directory and plugins
|
||||
%attr(750, %{GRAFANA_USER}, %{GRAFANA_GROUP}) %dir %{_sharedstatedir}/%{name}
|
||||
%attr(-, %{GRAFANA_USER}, %{GRAFANA_GROUP}) %dir %{_sharedstatedir}/%{name}/plugins
|
||||
%attr(0750, %{GRAFANA_USER}, %{GRAFANA_GROUP}) %dir %{_sharedstatedir}/%{name}
|
||||
%attr(-, %{GRAFANA_USER}, %{GRAFANA_GROUP}) %dir %{_sharedstatedir}/%{name}/plugins
|
||||
|
||||
# shared directory and all files therein, except some datasources
|
||||
# shared directory and all files therein
|
||||
%{_datadir}/%{name}
|
||||
|
||||
# built-in datasources that are sub-packaged
|
||||
%global dsdir %{_datadir}/%{name}/public/app/plugins/datasource
|
||||
%exclude %{dsdir}/cloudwatch
|
||||
%exclude %{dsdir}/elasticsearch
|
||||
%exclude %{dsdir}/graphite
|
||||
%exclude %{dsdir}/grafana-azure-monitor-datasource
|
||||
%exclude %{dsdir}/influxdb
|
||||
%exclude %{dsdir}/loki
|
||||
%exclude %{dsdir}/mssql
|
||||
%exclude %{dsdir}/mysql
|
||||
%exclude %{dsdir}/opentsdb
|
||||
%exclude %{dsdir}/postgres
|
||||
%exclude %{dsdir}/prometheus
|
||||
%exclude %{dsdir}/stackdriver
|
||||
|
||||
%dir %{_datadir}/%{name}/conf
|
||||
%attr(-, root, %{GRAFANA_GROUP}) %{_datadir}/%{name}/conf/*
|
||||
|
||||
# systemd service file
|
||||
%{_unitdir}/grafana-server.service
|
||||
|
||||
# Grafana configuration to dynamically create /run/grafana/grafana.pid on tmpfs
|
||||
%{_tmpfilesdir}/%{name}.conf
|
||||
|
||||
# log directory - grafana.log is created by grafana-server, and it does it's own log rotation
|
||||
%attr(0755, %{GRAFANA_USER}, %{GRAFANA_GROUP}) %dir %{_localstatedir}/log/%{name}
|
||||
|
||||
@ -564,61 +604,29 @@ export GO111MODULE=off
|
||||
|
||||
# other docs and license
|
||||
%license LICENSE
|
||||
%doc CHANGELOG.md CODE_OF_CONDUCT.md CONTRIBUTING.md NOTICE.md
|
||||
%doc PLUGIN_DEV.md README.md ROADMAP.md UPGRADING_DEPENDENCIES.md
|
||||
|
||||
#
|
||||
# datasources split out into subpackages
|
||||
#
|
||||
%files cloudwatch
|
||||
%{_datadir}/%{name}/public/app/plugins/datasource/cloudwatch
|
||||
%doc %{_datadir}/%{name}/public/app/plugins/datasource/cloudwatch/README.md
|
||||
|
||||
%files elasticsearch
|
||||
%{_datadir}/%{name}/public/app/plugins/datasource/elasticsearch
|
||||
%doc %{_datadir}/%{name}/public/app/plugins/datasource/elasticsearch/README.md
|
||||
|
||||
%files azure-monitor
|
||||
%{_datadir}/%{name}/public/app/plugins/datasource/grafana-azure-monitor-datasource
|
||||
|
||||
%files graphite
|
||||
%{_datadir}/%{name}/public/app/plugins/datasource/graphite
|
||||
%doc %{_datadir}/%{name}/public/app/plugins/datasource/graphite/README.md
|
||||
|
||||
%files influxdb
|
||||
%{_datadir}/%{name}/public/app/plugins/datasource/influxdb
|
||||
%doc %{_datadir}/%{name}/public/app/plugins/datasource/influxdb/README.md
|
||||
|
||||
%files loki
|
||||
%{_datadir}/%{name}/public/app/plugins/datasource/loki
|
||||
%doc %{_datadir}/%{name}/public/app/plugins/datasource/loki/README.md
|
||||
|
||||
%files mssql
|
||||
%{_datadir}/%{name}/public/app/plugins/datasource/mssql
|
||||
%doc %{_datadir}/%{name}/public/app/plugins/datasource/mssql/README.md
|
||||
|
||||
%files mysql
|
||||
%{_datadir}/%{name}/public/app/plugins/datasource/mysql
|
||||
%doc %{_datadir}/%{name}/public/app/plugins/datasource/mysql/README.md
|
||||
|
||||
%files opentsdb
|
||||
%{_datadir}/%{name}/public/app/plugins/datasource/opentsdb
|
||||
%doc %{_datadir}/%{name}/public/app/plugins/datasource/opentsdb/README.md
|
||||
|
||||
%files postgres
|
||||
%{_datadir}/%{name}/public/app/plugins/datasource/postgres
|
||||
%doc %{_datadir}/%{name}/public/app/plugins/datasource/postgres/README.md
|
||||
|
||||
%files prometheus
|
||||
%{_datadir}/%{name}/public/app/plugins/datasource/prometheus
|
||||
%doc %{_datadir}/%{name}/public/app/plugins/datasource/prometheus/README.md
|
||||
|
||||
%files stackdriver
|
||||
%{_datadir}/%{name}/public/app/plugins/datasource/stackdriver
|
||||
%doc %{_datadir}/%{name}/public/app/plugins/datasource/stackdriver/README.md
|
||||
%doc CHANGELOG.md CODE_OF_CONDUCT.md CONTRIBUTING.md GOVERNANCE.md ISSUE_TRIAGE.md MAINTAINERS.md NOTICE.md
|
||||
%doc PLUGIN_DEV.md README.md ROADMAP.md SECURITY.md SUPPORT.md UPGRADING_DEPENDENCIES.md WORKFLOW.md
|
||||
|
||||
|
||||
%changelog
|
||||
* Tue Nov 10 2020 Andreas Gerstmayr <agerstmayr@redhat.com> 7.3.1-1
|
||||
- update to 7.3.1 tagged upstream community sources, see CHANGELOG
|
||||
- optionally bundle node.js dependencies and build and test frontend as part of the specfile
|
||||
- change default provisioning path to /etc/grafana/provisioning (changed in version 7.1.1-1)
|
||||
- resolve https://bugzilla.redhat.com/show_bug.cgi?id=1843170
|
||||
|
||||
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 7.1.1-2
|
||||
- Second attempt - Rebuilt for
|
||||
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Thu Jul 30 2020 Andreas Gerstmayr <agerstmayr@redhat.com> 7.1.1-1
|
||||
- update to 7.1.1 tagged upstream community sources, see CHANGELOG
|
||||
- merge all datasources into main grafana package
|
||||
- bundle golang dependencies
|
||||
|
||||
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 6.7.4-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Fri Jun 05 2020 Andreas Gerstmayr <agerstmayr@redhat.com> 6.7.4-1
|
||||
- update to 6.7.4 tagged upstream community sources, see CHANGELOG
|
||||
- security fix for CVE-2020-13379
|
||||
|
@ -8,7 +8,7 @@ from packaging import version
|
||||
def read_declared_pkgs(package_json_path):
|
||||
with open(package_json_path) as f:
|
||||
package_json = json.load(f)
|
||||
return list(package_json['dependencies'].keys())
|
||||
return list(package_json['dependencies'].keys()) + list(package_json['devDependencies'].keys())
|
||||
|
||||
|
||||
def read_installed_pkgs(yarn_lock_path):
|
||||
@ -28,7 +28,7 @@ def list_provides(declared_pkgs, installed_pkgs):
|
||||
versions = [version.parse(pkg_version)
|
||||
for pkg_name, pkg_version in installed_pkgs if pkg_name == declared_pkg]
|
||||
oldest_version = sorted(versions)[0]
|
||||
yield f"Provides: bundled(nodejs-{declared_pkg}) = {oldest_version}"
|
||||
yield f"Provides: bundled(npm({declared_pkg})) = {oldest_version}"
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
@ -1,20 +0,0 @@
|
||||
#!/bin/bash -eu
|
||||
|
||||
[ $# -ne 1 ] && echo "Usage: $0 grafana-X.Y.Z/" && exit 1
|
||||
GRAFANA_SOURCES="$(readlink -f "$1")"
|
||||
|
||||
cd "$(mktemp -d)"
|
||||
mkdir -p src/github.com/grafana
|
||||
ln -s "${GRAFANA_SOURCES}" src/github.com/grafana/grafana
|
||||
ln -s "${GRAFANA_SOURCES}/vendor/github.com/grafana/grafana-plugin-model" src/github.com/grafana/grafana-plugin-model
|
||||
ln -s "${GRAFANA_SOURCES}/vendor/github.com/grafana/grafana-plugin-sdk-go" src/github.com/grafana/grafana-plugin-sdk-go
|
||||
|
||||
for pkg in grafana grafana-plugin-model grafana-plugin-sdk-go
|
||||
do
|
||||
GOPATH=$(pwd) golist --imported --package-path "github.com/grafana/$pkg" --skip-self --template 'BuildRequires: golang({{.}})\n'
|
||||
done | sed \
|
||||
-e "s,github.com/linkedin/goavro/v2,github.com/linkedin/goavro,g" \
|
||||
-e "s,github.com/go-xorm/xorm,xorm.io/xorm,g" \
|
||||
-e "s,github.com/robfig/cron/v3,gopkg.in/robfig/cron.v3,g" \
|
||||
-e "s,github.com/unknwon/com,github.com/Unknwon/com,g" \
|
||||
| sort | uniq
|
@ -1,58 +0,0 @@
|
||||
#! /bin/bash
|
||||
#
|
||||
# Copyright (c) 2019-2020 Red Hat.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by the
|
||||
# Free Software Foundation; either version 2 of the License, or (at your
|
||||
# option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
# for more details.
|
||||
#
|
||||
|
||||
[ $# -ne 1 ] && echo "Usage: $0 version" && exit 1
|
||||
|
||||
# grafana version (must be tagged on github.com/grafana/grafana as "v$VER")
|
||||
VER=$1
|
||||
|
||||
command -v yarn || { echo Error, please install the yarn package manager. && exit 1; }
|
||||
|
||||
# get src tree and set cwd
|
||||
echo Fetching pristine upstream git tagged branch for grafana version v$VER ...
|
||||
git clone https://github.com/grafana/grafana grafana-$VER
|
||||
cd grafana-$VER
|
||||
git checkout -b v$VER v$VER
|
||||
|
||||
# exclude the phantomjs-prebuilt binary module from the webpack
|
||||
sed -i '/phantomjs-prebuilt/d' package.json
|
||||
|
||||
# nuke grunt task for copying phantomjs
|
||||
rm -f scripts/grunt/options/phantomjs.js
|
||||
sed -i '/phantomjs/d' scripts/grunt/*.js
|
||||
|
||||
# populate node_modules using package.json
|
||||
echo Running yarn to populate local node_modules ....
|
||||
yarn --non-interactive --no-progress --ignore-engines install --pure-lockfile > yarn.out 2>&1
|
||||
|
||||
# build the webpack
|
||||
echo;echo Building production webpack ....
|
||||
node_modules/webpack/bin/webpack.js --display errors-only --mode production --config scripts/webpack/webpack.prod.js
|
||||
|
||||
cd ..
|
||||
|
||||
# webpack tarball. Includes public/views because index.html references the webpack
|
||||
tar czf grafana_webpack-$VER.tar.gz grafana-$VER/public/build grafana-$VER/public/views
|
||||
|
||||
# source tarball (if needed)
|
||||
if [ ! -f grafana-$VER.tar.gz ]; then
|
||||
wget --quiet -O grafana-$VER.tar.gz https://github.com/grafana/grafana/archive/v$VER/grafana-$VER.tar.gz
|
||||
fi
|
||||
|
||||
# done
|
||||
echo Both grafana-$VER.tar.gz and grafana_webpack-$VER.tar.gz
|
||||
echo should now be in your working directory.
|
||||
|
||||
exit 0
|
@ -16,7 +16,7 @@ RUN mkdir /grafana /deps
|
||||
|
||||
${INSTALL_UNPUBLISHED_DEPENDENCIES}
|
||||
|
||||
COPY grafana.spec *.patch grafana-*.tar.gz grafana_webpack-*.tar.gz make_grafana_webpack.sh distro-defaults.ini /grafana
|
||||
COPY grafana.spec *.patch grafana-*.tar.gz distro-defaults.ini Makefile create_webpack_manifest.py /grafana
|
||||
WORKDIR /grafana
|
||||
RUN dnf -y builddep grafana.spec
|
||||
RUN rpkg local
|
||||
|
5
sources
5
sources
@ -1,2 +1,3 @@
|
||||
SHA512 (grafana-6.7.4.tar.gz) = f05f09d476a8be4b7d331f8a769c3353b0fffd17b3317fe1c14aa8a776187cdfdf4b9a13fb58d0b40c7734f603af2c47220aa8c40797acad0258275705167166
|
||||
SHA512 (grafana_webpack-6.7.4.tar.gz) = 3182caa9fd7d9398b6cd3ed596558c2d051c99c359bd8de80f149e5fb55f7f003b5e7679786e8c9861b2afe1ddd5056c36b702145dd0a89d5d184cbe1e9b14bd
|
||||
SHA512 (grafana-7.3.1.tar.gz) = 95e12158c58f99e5479aa042eccaed402957f3d05b8ecaf36aed8737ad3a33970a7204aeb1e6da1e58beb3144f29acf98ffa73b96fd6469ce73e66be0ac85f36
|
||||
SHA512 (grafana-vendor-go-7.3.1.tar.gz) = 76ae7c96f62a04ca3fa03dfd5637e257678ae740a494f81293c928e7b5735ef5cea51a1e5b7fb756f8ed0ad079dfa8f26249885253b6357519a2aa58737853c4
|
||||
SHA512 (grafana-webpack-7.3.1.tar.gz) = 6b1712177a53c1d7c6ee22c28ab3bd553c1b1b5b70539de4c9248ab97659a9ba862ab703280b607ac5664f6632ace8abc62c589983a3e635b73be0ed05d55b64
|
||||
|
Loading…
Reference in New Issue
Block a user