Support for additional audit config via env var (#26785)

* Add support for additional audit config via env var
Этот коммит содержится в:
Doug Lauder
2024-04-15 12:14:26 -04:00
коммит произвёл GitHub
родитель 52ad3bd7b7
Коммит 2825ab689c
2 изменённых файлов: 14 добавлений и 1 удалений

Просмотреть файл

@@ -4,10 +4,13 @@
package app
import (
"encoding/json"
"errors"
"fmt"
"net/http"
"os"
"os/user"
"strings"
"github.com/mattermost/mattermost/server/public/model"
"github.com/mattermost/mattermost/server/public/shared/mlog"
@@ -132,6 +135,16 @@ func (s *Server) configureAudit(adt *audit.Audit, bAllowAdvancedLogging bool) er
return fmt.Errorf("invalid config for audit, %w", err)
}
// Append additional config from env var; any target name collisions will be overwritten.
additionalJSON := strings.TrimSpace(os.Getenv("MM_EXPERIMENTALAUDITSETTINGS_ADDITIONAL"))
if additionalJSON != "" {
cfgAdditional := make(mlog.LoggerConfiguration)
if err := json.Unmarshal([]byte(additionalJSON), &cfgAdditional); err != nil {
return fmt.Errorf("invalid additional config for audit, %w", err)
}
cfg.Append(cfgAdditional)
}
return adt.Configure(cfg)
}