dendrite 0.5.7 → 0.5.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/conf/config.yml +5 -1
- data/conf/services/service.yml +3 -3
- data/lib/dendrite.rb +12 -0
- data/lib/dendrite/generators/synapse.rb +12 -10
- data/lib/dendrite/service_node.rb +2 -0
- data/lib/dendrite/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 07a06a3923e7f4cc89718437418b5508a244fcbd
|
4
|
+
data.tar.gz: ac5def8a17722a49325f146d4770ff521439eade
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f56848a85c2ffee5cfff15c1354a98f4856c60e5a206ee18560f7c3a05d11b48627aa78c5c4196cf5adea2f25d60a7aeb06ed5eeda5af239fe094a4730c9eca1
|
7
|
+
data.tar.gz: 4813a8ffacabceeff15c27e6fb5e88c59c36a9572cb9bf5eeaf6fe18c3ea4757c9ea3fce6a8b0896fe8611e8874b43ebbd31c5bbce2d9725f0c824af5a8e8f3c
|
data/conf/config.yml
CHANGED
@@ -4,6 +4,8 @@ dendrite:
|
|
4
4
|
env: dev
|
5
5
|
zk_hosts:
|
6
6
|
- localhost:2181
|
7
|
+
bind_to_all: true
|
8
|
+
sticky: true
|
7
9
|
nerve_config_path: /opt/smartstack/conf/nerve.yml
|
8
10
|
synapse_config_path: /opt/smartstack/conf/synapse.yml
|
9
11
|
services_source: conf/services
|
@@ -14,6 +16,8 @@ dendrite:
|
|
14
16
|
- aerospike
|
15
17
|
- cassandra
|
16
18
|
- jar
|
19
|
+
http_app_types:
|
20
|
+
- tomcat
|
17
21
|
|
18
22
|
synapse:
|
19
23
|
server_options: check inter 2s rise 3 fall 2
|
@@ -47,7 +51,7 @@ synapse:
|
|
47
51
|
- balance roundrobin
|
48
52
|
extra_sections:
|
49
53
|
peers syncinghaproxy:
|
50
|
-
- peer
|
54
|
+
- peer foobar 0.0.0.0:1024
|
51
55
|
listen stats :9999:
|
52
56
|
- mode http
|
53
57
|
- stats enable
|
data/conf/services/service.yml
CHANGED
@@ -29,10 +29,10 @@ subcomponents:
|
|
29
29
|
- domain_name: foobar2.com
|
30
30
|
environment: prd
|
31
31
|
default_servers:
|
32
|
-
- host:
|
32
|
+
- host: 0.0.0.0
|
33
33
|
port: 8080
|
34
34
|
environment: stg
|
35
|
-
- host:
|
35
|
+
- host: 0.0.0.0
|
36
36
|
port: 8080
|
37
37
|
environment: prd
|
38
38
|
dependencies:
|
@@ -48,7 +48,7 @@ subcomponents:
|
|
48
48
|
foo: bar
|
49
49
|
sticky_session: sessionkey
|
50
50
|
- name: cat
|
51
|
-
type:
|
51
|
+
type: mysql
|
52
52
|
deploy:
|
53
53
|
repository: git@github.com:yagnik/dendrite
|
54
54
|
package: dendrite
|
data/lib/dendrite.rb
CHANGED
@@ -72,6 +72,18 @@ module Dendrite
|
|
72
72
|
@@data[:dendrite][:valid_app_types]
|
73
73
|
end
|
74
74
|
|
75
|
+
def http_types
|
76
|
+
@@data[:dendrite][:http_app_types] || []
|
77
|
+
end
|
78
|
+
|
79
|
+
def cookie
|
80
|
+
@@data[:dendrite][:cookie] || "COOKME"
|
81
|
+
end
|
82
|
+
|
83
|
+
def sticky
|
84
|
+
@@data[:dendrite][:sticky]
|
85
|
+
end
|
86
|
+
|
75
87
|
def bind_to_all?
|
76
88
|
@@data[:dendrite][:bind_to_all] != nil
|
77
89
|
end
|
@@ -85,7 +85,8 @@ module Dendrite
|
|
85
85
|
bind_address: bind_address,
|
86
86
|
server_options: Dendrite::Config.server_options,
|
87
87
|
listen: mode,
|
88
|
-
|
88
|
+
cookie_value_method: 'hash',
|
89
|
+
backend_order: (metadata && metadata.sticky_session) || Dendrite::Config.sticky ? 'asc' : nil
|
89
90
|
}
|
90
91
|
}
|
91
92
|
|
@@ -99,16 +100,17 @@ module Dendrite
|
|
99
100
|
end
|
100
101
|
|
101
102
|
def mode
|
102
|
-
if
|
103
|
+
if Dendrite::Config.http_types.include?(service.type)
|
104
|
+
arr = ['mode http']
|
105
|
+
key = metadata && metadata.sticky_session ? metadata.sticky_session : Dendrite::Config.cookie
|
103
106
|
peer = Dendrite::Config.peer ? " peers #{Dendrite::Config.peer}": ''
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
['mode http']
|
107
|
+
|
108
|
+
arr << "cookie #{Dendrite::Config.cookie} insert nocache"
|
109
|
+
arr << "stick-table type string len 200 size 500m expire 30m#{peer}"
|
110
|
+
arr << "stick store-response res.cook(#{key})"
|
111
|
+
arr << "stick match req.cook(#{key})"
|
112
|
+
|
113
|
+
arr
|
112
114
|
else
|
113
115
|
['mode tcp']
|
114
116
|
end
|
@@ -63,6 +63,7 @@ module Dendrite
|
|
63
63
|
validates_presence_of :host
|
64
64
|
validates_presence_of :port
|
65
65
|
validates :port, numericality: { only_integer: true }
|
66
|
+
validates_inclusion_of :port, :in => 1..65535
|
66
67
|
end
|
67
68
|
|
68
69
|
DomainName = Struct.new(:environment, :domain_name) do
|
@@ -83,6 +84,7 @@ module Dendrite
|
|
83
84
|
validates_presence_of :name
|
84
85
|
validates_presence_of :port
|
85
86
|
validates :port, numericality: { only_integer: true }
|
87
|
+
validates_inclusion_of :port, :in => 1..65535
|
86
88
|
end
|
87
89
|
|
88
90
|
Dependency = Struct.new(:service, :latency, :identifier) do
|
data/lib/dendrite/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dendrite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yagnik
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-12-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|