@@ -40,6 +40,7 @@ import (
4040 "github.com/elastic/beats/v7/libbeat/common/cfgwarn"
4141 conf "github.com/elastic/elastic-agent-libs/config"
4242 "github.com/elastic/elastic-agent-libs/logp"
43+ "github.com/elastic/elastic-agent-libs/paths"
4344 "github.com/elastic/elastic-agent-libs/version"
4445)
4546
@@ -53,6 +54,7 @@ type Fileset struct {
5354 vars map [string ]interface {}
5455 pipelineIDs []string
5556 logger * logp.Logger
57+ beatPaths * paths.Path
5658}
5759
5860type pipeline struct {
@@ -67,6 +69,7 @@ func New(
6769 mname string ,
6870 fcfg * FilesetConfig ,
6971 logger * logp.Logger ,
72+ beatPaths * paths.Path ,
7073) (* Fileset , error ,
7174) {
7275 modulePath := filepath .Join (modulesPath , mname )
@@ -80,6 +83,7 @@ func New(
8083 fcfg : fcfg ,
8184 modulePath : modulePath ,
8285 logger : logger ,
86+ beatPaths : beatPaths ,
8387 }, nil
8488}
8589
@@ -168,7 +172,7 @@ func (fs *Fileset) evaluateVars(info beat.Info) (map[string]interface{}, error)
168172 var exists bool
169173 name , exists := vals ["name" ].(string )
170174 if ! exists {
171- return nil , fmt .Errorf ("Variable doesn't have a string 'name' key" )
175+ return nil , fmt .Errorf ("variable doesn't have a string 'name' key" )
172176 }
173177
174178 // Variables are not required to have a default. Templates should
@@ -207,28 +211,31 @@ func (fs *Fileset) turnOffElasticsearchVars(vars map[string]interface{}, esVersi
207211 }
208212
209213 if ! esVersion .IsValid () {
210- return vars , errors .New ("Unknown Elasticsearch version" )
214+ return vars , errors .New ("unknown Elasticsearch version" )
211215 }
212216
213217 for _ , vals := range fs .manifest .Vars {
214218 var ok bool
215219 name , ok := vals ["name" ].(string )
216220 if ! ok {
217- return nil , fmt .Errorf ("Variable doesn't have a string 'name' key" )
221+ return nil , fmt .Errorf ("variable doesn't have a string 'name' key" )
218222 }
219223
220224 minESVersion , ok := vals ["min_elasticsearch_version" ].(map [string ]interface {})
221225 if ok {
222- minVersion , err := version .New (minESVersion ["version" ].(string ))
223- if err != nil {
224- return vars , fmt .Errorf ("Error parsing version %s: %w" , minESVersion ["version" ].(string ), err )
225- }
226+ versionString , ok := minESVersion ["version" ].(string )
227+ if ok {
228+ minVersion , err := version .New (versionString )
229+ if err != nil {
230+ return vars , fmt .Errorf ("Error parsing version %s: %w" , versionString , err )
231+ }
226232
227- fs .logger .Named ("fileset" ).Debugf ("Comparing ES version %s with requirement of %s" , esVersion .String (), minVersion )
233+ fs .logger .Named ("fileset" ).Debugf ("Comparing ES version %s with requirement of %s" , esVersion .String (), minVersion )
228234
229- if esVersion .LessThan (minVersion ) {
230- retVars [name ] = minESVersion ["value" ]
231- fs .logger .Infof ("Setting var %s (%s) to %v because Elasticsearch version is %s" , name , fs , minESVersion ["value" ], esVersion .String ())
235+ if esVersion .LessThan (minVersion ) {
236+ retVars [name ] = minESVersion ["value" ]
237+ fs .logger .Infof ("Setting var %s (%s) to %v because Elasticsearch version is %s" , name , fs , minESVersion ["value" ], esVersion .String ())
238+ }
232239 }
233240 }
234241 }
@@ -312,11 +319,11 @@ func getTemplateFunctions(vars map[string]interface{}) (template.FuncMap, error)
312319 },
313320 "IngestPipeline" : func (shortID string ) string {
314321 return FormatPipelineID (
315- builtinVars ["prefix" ].(string ),
316- builtinVars ["module" ].(string ),
317- builtinVars ["fileset" ].(string ),
322+ builtinVars ["prefix" ].(string ), //nolint:errcheck //keep behavior for now
323+ builtinVars ["module" ].(string ), //nolint:errcheck //keep behavior for now
324+ builtinVars ["fileset" ].(string ), //nolint:errcheck //keep behavior for now
318325 shortID ,
319- builtinVars ["beatVersion" ].(string ),
326+ builtinVars ["beatVersion" ].(string ), //nolint:errcheck //keep behavior for now
320327 )
321328 },
322329 }, nil
@@ -368,7 +375,7 @@ func (fs *Fileset) getInputConfig() (*conf.C, error) {
368375 return nil , fmt .Errorf ("Error reading input config: %w" , err )
369376 }
370377
371- cfg , err = mergePathDefaults (cfg )
378+ cfg , err = mergePathDefaults (cfg , fs . beatPaths )
372379 if err != nil {
373380 return nil , err
374381 }
@@ -461,15 +468,15 @@ func (fs *Fileset) GetPipelines(esVersion version.V) (pipelines []pipeline, err
461468 }
462469 newContent , err := FixYAMLMaps (content )
463470 if err != nil {
464- return nil , fmt .Errorf ("Failed to sanitize the YAML pipeline file: %s: %w" , path , err )
471+ return nil , fmt .Errorf ("failed to sanitize the YAML pipeline file: %s: %w" , path , err )
465472 }
466473 var ok bool
467474 content , ok = newContent .(map [string ]interface {})
468475 if ! ok {
469476 return nil , errors .New ("cannot convert newContent to map[string]interface{}" )
470477 }
471478 default :
472- return nil , fmt .Errorf ("Unsupported extension '%s' for pipeline file: %s" , extension , path )
479+ return nil , fmt .Errorf ("unsupported extension '%s' for pipeline file: %s" , extension , path )
473480 }
474481
475482 pipelineID := fs .pipelineIDs [idx ]
0 commit comments