Просмотр исходного кода

Merge branch 'master' of github.com:grafana/grafana into dash-edit-mode

Torkel Ödegaard 9 лет назад
Родитель
Сommit
2fbe8cde8a

+ 1 - 0
conf/defaults.ini

@@ -229,6 +229,7 @@ auth_url = https://accounts.google.com/o/oauth2/auth
 token_url = https://accounts.google.com/o/oauth2/token
 api_url = https://www.googleapis.com/oauth2/v1/userinfo
 allowed_domains =
+hosted_domain = 
 
 #################################### Grafana.net Auth ####################
 [auth.grafananet]

+ 1 - 1
docker/production/README.md

@@ -23,7 +23,7 @@ All options defined in conf/grafana.ini can be overridden using environment vari
 ```
 docker run -i -p 3000:3000 \
   -e "GF_SERVER_ROOT_URL=http://grafana.server.name"  \
-  -e "GF_SECURITY_ADMIN_PASSWORD=secret  \
+  -e "GF_SECURITY_ADMIN_PASSWORD=secret"  \
   grafana/grafana:develop
 ```
 

+ 1 - 1
pkg/api/cloudwatch/metrics.go

@@ -78,7 +78,7 @@ func init() {
 		"AWS/ML":               {"PredictCount", "PredictFailureCount"},
 		"AWS/OpsWorks":         {"cpu_idle", "cpu_nice", "cpu_system", "cpu_user", "cpu_waitio", "load_1", "load_5", "load_15", "memory_buffers", "memory_cached", "memory_free", "memory_swap", "memory_total", "memory_used", "procs"},
 		"AWS/Redshift":         {"CPUUtilization", "DatabaseConnections", "HealthStatus", "MaintenanceMode", "NetworkReceiveThroughput", "NetworkTransmitThroughput", "PercentageDiskSpaceUsed", "ReadIOPS", "ReadLatency", "ReadThroughput", "WriteIOPS", "WriteLatency", "WriteThroughput"},
-		"AWS/RDS":              {"BinLogDiskUsage", "CPUUtilization", "CPUCreditUsage", "CPUCreditBalance", "DatabaseConnections", "DiskQueueDepth", "FreeableMemory", "FreeStorageSpace", "ReplicaLag", "SwapUsage", "ReadIOPS", "WriteIOPS", "ReadLatency", "WriteLatency", "ReadThroughput", "WriteThroughput", "NetworkReceiveThroughput", "NetworkTransmitThroughput"},
+		"AWS/RDS":              {"ActiveTransactions", "AuroraBinlogReplicaLag", "AuroraReplicaLag", "AuroraReplicaLagMaximum", "AuroraReplicaLagMinimum", "BinLogDiskUsage", "BlockedTransactions", "BufferCacheHitRatio", "CommitLatency", "CommitThroughput", "CPUCreditBalance", "CPUCreditUsage", "CPUUtilization", "DatabaseConnections", "DDLLatency", "DDLThroughput", "Deadlocks", "DiskQueueDepth", "DMLLatency", "DMLThroughput", "FailedSqlStatements", "FreeableMemory", "FreeStorageSpace", "LoginFailures", "NetworkReceiveThroughput", "NetworkTransmitThroughput", "ReadIOPS", "ReadLatency", "ReadThroughput", "ReplicaLag", "ResultSetCacheHitRatio", "SelectLatency", "SelectThroughput", "SwapUsage", "TotalConnections", "VolumeReadIOPS", "VolumeWriteIOPS", "WriteIOPS", "WriteLatency", "WriteThroughput"},
 		"AWS/Route53":          {"HealthCheckStatus", "HealthCheckPercentageHealthy", "ConnectionTime", "SSLHandshakeTime", "TimeToFirstByte"},
 		"AWS/S3":               {"BucketSizeBytes", "NumberOfObjects"},
 		"AWS/SNS":              {"NumberOfMessagesPublished", "PublishSize", "NumberOfNotificationsDelivered", "NumberOfNotificationsFailed"},

+ 5 - 1
pkg/api/login_oauth.go

@@ -53,7 +53,11 @@ func OAuthLogin(ctx *middleware.Context) {
 	if code == "" {
 		state := GenStateString()
 		ctx.Session.Set(middleware.SESS_KEY_OAUTH_STATE, state)
-		ctx.Redirect(connect.AuthCodeURL(state, oauth2.AccessTypeOnline))
+		if setting.OAuthService.OAuthInfos[name].HostedDomain == "" {
+			ctx.Redirect(connect.AuthCodeURL(state, oauth2.AccessTypeOnline))
+		}else{
+			ctx.Redirect(connect.AuthCodeURL(state, oauth2.SetParam("hd", setting.OAuthService.OAuthInfos[name].HostedDomain), oauth2.AccessTypeOnline));
+		}
 		return
 	}
 

+ 4 - 1
pkg/services/sqlstore/migrator/mysql_dialect.go

@@ -30,7 +30,10 @@ func (db *Mysql) AutoIncrStr() string {
 }
 
 func (db *Mysql) BooleanStr(value bool) string {
-	return strconv.FormatBool(value)
+	if value {
+    return "1"
+  }
+  return "0"
 }
 
 func (db *Mysql) SqlType(c *Column) string {

+ 1 - 0
pkg/setting/setting_oauth.go

@@ -6,6 +6,7 @@ type OAuthInfo struct {
 	AuthUrl, TokenUrl      string
 	Enabled                bool
 	AllowedDomains         []string
+	HostedDomain           string
 	ApiUrl                 string
 	AllowSignup            bool
 	Name                   string

+ 1 - 0
pkg/social/google_oauth.go

@@ -12,6 +12,7 @@ import (
 type SocialGoogle struct {
 	*oauth2.Config
 	allowedDomains []string
+	hostedDomain   string
 	apiUrl         string
 	allowSignup    bool
 }

+ 2 - 0
pkg/social/social.go

@@ -51,6 +51,7 @@ func NewOAuthService() {
 			ApiUrl:         sec.Key("api_url").String(),
 			Enabled:        sec.Key("enabled").MustBool(),
 			AllowedDomains: sec.Key("allowed_domains").Strings(" "),
+			HostedDomain:   sec.Key("hosted_domain").String(),
 			AllowSignup:    sec.Key("allow_sign_up").MustBool(),
 			Name:           sec.Key("name").MustString(name),
 			TlsClientCert:  sec.Key("tls_client_cert").String(),
@@ -92,6 +93,7 @@ func NewOAuthService() {
 			SocialMap["google"] = &SocialGoogle{
 				Config:               &config,
 				allowedDomains:       info.AllowedDomains,
+				hostedDomain:         info.HostedDomain,
 				apiUrl:               info.ApiUrl,
 				allowSignup:          info.AllowSignup,
 			}

+ 4 - 0
public/app/features/dashboard/dashboard_srv.ts

@@ -28,6 +28,10 @@ export class DashboardSrv {
       return Promise.resolve();
     }
 
+    if (this.dash.title === 'New dashboard') {
+      return this.saveDashboardAs();
+    }
+
     var clone = this.dash.getSaveModelClone();
 
     return this.backendSrv.saveDashboard(clone, options).then(data => {