From 79f789070ef8cc52f134fbf00d942adff7577f50 Mon Sep 17 00:00:00 2001 From: itchyny Date: Mon, 29 Jul 2019 13:04:09 +0900 Subject: [PATCH] prepend mackerel-plugin-metadata- to the cache file of metadata plugin when MACKEREL_PLUGIN_WORKDIR is specified --- command/metadata.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/command/metadata.go b/command/metadata.go index 778156ce7..961579f6c 100644 --- a/command/metadata.go +++ b/command/metadata.go @@ -17,14 +17,10 @@ func metadataGenerators(conf *config.Config) []*metadata.Generator { workdir := filepath.Join(pluginutil.PluginWorkDir(), "mackerel-metadata") for name, pluginConfig := range conf.MetadataPlugins { - workdir := workdir - if dir := lookupPluginWorkDir(pluginConfig.Command.Env); dir != "" { - workdir = dir - } generator := &metadata.Generator{ Name: name, Config: pluginConfig, - Cachefile: filepath.Join(workdir, name), + Cachefile: getCacheFileName(name, workdir, pluginConfig), } logger.Debugf("Metadata plugin generator created: %#v %#v", generator, generator.Config) generators = append(generators, generator) @@ -46,6 +42,13 @@ func lookupPluginWorkDir(env []string) string { return "" } +func getCacheFileName(name, defaultWorkDir string, plugin *config.MetadataPlugin) string { + if dir := lookupPluginWorkDir(plugin.Command.Env); dir != "" { + return filepath.Join(dir, "mackerel-plugin-metadata-"+name) + } + return filepath.Join(defaultWorkDir, name) +} + type metadataResult struct { namespace string metadata interface{}