dendrite 0.5.5 → 0.5.6
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 +3 -0
- data/conf/services/service.yml +6 -1
- data/lib/dendrite/generators/synapse.rb +10 -1
- data/lib/dendrite/service_node.rb +13 -1
- 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: f596c584ad8e20047d82cbcce8cdd11a3953a0ee
|
4
|
+
data.tar.gz: e354f2e265dc829295d77cd38bda3c998ab4a11d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6ae57fe86462e173bdd374c659bfe6edaf1a775124f0f9e06d56c33e8ced70e5399d139cf7ea99e3a8d2be3415c52c2800927b0eab56cebe075e7635b41b3089
|
7
|
+
data.tar.gz: eaa0a4b3fe3d2aab3cb84485443619953d9a14cdc471eb96394ff6cd3122c99621339a4e51dc967e13d34162a8da8454693a2541de273d7b79f86e96f33ed3ff
|
data/conf/config.yml
CHANGED
data/conf/services/service.yml
CHANGED
@@ -23,11 +23,16 @@ subcomponents:
|
|
23
23
|
telemetry:
|
24
24
|
health_url: /
|
25
25
|
notification_email: foo@bar.com
|
26
|
+
domain_names:
|
27
|
+
- domain_name: foobar.com
|
28
|
+
environment: prd
|
29
|
+
- domain_name: foobar2.com
|
30
|
+
environment: prd
|
26
31
|
default_servers:
|
27
32
|
- host: 192.168.1.1
|
28
33
|
port: 8080
|
29
34
|
environment: stg
|
30
|
-
- host:
|
35
|
+
- host: 192.168.1.2
|
31
36
|
port: 8080
|
32
37
|
environment: prd
|
33
38
|
dependencies:
|
@@ -42,6 +42,7 @@ module Dendrite
|
|
42
42
|
def_delegator :service, :component, :component
|
43
43
|
def_delegator :service, :organization, :organization
|
44
44
|
def_delegator :service, :default_servers, :default_servers
|
45
|
+
def_delegator :service, :domain_names, :domain_names
|
45
46
|
def_delegator :service, :metadata, :metadata
|
46
47
|
|
47
48
|
|
@@ -78,7 +79,7 @@ module Dendrite
|
|
78
79
|
end
|
79
80
|
|
80
81
|
def haproxy_config
|
81
|
-
{
|
82
|
+
data = {
|
82
83
|
haproxy: {
|
83
84
|
port: service.loadbalancer_port,
|
84
85
|
bind_address: bind_address,
|
@@ -87,6 +88,14 @@ module Dendrite
|
|
87
88
|
backend_order: metadata && metadata.sticky_session ? 'asc' : nil
|
88
89
|
}
|
89
90
|
}
|
91
|
+
|
92
|
+
if domain_names[environment] && domain_names[environment].length > 0
|
93
|
+
data[:haproxy][:shared_frontend] = [
|
94
|
+
"acl is_#{name} hdr_dom(host) " + domain_names[environment].collect {|dns| " -i #{dns.domain_name} "}.join ,
|
95
|
+
"use_backend #{name} if is_#{name}"
|
96
|
+
]
|
97
|
+
end
|
98
|
+
return data
|
90
99
|
end
|
91
100
|
|
92
101
|
def mode
|
@@ -65,6 +65,12 @@ module Dendrite
|
|
65
65
|
validates :port, numericality: { only_integer: true }
|
66
66
|
end
|
67
67
|
|
68
|
+
DomainName = Struct.new(:environment, :domain_name) do
|
69
|
+
include ActiveModel::Validations
|
70
|
+
validates_presence_of :environment
|
71
|
+
validates_presence_of :domain_name
|
72
|
+
end
|
73
|
+
|
68
74
|
Telemetry = Struct.new(:health_url, :notification_email) do
|
69
75
|
include ActiveModel::Validations
|
70
76
|
validates_presence_of :health_url
|
@@ -113,7 +119,7 @@ module Dendrite
|
|
113
119
|
|
114
120
|
attr_reader :organization, :component, :lead_email, :team_email,
|
115
121
|
:type, :deploy, :scale, :ports, :dependencies, :telemetry,
|
116
|
-
:default_servers, :metadata, :users
|
122
|
+
:default_servers, :metadata, :users, :domain_names
|
117
123
|
# :name is set but magically
|
118
124
|
|
119
125
|
validates_presence_of :organization, :component, :lead_email, :team_email,
|
@@ -130,6 +136,7 @@ module Dendrite
|
|
130
136
|
def initialize(**args)
|
131
137
|
@ports = {}
|
132
138
|
@default_servers = {}
|
139
|
+
@domain_names = {}
|
133
140
|
args.each do |k,v|
|
134
141
|
case k
|
135
142
|
when :ports
|
@@ -147,6 +154,11 @@ module Dendrite
|
|
147
154
|
@default_servers[node[:environment]] ||= []
|
148
155
|
@default_servers[node[:environment]] << DefaultServer.new(node[:environment], node[:host], node[:port])
|
149
156
|
end
|
157
|
+
when :domain_names
|
158
|
+
v.each do |dns|
|
159
|
+
@domain_names[dns[:environment]] ||= []
|
160
|
+
@domain_names[dns[:environment]] << DomainName.new(dns[:environment], dns[:domain_name])
|
161
|
+
end
|
150
162
|
when :metadata
|
151
163
|
@metadata = Metadata.new(v)
|
152
164
|
when :users
|
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.6
|
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-11-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|