Module: Odania

Defined in:
lib/odania.rb,
lib/odania/config.rb,
lib/odania/consul.rb,
lib/odania/plugin.rb,
lib/odania/version.rb,
lib/odania/config/page.rb,
lib/odania/config/style.rb,
lib/odania/config/domain.rb,
lib/odania/config/layout.rb,
lib/odania/config/backend.rb,
lib/odania/config/page_base.rb,
lib/odania/config/duplicates.rb,
lib/odania/config/sub_domain.rb,
lib/odania/config/backend_group.rb,
lib/odania/config/global_config.rb,
lib/odania/config/plugin_config.rb,
lib/odania/config/subdomain_config.rb

Defined Under Namespace

Modules: Config Classes: Consul, Plugin

Constant Summary collapse

CORE_PLUGIN_NAME =
'odania-core'
VERSION =
'0.0.37'

Class Method Summary collapse

Class Method Details

.configure(consul_url = nil) ⇒ Object



35
36
37
38
# File 'lib/odania.rb', line 35

def self.configure(consul_url=nil)
	@consul = Consul.new(consul_url) if @consul.nil?
	$debug = false
end

.consulObject



30
31
32
33
# File 'lib/odania.rb', line 30

def self.consul
	Odania.configure
	@consul
end

.ipsObject



40
41
42
43
44
45
46
47
# File 'lib/odania.rb', line 40

def self.ips
	ips = []
	Socket.ip_address_list.each do |address|
		ip = address.ip_address
		ips << ip unless %w(127.0.0.1 ::1).include? ip
	end
	ips
end

.pluginObject



24
25
26
27
28
# File 'lib/odania.rb', line 24

def self.plugin
	Odania.configure
	@plugin = Plugin.new(@consul) if @plugin.nil?
	@plugin
end

.primary_ip(ips) ⇒ Object

Rancher assigns two ip’s the ip starting with 10. is routed through the hosts



50
51
52
53
54
55
56
# File 'lib/odania.rb', line 50

def self.primary_ip(ips)
	ips.each do |ip|
		return ip if ip.start_with? '10.'
	end

	ips.first
end

.varnish_sanitize(name) ⇒ Object



58
59
60
61
# File 'lib/odania.rb', line 58

def self.varnish_sanitize(name)
	raise 'Could not sanitize varnish name!!' if name.nil?
	name.gsub(/[^0-9a-zA-Z_]/, '_')
end