in dev/import-beats/main.go [113:142]
func build(options importerOptions) error {
iconRepository, err := newIconRepository(options.euiDir, options.kibanaDir)
if err != nil {
return errors.Wrap(err, "creating icon repository failed")
}
kibanaMigrator := newKibanaMigrator(options.kibanaHostPort,
options.kibanaUsername,
options.kibanaPassword,
options.skipKibana)
ecsFields, err := loadEcsFields(options.ecsDir)
if err != nil {
return errors.Wrap(err, "loading ECS fields failed")
}
repository := newPackageRepository(iconRepository, kibanaMigrator, ecsFields, options.selectedPackages())
for _, beatName := range logSources {
err := repository.createPackagesFromSource(options.beatsDir, beatName, "logs")
if err != nil {
return errors.Wrap(err, "creating from logs source failed")
}
}
for _, beatName := range metricSources {
err := repository.createPackagesFromSource(options.beatsDir, beatName, "metrics")
if err != nil {
return errors.Wrap(err, "creating from metrics source failed")
}
}
return repository.save(options.outputDir)
}