Class: Dendrite::Generators::Synapse::ServiceConfig

Inherits:
Struct
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/dendrite/generators/synapse.rb

Instance Method Summary collapse

Instance Method Details

#default_servers_configObject



51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/dendrite/generators/synapse.rb', line 51

def default_servers_config
  servers = default_servers[environment]
  if servers
    {
      default_servers: servers.enum_for(:each_with_index).collect do |server, i|
        data = server.to_h.merge({
          name: "default_#{name}_#{i}"
        })
        data.delete(:environment)
        data
      end
    }
  else
    {}
  end
end

#discovery_configObject



68
69
70
71
72
73
74
75
76
# File 'lib/dendrite/generators/synapse.rb', line 68

def discovery_config
  {
    discovery: {
      method: 'zookeeper',
      hosts: Dendrite::Config.zk_hosts,
      path: "/smartstack/services/#{organization}/#{component}/#{service.real_name}/instances"
    }
  }
end

#haproxy_configObject



78
79
80
81
82
83
84
85
86
87
88
# File 'lib/dendrite/generators/synapse.rb', line 78

def haproxy_config
  {
    haproxy: {
      port: service.loadbalancer_port,
      server_options: 'check inter 2s rise 3 fall 2',
      listen: [
        'mode tcp'
      ]
    }
  }
end

#to_hObject



46
47
48
49
# File 'lib/dendrite/generators/synapse.rb', line 46

def to_h
  discovery_config.merge(haproxy_config)
                  .merge(default_servers_config)
end