diff --git a/api/server.go b/api/server.go
index 3273e766c3..a2f5fe552b 100644
--- a/api/server.go
+++ b/api/server.go
@@ -42,7 +42,7 @@ func StartServer() {
var handler http.Handler = Srv.Router
- if utils.Cfg.RateLimitSettings.UseRateLimiter {
+ if utils.Cfg.RateLimitSettings.EnableRateLimiter {
l4g.Info("RateLimiter is enabled")
vary := throttled.VaryBy{}
diff --git a/config/config.json b/config/config.json
index f9c49678fb..e1907152b4 100644
--- a/config/config.json
+++ b/config/config.json
@@ -1,12 +1,4 @@
{
- "LogSettings": {
- "ConsoleEnable": true,
- "ConsoleLevel": "DEBUG",
- "FileEnable": true,
- "FileLevel": "INFO",
- "FileFormat": "",
- "FileLocation": ""
- },
"ServiceSettings": {
"SiteName": "Mattermost",
"Mode": "dev",
@@ -19,7 +11,18 @@
"ResetSalt": "IPxFzSfnDFsNsRafZxz8NaYqFKhf9y2t",
"AnalyticsUrl": "",
"AllowedLoginAttempts": 10,
- "EnableOAuthServiceProvider": false
+ "EnableOAuthServiceProvider": false,
+ "SegmentDeveloperKey": "",
+ "GoogleDeveloperKey": ""
+ },
+ "TeamSettings": {
+ "MaxUsersPerTeam": 150,
+ "AllowPublicLink": true,
+ "AllowValetDefault": false,
+ "TourLink": "",
+ "DefaultThemeColor": "#2389D7",
+ "DisableTeamCreation": false,
+ "RestrictCreationToDomains": ""
},
"SqlSettings": {
"DriverName": "mysql",
@@ -32,6 +35,14 @@
"Trace": false,
"AtRestEncryptKey": "Ya0xMrybACJ3sZZVWQC7e31h5nSDWZFS"
},
+ "LogSettings": {
+ "ConsoleEnable": true,
+ "ConsoleLevel": "DEBUG",
+ "FileEnable": true,
+ "FileLevel": "INFO",
+ "FileFormat": "",
+ "FileLocation": ""
+ },
"ImageSettings": {
"DriverName": "local",
"Directory": "./data/",
@@ -63,7 +74,7 @@
"ApplePushCertPrivate": ""
},
"RateLimitSettings": {
- "UseRateLimiter": true,
+ "EnableRateLimiter": true,
"PerSec": 10,
"MemoryStoreSize": 10000,
"VaryByRemoteAddr": true,
@@ -71,23 +82,8 @@
},
"PrivacySettings": {
"ShowEmailAddress": true,
- "ShowPhoneNumber": true,
- "ShowSkypeId": true,
"ShowFullName": true
},
- "ClientSettings": {
- "SegmentDeveloperKey": "",
- "GoogleDeveloperKey": ""
- },
- "TeamSettings": {
- "MaxUsersPerTeam": 150,
- "AllowPublicLink": true,
- "AllowValetDefault": false,
- "TourLink": "",
- "DefaultThemeColor": "#2389D7",
- "DisableTeamCreation": false,
- "RestrictCreationToDomains": ""
- },
"SSOSettings": {
"gitlab": {
"Allow": false,
diff --git a/model/config.go b/model/config.go
index 3c0ada423f..d4eb1e714c 100644
--- a/model/config.go
+++ b/model/config.go
@@ -30,6 +30,8 @@ type ServiceSettings struct {
AnalyticsUrl string
AllowedLoginAttempts int
EnableOAuthServiceProvider bool
+ SegmentDeveloperKey string
+ GoogleDeveloperKey string
}
type SSOSetting struct {
@@ -96,11 +98,11 @@ type EmailSettings struct {
}
type RateLimitSettings struct {
- UseRateLimiter bool
- PerSec int
- MemoryStoreSize int
- VaryByRemoteAddr bool
- VaryByHeader string
+ EnableRateLimiter bool
+ PerSec int
+ MemoryStoreSize int
+ VaryByRemoteAddr bool
+ VaryByHeader string
}
type PrivacySettings struct {
@@ -108,11 +110,6 @@ type PrivacySettings struct {
ShowFullName bool
}
-type ClientSettings struct {
- SegmentDeveloperKey string
- GoogleDeveloperKey string
-}
-
type TeamSettings struct {
MaxUsersPerTeam int
AllowPublicLink bool
@@ -124,15 +121,14 @@ type TeamSettings struct {
}
type Config struct {
- LogSettings LogSettings
ServiceSettings ServiceSettings
+ TeamSettings TeamSettings
SqlSettings SqlSettings
+ LogSettings LogSettings
ImageSettings ImageSettings
EmailSettings EmailSettings
RateLimitSettings RateLimitSettings
PrivacySettings PrivacySettings
- ClientSettings ClientSettings
- TeamSettings TeamSettings
SSOSettings map[string]SSOSetting
}
diff --git a/utils/config.go b/utils/config.go
index cef99d7d97..5b7cc7c64e 100644
--- a/utils/config.go
+++ b/utils/config.go
@@ -176,6 +176,8 @@ func getClientProperties(c *model.Config) map[string]string {
props["SiteName"] = c.ServiceSettings.SiteName
props["AnalyticsUrl"] = c.ServiceSettings.AnalyticsUrl
props["EnableOAuthServiceProvider"] = strconv.FormatBool(c.ServiceSettings.EnableOAuthServiceProvider)
+ props["SegmentDeveloperKey"] = c.ServiceSettings.SegmentDeveloperKey
+ props["GoogleDeveloperKey"] = c.ServiceSettings.GoogleDeveloperKey
props["SendEmailNotifications"] = strconv.FormatBool(c.EmailSettings.SendEmailNotifications)
props["AllowSignUpWithEmail"] = strconv.FormatBool(c.EmailSettings.AllowSignUpWithEmail)
@@ -186,9 +188,6 @@ func getClientProperties(c *model.Config) map[string]string {
props["ShowEmailAddress"] = strconv.FormatBool(c.PrivacySettings.ShowEmailAddress)
props["AllowPublicLink"] = strconv.FormatBool(c.TeamSettings.AllowPublicLink)
- props["SegmentDeveloperKey"] = c.ClientSettings.SegmentDeveloperKey
- props["GoogleDeveloperKey"] = c.ClientSettings.GoogleDeveloperKey
-
props["ProfileHeight"] = fmt.Sprintf("%v", c.ImageSettings.ProfileHeight)
props["ProfileWidth"] = fmt.Sprintf("%v", c.ImageSettings.ProfileWidth)
props["ProfileWidth"] = fmt.Sprintf("%v", c.ImageSettings.ProfileWidth)
diff --git a/web/react/components/admin_console/admin_controller.jsx b/web/react/components/admin_console/admin_controller.jsx
index 9db1c945e1..0cd3500e55 100644
--- a/web/react/components/admin_console/admin_controller.jsx
+++ b/web/react/components/admin_console/admin_controller.jsx
@@ -11,6 +11,7 @@ var LogSettingsTab = require('./log_settings.jsx');
var LogsTab = require('./logs.jsx');
var ImageSettingsTab = require('./image_settings.jsx');
var PrivacySettingsTab = require('./privacy_settings.jsx');
+var RateSettingsTab = require('./rate_settings.jsx');
export default class AdminController extends React.Component {
constructor(props) {
@@ -59,6 +60,8 @@ export default class AdminController extends React.Component {
tab =
{'Changing properties in this section will require a server restart before taking effect.'}
+