MM-22273 New auditing system (phase 1) (#13967)
* New auditing API outputting to syslog via TLS * New config section for specifying remote syslog server IP, port, and cert. * Legacy audit API retained for access history feature
Этот коммит содержится в:
110
model/config.go
110
model/config.go
@@ -1055,6 +1055,46 @@ func (s *LogSettings) SetDefaults() {
|
||||
}
|
||||
}
|
||||
|
||||
type ExperimentalAuditSettings struct {
|
||||
Enabled *bool `restricted:"true"`
|
||||
IP *string `restricted:"true"`
|
||||
Port *int `restricted:"true"`
|
||||
Tag *string `restricted:"true"`
|
||||
Cert *string `restricted:"true"`
|
||||
Insecure *bool `restricted:"true"`
|
||||
MaxQSize *int `restricted:"true"`
|
||||
}
|
||||
|
||||
func (s *ExperimentalAuditSettings) SetDefaults() {
|
||||
if s.Enabled == nil {
|
||||
s.Enabled = NewBool(false)
|
||||
}
|
||||
|
||||
if s.IP == nil {
|
||||
s.IP = NewString("localhost")
|
||||
}
|
||||
|
||||
if s.Port == nil {
|
||||
s.Port = NewInt(6514)
|
||||
}
|
||||
|
||||
if s.Tag == nil {
|
||||
s.Tag = NewString("")
|
||||
}
|
||||
|
||||
if s.Cert == nil {
|
||||
s.Cert = NewString("")
|
||||
}
|
||||
|
||||
if s.Insecure == nil {
|
||||
s.Insecure = NewBool(false)
|
||||
}
|
||||
|
||||
if s.MaxQSize == nil {
|
||||
s.MaxQSize = NewInt(1000)
|
||||
}
|
||||
}
|
||||
|
||||
type NotificationLogSettings struct {
|
||||
EnableConsole *bool `restricted:"true"`
|
||||
ConsoleLevel *string `restricted:"true"`
|
||||
@@ -2562,40 +2602,41 @@ func (s *ImageProxySettings) SetDefaults(ss ServiceSettings) {
|
||||
type ConfigFunc func() *Config
|
||||
|
||||
type Config struct {
|
||||
ServiceSettings ServiceSettings
|
||||
TeamSettings TeamSettings
|
||||
ClientRequirements ClientRequirements
|
||||
SqlSettings SqlSettings
|
||||
LogSettings LogSettings
|
||||
NotificationLogSettings NotificationLogSettings
|
||||
PasswordSettings PasswordSettings
|
||||
FileSettings FileSettings
|
||||
EmailSettings EmailSettings
|
||||
RateLimitSettings RateLimitSettings
|
||||
PrivacySettings PrivacySettings
|
||||
SupportSettings SupportSettings
|
||||
AnnouncementSettings AnnouncementSettings
|
||||
ThemeSettings ThemeSettings
|
||||
GitLabSettings SSOSettings
|
||||
GoogleSettings SSOSettings
|
||||
Office365Settings Office365Settings
|
||||
LdapSettings LdapSettings
|
||||
ComplianceSettings ComplianceSettings
|
||||
LocalizationSettings LocalizationSettings
|
||||
SamlSettings SamlSettings
|
||||
NativeAppSettings NativeAppSettings
|
||||
ClusterSettings ClusterSettings
|
||||
MetricsSettings MetricsSettings
|
||||
ExperimentalSettings ExperimentalSettings
|
||||
AnalyticsSettings AnalyticsSettings
|
||||
ElasticsearchSettings ElasticsearchSettings
|
||||
DataRetentionSettings DataRetentionSettings
|
||||
MessageExportSettings MessageExportSettings
|
||||
JobSettings JobSettings
|
||||
PluginSettings PluginSettings
|
||||
DisplaySettings DisplaySettings
|
||||
GuestAccountsSettings GuestAccountsSettings
|
||||
ImageProxySettings ImageProxySettings
|
||||
ServiceSettings ServiceSettings
|
||||
TeamSettings TeamSettings
|
||||
ClientRequirements ClientRequirements
|
||||
SqlSettings SqlSettings
|
||||
LogSettings LogSettings
|
||||
ExperimentalAuditSettings ExperimentalAuditSettings
|
||||
NotificationLogSettings NotificationLogSettings
|
||||
PasswordSettings PasswordSettings
|
||||
FileSettings FileSettings
|
||||
EmailSettings EmailSettings
|
||||
RateLimitSettings RateLimitSettings
|
||||
PrivacySettings PrivacySettings
|
||||
SupportSettings SupportSettings
|
||||
AnnouncementSettings AnnouncementSettings
|
||||
ThemeSettings ThemeSettings
|
||||
GitLabSettings SSOSettings
|
||||
GoogleSettings SSOSettings
|
||||
Office365Settings Office365Settings
|
||||
LdapSettings LdapSettings
|
||||
ComplianceSettings ComplianceSettings
|
||||
LocalizationSettings LocalizationSettings
|
||||
SamlSettings SamlSettings
|
||||
NativeAppSettings NativeAppSettings
|
||||
ClusterSettings ClusterSettings
|
||||
MetricsSettings MetricsSettings
|
||||
ExperimentalSettings ExperimentalSettings
|
||||
AnalyticsSettings AnalyticsSettings
|
||||
ElasticsearchSettings ElasticsearchSettings
|
||||
DataRetentionSettings DataRetentionSettings
|
||||
MessageExportSettings MessageExportSettings
|
||||
JobSettings JobSettings
|
||||
PluginSettings PluginSettings
|
||||
DisplaySettings DisplaySettings
|
||||
GuestAccountsSettings GuestAccountsSettings
|
||||
ImageProxySettings ImageProxySettings
|
||||
}
|
||||
|
||||
func (o *Config) Clone() *Config {
|
||||
@@ -2674,6 +2715,7 @@ func (o *Config) SetDefaults() {
|
||||
o.DataRetentionSettings.SetDefaults()
|
||||
o.RateLimitSettings.SetDefaults()
|
||||
o.LogSettings.SetDefaults()
|
||||
o.ExperimentalAuditSettings.SetDefaults()
|
||||
o.NotificationLogSettings.SetDefaults()
|
||||
o.JobSettings.SetDefaults()
|
||||
o.MessageExportSettings.SetDefaults()
|
||||
|
||||
@@ -5,6 +5,7 @@ package model
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io"
|
||||
"net/http"
|
||||
"strings"
|
||||
@@ -89,6 +90,10 @@ func EmailInviteWithErrorToJson(o []*EmailInviteWithError) string {
|
||||
}
|
||||
}
|
||||
|
||||
func EmailInviteWithErrorToString(o *EmailInviteWithError) string {
|
||||
return fmt.Sprintf("%s:%s", o.Email, o.Error.Error())
|
||||
}
|
||||
|
||||
func TeamMembersWithErrorToTeamMembers(o []*TeamMemberWithError) []*TeamMember {
|
||||
var ret []*TeamMember
|
||||
for _, o := range o {
|
||||
@@ -107,6 +112,10 @@ func TeamMembersWithErrorToJson(o []*TeamMemberWithError) string {
|
||||
}
|
||||
}
|
||||
|
||||
func TeamMemberWithErrorToString(o *TeamMemberWithError) string {
|
||||
return fmt.Sprintf("%s:%s", o.UserId, o.Error.Error())
|
||||
}
|
||||
|
||||
func TeamMembersWithErrorFromJson(data io.Reader) []*TeamMemberWithError {
|
||||
var o []*TeamMemberWithError
|
||||
json.NewDecoder(data).Decode(&o)
|
||||
|
||||
Ссылка в новой задаче
Block a user