Class: Dendrite::Generators::Synapse::ServiceConfig
- Inherits:
-
Struct
- Object
- Struct
- Dendrite::Generators::Synapse::ServiceConfig
- Extended by:
- Forwardable
- Defined in:
- lib/dendrite/generators/synapse.rb
Instance Method Summary collapse
- #bind_address ⇒ Object
- #default_servers_config ⇒ Object
- #discovery_config ⇒ Object
- #haproxy_config ⇒ Object
- #mode ⇒ Object
- #to_h ⇒ Object
Instance Method Details
#bind_address ⇒ Object
105 106 107 |
# File 'lib/dendrite/generators/synapse.rb', line 105 def bind_address Dendrite::Config.bind_to_all? ? '0.0.0.0' : '127.0.0.1' end |
#default_servers_config ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/dendrite/generators/synapse.rb', line 53 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_config ⇒ Object
70 71 72 73 74 75 76 77 78 |
# File 'lib/dendrite/generators/synapse.rb', line 70 def discovery_config { discovery: { method: 'zookeeper', hosts: Dendrite::Config.zk_hosts, path: "/smartstack/services/#{organization}/#{component}/#{service.real_name}/instances" } } end |
#haproxy_config ⇒ Object
80 81 82 83 84 85 86 87 88 89 |
# File 'lib/dendrite/generators/synapse.rb', line 80 def haproxy_config { haproxy: { port: service.loadbalancer_port, bind_address: bind_address, server_options: 'check inter 2s rise 3 fall 2', listen: mode } } end |
#mode ⇒ Object
91 92 93 94 95 96 97 98 99 100 101 102 103 |
# File 'lib/dendrite/generators/synapse.rb', line 91 def mode if && .sticky_session peer = Dendrite::Config.peer ? " peers #{Dendrite::Config.peer}": '' [ 'mode http', "stick-table type string len 200 size 500m expire 30m#{peer}", "stick store-response res.cook(#{metadata.sticky_session})", "stick match req.cook(#{metadata.sticky_session})" ] else ['mode tcp'] end end |
#to_h ⇒ Object
48 49 50 51 |
# File 'lib/dendrite/generators/synapse.rb', line 48 def to_h discovery_config.merge(haproxy_config) .merge(default_servers_config) end |