dendrite 0.5.7 → 0.5.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|