|
|
|
@ -27,7 +27,10 @@ import ( |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
func init() { |
|
|
|
func init() { |
|
|
|
registry.RegisterServiceWithPriority(&manager{}, registry.MediumHigh) |
|
|
|
registry.RegisterServiceWithPriority(&manager{ |
|
|
|
|
|
|
|
logger: log.New("plugins.backend"), |
|
|
|
|
|
|
|
plugins: map[string]backendplugin.Plugin{}, |
|
|
|
|
|
|
|
}, registry.MediumHigh) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
type manager struct { |
|
|
|
type manager struct { |
|
|
|
@ -37,14 +40,9 @@ type manager struct { |
|
|
|
pluginsMu sync.RWMutex |
|
|
|
pluginsMu sync.RWMutex |
|
|
|
plugins map[string]backendplugin.Plugin |
|
|
|
plugins map[string]backendplugin.Plugin |
|
|
|
logger log.Logger |
|
|
|
logger log.Logger |
|
|
|
pluginSettings map[string]pluginSettings |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
func (m *manager) Init() error { |
|
|
|
func (m *manager) Init() error { |
|
|
|
m.plugins = make(map[string]backendplugin.Plugin) |
|
|
|
|
|
|
|
m.logger = log.New("plugins.backend") |
|
|
|
|
|
|
|
m.pluginSettings = extractPluginSettings(m.Cfg) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return nil |
|
|
|
return nil |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -65,11 +63,6 @@ func (m *manager) Register(pluginID string, factory backendplugin.PluginFactoryF |
|
|
|
return fmt.Errorf("backend plugin %s already registered", pluginID) |
|
|
|
return fmt.Errorf("backend plugin %s already registered", pluginID) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
pluginSettings := pluginSettings{} |
|
|
|
|
|
|
|
if ps, exists := m.pluginSettings[pluginID]; exists { |
|
|
|
|
|
|
|
pluginSettings = ps |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hostEnv := []string{ |
|
|
|
hostEnv := []string{ |
|
|
|
fmt.Sprintf("GF_VERSION=%s", m.Cfg.BuildVersion), |
|
|
|
fmt.Sprintf("GF_VERSION=%s", m.Cfg.BuildVersion), |
|
|
|
fmt.Sprintf("GF_EDITION=%s", m.License.Edition()), |
|
|
|
fmt.Sprintf("GF_EDITION=%s", m.License.Edition()), |
|
|
|
@ -89,7 +82,7 @@ func (m *manager) Register(pluginID string, factory backendplugin.PluginFactoryF |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
hostEnv = append(hostEnv, m.getAWSEnvironmentVariables()...) |
|
|
|
hostEnv = append(hostEnv, m.getAWSEnvironmentVariables()...) |
|
|
|
|
|
|
|
pluginSettings := getPluginSettings(pluginID, m.Cfg) |
|
|
|
env := pluginSettings.ToEnv("GF_PLUGIN", hostEnv) |
|
|
|
env := pluginSettings.ToEnv("GF_PLUGIN", hostEnv) |
|
|
|
|
|
|
|
|
|
|
|
pluginLogger := m.logger.New("pluginId", pluginID) |
|
|
|
pluginLogger := m.logger.New("pluginId", pluginID) |
|
|
|
|