diff --git a/.gitignore b/.gitignore index f73aa3f..9380e56 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,5 @@ /grafana_webpack-6.3.5.tar.gz /grafana-6.3.6.tar.gz /grafana_webpack-6.3.6.tar.gz +/grafana-6.6.2.tar.gz +/grafana_webpack-6.6.2.tar.gz diff --git a/000-set-version-string.patch b/000-set-version-string.patch new file mode 100644 index 0000000..d66154e --- /dev/null +++ b/000-set-version-string.patch @@ -0,0 +1,15 @@ +diff --git a/pkg/cmd/grafana-server/main.go b/pkg/cmd/grafana-server/main.go +index 14d6036e82..d2e61564f2 100644 +--- a/pkg/cmd/grafana-server/main.go ++++ b/pkg/cmd/grafana-server/main.go +@@ -32,8 +32,8 @@ import ( + _ "github.com/grafana/grafana/pkg/tsdb/testdatasource" + ) + +-var version = "5.0.0" +-var commit = "NA" ++var version = "6.6.2" ++var commit = "3fa63cfc34668781c7f9b3caafe6d9d400b06b7f" + var buildBranch = "master" + var buildstamp string + diff --git a/001-login-oauth-use-oauth2-exchange.patch b/001-login-oauth-use-oauth2-exchange.patch index ff59d44..f6dff49 100644 --- a/001-login-oauth-use-oauth2-exchange.patch +++ b/001-login-oauth-use-oauth2-exchange.patch @@ -1,8 +1,8 @@ diff --git a/pkg/api/login_oauth.go b/pkg/api/login_oauth.go -index a46c97238..76fc8480c 100644 +index c8c9f05b33..1b5a67aec2 100644 --- a/pkg/api/login_oauth.go +++ b/pkg/api/login_oauth.go -@@ -125,7 +125,7 @@ func (hs *HTTPServer) OAuthLogin(ctx *m.ReqContext) { +@@ -134,7 +134,7 @@ func (hs *HTTPServer) OAuthLogin(ctx *m.ReqContext) { oauthCtx := context.WithValue(context.Background(), oauth2.HTTPClient, oauthClient) // get token from provider diff --git a/002-remove-jaeger-tracing.patch b/002-remove-jaeger-tracing.patch index 0d20b5e..e6fae49 100644 --- a/002-remove-jaeger-tracing.patch +++ b/002-remove-jaeger-tracing.patch @@ -1,5 +1,5 @@ diff --git a/pkg/cmd/grafana-server/server.go b/pkg/cmd/grafana-server/server.go -index 85d6db43e..6de99b58b 100644 +index 0dace4ebab..f1a4bfde53 100644 --- a/pkg/cmd/grafana-server/server.go +++ b/pkg/cmd/grafana-server/server.go @@ -23,7 +23,6 @@ import ( @@ -12,10 +12,10 @@ index 85d6db43e..6de99b58b 100644 "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 d1511a533..000000000 +index 923459786b..0000000000 --- a/pkg/infra/tracing/tracing.go +++ /dev/null -@@ -1,148 +0,0 @@ +@@ -1,161 +0,0 @@ -package tracing - -import ( @@ -56,7 +56,7 @@ index d1511a533..000000000 - ts.parseSettings() - - if ts.enabled { -- ts.initGlobalTracer() +- return ts.initGlobalTracer() - } - - return nil @@ -80,7 +80,7 @@ index d1511a533..000000000 - ts.disableSharedZipkinSpans = section.Key("disable_shared_zipkin_spans").MustBool(false) -} - --func (ts *TracingService) initGlobalTracer() error { +-func (ts *TracingService) initJaegerCfg() (jaegercfg.Configuration, error) { - cfg := jaegercfg.Configuration{ - ServiceName: "grafana", - Disabled: !ts.enabled, @@ -94,6 +94,19 @@ index d1511a533..000000000 - }, - } - +- _, 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{} @@ -120,7 +133,7 @@ index d1511a533..000000000 - return err - } - -- opentracing.InitGlobalTracer(tracer) +- opentracing.SetGlobalTracer(tracer) - - ts.closer = closer - @@ -166,13 +179,18 @@ index d1511a533..000000000 -} diff --git a/pkg/infra/tracing/tracing_test.go b/pkg/infra/tracing/tracing_test.go deleted file mode 100644 -index 27e4de777..000000000 +index a6d71cf165..0000000000 --- a/pkg/infra/tracing/tracing_test.go +++ /dev/null -@@ -1,36 +0,0 @@ +@@ -1,94 +0,0 @@ -package tracing - --import "testing" +-import ( +- "github.com/stretchr/testify/assert" +- "github.com/stretchr/testify/require" +- "os" +- "testing" +-) - -func TestGroupSplit(t *testing.T) { - tests := []struct { @@ -200,9 +218,62 @@ index 27e4de777..000000000 - tags := splitTagSettings(test.input) - for k, v := range test.expected { - value, exists := tags[k] -- if !exists || value != v { -- t.Errorf("tags does not match %v ", test) -- } +- 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") +-} diff --git a/003-new-files.patch b/003-new-files.patch index 2cac75d..0d21b7f 100644 --- a/003-new-files.patch +++ b/003-new-files.patch @@ -1,9 +1,9 @@ diff --git a/conf/distro-defaults.ini b/conf/distro-defaults.ini new file mode 100644 -index 0000000000..e337ba0b57 +index 0000000000..e9d3cb9593 --- /dev/null +++ b/conf/distro-defaults.ini -@@ -0,0 +1,685 @@ +@@ -0,0 +1,706 @@ +##################### Grafana Configuration Defaults for distros ##################### +# +# Do not modify this file in grafana installs @@ -34,7 +34,7 @@ index 0000000000..e337ba0b57 + +#################################### Server ############################## +[server] -+# Protocol (http, https, socket) ++# Protocol (http, https, h2, socket) +protocol = http + +# The ip address to bind to, empty will bind to all interfaces @@ -122,7 +122,7 @@ index 0000000000..e337ba0b57 + +# cache connectionstring options +# database: will use Grafana primary database. -+# redis: config like redis server e.g. `addr=127.0.0.1:6379,pool_size=100,db=0`. Only addr is required. ++# redis: config like redis server e.g. `addr=127.0.0.1:6379,pool_size=100,db=0,ssl=false`. Only addr is required. ssl may be 'true', 'false', or 'insecure'. +# memcache: 127.0.0.1:11211 +connstr = + @@ -161,6 +161,9 @@ index 0000000000..e337ba0b57 + +#################################### Security ############################ +[security] ++# disable creation of admin user on first start of grafana ++disable_initial_admin_creation = false ++ +# default admin user, created on startup +admin_user = admin + @@ -182,7 +185,7 @@ index 0000000000..e337ba0b57 +# set to true if you host Grafana behind HTTPS. default is false. +cookie_secure = false + -+# set cookie SameSite attribute. defaults to `lax`. can be set to "lax", "strict" and "none" ++# set cookie SameSite attribute. defaults to `lax`. can be set to "lax", "strict", "none" and "disabled" +cookie_samesite = lax + +# set to true if you want to allow browsers to render Grafana in a ,