Class: Odania::Plugin

Inherits:
Consul
  • Object
show all
Defined in:
lib/odania/plugin.rb

Instance Method Summary collapse

Instance Method Details

#add_plugin(plugin_config) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/odania/plugin.rb', line 21

def add_plugin(plugin_config)
	plugin_name = plugin_config['name']
	plugin_instance_name = get_plugin_instance_name plugin_name

	puts "Writing plugin instance config: #{plugin_instance_name}"
	Diplomat::Kv.put("#{get_plugin_path(plugin_name)}#{plugin_instance_name}", JSON.dump(plugin_config))

	consul_config = Odania.service.consul_service_config(plugin_name, plugin_instance_name, plugin_config['ip'], plugin_config['tags'], plugin_config['port'])
	Odania.service.register_service(consul_config)

	Diplomat::Event.fire('updated_plugin_config', "#{plugin_name}|#{plugin_instance_name}")
end

#plugins_configObject



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/odania/plugin.rb', line 3

def plugins_config
	configs = retrieve_value 'plugins'
	puts
	puts 'Configs'
	puts configs.inspect
	puts
	puts

	result = {}
	configs.each do |json_data|
		config = JSON.parse json_data[:value]
		# TODO merge
		puts config.inspect
		result = config
	end
	result
end