mkit 0.4.0 → 0.4.1
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/lib/mkit/app/mkit_server.rb +1 -1
- data/lib/mkit/app/model/service.rb +48 -44
- data/lib/mkit/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fbf4273a9458c659131f42dff9f804d23632b282bb6ee04d803c8e8623262fa1
|
4
|
+
data.tar.gz: f9c7cdff9a122c90c714fd16de80bfc07f19ded8d88806d2b7e7f3af2f7dc246
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e0975eb515e8b4b91006953f293206b02b1b377a3668b8478af9dfa84f9a58216cbbe83928c8458bb3d9676543cb748dedfa00c26f65279ffe59f15f847cab5d
|
7
|
+
data.tar.gz: d790f9aa1edcac942df9a72317295c9c091eb88ec029d2584c0275bbd7740fe94272504a984a3248d0aa1d77949e7343ee189fa0018b5724ecfd0de44308a567
|
data/lib/mkit/app/mkit_server.rb
CHANGED
@@ -34,37 +34,39 @@ class Service < ActiveRecord::Base
|
|
34
34
|
config = yaml["service"]
|
35
35
|
raise MKIt::ServiceAlreadyExists.new unless Service.find_by_name(config.name).nil?
|
36
36
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
37
|
+
ActiveRecord::Base.transaction do
|
38
|
+
srv = Service.new(
|
39
|
+
name: config.name,
|
40
|
+
version: 1,
|
41
|
+
image: config.image,
|
42
|
+
command: config.command,
|
43
|
+
status: MKIt::Status::CREATING
|
44
|
+
)
|
45
|
+
|
46
|
+
# reserve pool ip
|
47
|
+
srv.lease = Pool.find_by_name(MKIt::Utils.me).reserve_for(srv)
|
48
|
+
|
49
|
+
srv.dns_host = DnsHost.new(
|
50
|
+
service: srv,
|
51
|
+
name: srv.name,
|
52
|
+
ip: srv.lease.ip
|
53
|
+
)
|
54
|
+
|
55
|
+
# create service network
|
56
|
+
srv.deploy_network
|
57
|
+
|
58
|
+
# configure
|
59
|
+
srv.configure(config)
|
60
|
+
#
|
61
|
+
srv.status = MKIt::Status::CREATED
|
62
|
+
srv.save!
|
63
|
+
data = { service_id: srv.id, version: srv.version }
|
64
|
+
# create pod
|
65
|
+
(1..srv.min_replicas).each { |i|
|
66
|
+
MkitJob.publish(topic: :create_pod_saga, service_id: srv.id, data: data)
|
67
|
+
}
|
68
|
+
srv
|
69
|
+
end
|
68
70
|
end
|
69
71
|
|
70
72
|
def configure(config)
|
@@ -111,19 +113,21 @@ class Service < ActiveRecord::Base
|
|
111
113
|
end
|
112
114
|
|
113
115
|
def update!(yaml)
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
116
|
+
ActiveRecord::Base.transaction do
|
117
|
+
config = yaml["service"]
|
118
|
+
raise MKIt::ServiceNameMismatch.new unless config.name == self.name
|
119
|
+
self.version+=1
|
120
|
+
self.configure(config)
|
121
|
+
|
122
|
+
# start new pod, destroy old pod...
|
123
|
+
self.pod.each { |pod| MkitJob.publish(topic: :destroy_pod, pod_id: pod.id, data: {}) }
|
124
|
+
# create pod
|
125
|
+
data = { service_id: self.id, version: self.version }
|
126
|
+
(1..self.min_replicas).each { |i|
|
127
|
+
MkitJob.publish(topic: :create_pod_saga, service_id: self.id, data: data)
|
128
|
+
}
|
129
|
+
self.save
|
130
|
+
end
|
127
131
|
end
|
128
132
|
|
129
133
|
def create_pods_network
|
data/lib/mkit/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mkit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vasco Santos
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-01-
|
11
|
+
date: 2024-01-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: net-ping
|