in internal/beater/config/rum.go [60:103]
func (c *RumConfig) setup(log *logp.Logger, outputESCfg *config.C) error {
if !c.Enabled {
return nil
}
if _, err := regexp.Compile(c.LibraryPattern); err != nil {
return errors.Wrapf(err, "Invalid regex for `library_pattern`: ")
}
if _, err := regexp.Compile(c.ExcludeFromGrouping); err != nil {
return errors.Wrapf(err, "Invalid regex for `exclude_from_grouping`: ")
}
if outputESCfg == nil {
log.Info("Unable to determine sourcemap storage, sourcemaps will not be applied")
return nil
}
// Unpack the output elasticsearch config first
if err := outputESCfg.Unpack(c.SourceMapping.ESConfig); err != nil {
return errors.Wrap(err, "unpacking Elasticsearch output config into Sourcemap config")
}
// SourceMapping ES config not configured, use the main one and return early
if c.SourceMapping.es == nil {
log.Info("Using default sourcemap Elasticsearch config")
return nil
}
// Empty out credential fields before merging if credentials are provided in SourceMapping ES config
if c.SourceMapping.es.HasField("api_key") || c.SourceMapping.es.HasField("username") || c.SourceMapping.es.HasField("password") {
c.SourceMapping.ESConfig.APIKey = ""
c.SourceMapping.ESConfig.Username = ""
c.SourceMapping.ESConfig.Password = ""
}
// Unpack the SourceMapping ES config on top of the output elasticsearch config
if err := c.SourceMapping.es.Unpack(c.SourceMapping.ESConfig); err != nil {
return errors.Wrap(err, "unpacking Elasticsearch sourcemap config into Sourcemap config")
}
c.SourceMapping.es = nil
return nil
}