mkit 0.2.0

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.
Files changed (70) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +21 -0
  3. data/Gemfile.lock +137 -0
  4. data/LICENSE +21 -0
  5. data/README.md +126 -0
  6. data/Rakefile +54 -0
  7. data/bin/mkitc +31 -0
  8. data/bin/mkitd +55 -0
  9. data/config/database.yml +5 -0
  10. data/config/mkit_config.yml +15 -0
  11. data/config/mkitd_config.sh +5 -0
  12. data/db/migrate/001_setup.rb +105 -0
  13. data/db/migrate/002_mkit_jobs.rb +17 -0
  14. data/db/schema.rb +108 -0
  15. data/lib/mkit/app/controllers/mkitjobs_controller.rb +37 -0
  16. data/lib/mkit/app/controllers/pods_controller.rb +30 -0
  17. data/lib/mkit/app/controllers/services_controller.rb +87 -0
  18. data/lib/mkit/app/helpers/docker_helper.rb +75 -0
  19. data/lib/mkit/app/helpers/erb_helper.rb +18 -0
  20. data/lib/mkit/app/helpers/haproxy.rb +41 -0
  21. data/lib/mkit/app/helpers/interface_helper.rb +17 -0
  22. data/lib/mkit/app/helpers/services_helper.rb +54 -0
  23. data/lib/mkit/app/mkit_server.rb +8 -0
  24. data/lib/mkit/app/model/dns_host.rb +11 -0
  25. data/lib/mkit/app/model/lease.rb +26 -0
  26. data/lib/mkit/app/model/mkit_job.rb +48 -0
  27. data/lib/mkit/app/model/pod.rb +95 -0
  28. data/lib/mkit/app/model/pool.rb +60 -0
  29. data/lib/mkit/app/model/service.rb +266 -0
  30. data/lib/mkit/app/model/service_config.rb +16 -0
  31. data/lib/mkit/app/model/service_port.rb +30 -0
  32. data/lib/mkit/app/model/setting.rb +1 -0
  33. data/lib/mkit/app/model/volume.rb +53 -0
  34. data/lib/mkit/app/templates/docker/docker_run.sh.erb +1 -0
  35. data/lib/mkit/app/templates/haproxy/0000_defaults.cfg +23 -0
  36. data/lib/mkit/app/templates/haproxy/xapp_haproxy.cfg.erb +30 -0
  37. data/lib/mkit/cmd_runner.rb +27 -0
  38. data/lib/mkit/config/config.rb +18 -0
  39. data/lib/mkit/config/environment.rb +26 -0
  40. data/lib/mkit/config/initializers/001_hash.rb +11 -0
  41. data/lib/mkit/config/initializers/002_openstruct.rb +7 -0
  42. data/lib/mkit/config/load_default_configs.rb +29 -0
  43. data/lib/mkit/config/the_config.yml +3 -0
  44. data/lib/mkit/ctypes.rb +31 -0
  45. data/lib/mkit/docker_listener.rb +97 -0
  46. data/lib/mkit/exceptions.rb +30 -0
  47. data/lib/mkit/haproxy.rb +48 -0
  48. data/lib/mkit/job_manager.rb +53 -0
  49. data/lib/mkit/mkit_dns.rb +54 -0
  50. data/lib/mkit/mkit_interface.rb +31 -0
  51. data/lib/mkit/sagas/asaga.rb +11 -0
  52. data/lib/mkit/sagas/create_pod_saga.rb +28 -0
  53. data/lib/mkit/sagas/saga_manager.rb +10 -0
  54. data/lib/mkit/status.rb +47 -0
  55. data/lib/mkit/utils.rb +51 -0
  56. data/lib/mkit/version.rb +4 -0
  57. data/lib/mkit/workers/aworker.rb +11 -0
  58. data/lib/mkit/workers/haproxy_worker.rb +35 -0
  59. data/lib/mkit/workers/pod_worker.rb +39 -0
  60. data/lib/mkit/workers/service_worker.rb +27 -0
  61. data/lib/mkit/workers/worker_manager.rb +14 -0
  62. data/lib/mkit.rb +158 -0
  63. data/mkit.gemspec +40 -0
  64. data/mkitd +10 -0
  65. data/samples/apps/postgres.yml +22 -0
  66. data/samples/apps/rabbitmq.yml +19 -0
  67. data/samples/daemontools/log/run +44 -0
  68. data/samples/daemontools/run +42 -0
  69. data/samples/systemd/mkitd.service +12 -0
  70. metadata +393 -0
metadata ADDED
@@ -0,0 +1,393 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mkit
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0
5
+ platform: ruby
6
+ authors:
7
+ - Vasco Santos
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2024-01-08 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: net-ping
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.0'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 2.0.8
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '2.0'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 2.0.8
33
+ - !ruby/object:Gem::Dependency
34
+ name: dry-container
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '0.9'
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 0.9.0
43
+ type: :runtime
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '0.9'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 0.9.0
53
+ - !ruby/object:Gem::Dependency
54
+ name: sqlite3
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '1.5'
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 1.5.4
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '1.5'
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: 1.5.4
73
+ - !ruby/object:Gem::Dependency
74
+ name: standalone_migrations
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: '7.1'
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: 7.1.0
83
+ type: :runtime
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '7.1'
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: 7.1.0
93
+ - !ruby/object:Gem::Dependency
94
+ name: sinatra-activerecord
95
+ requirement: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: '2.0'
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: 2.0.26
103
+ type: :runtime
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '2.0'
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: 2.0.26
113
+ - !ruby/object:Gem::Dependency
114
+ name: rack
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - "~>"
118
+ - !ruby/object:Gem::Version
119
+ version: '2.2'
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: 2.2.5
123
+ type: :runtime
124
+ prerelease: false
125
+ version_requirements: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - "~>"
128
+ - !ruby/object:Gem::Version
129
+ version: '2.2'
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: 2.2.5
133
+ - !ruby/object:Gem::Dependency
134
+ name: rack-protection
135
+ requirement: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - "~>"
138
+ - !ruby/object:Gem::Version
139
+ version: '3.0'
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: 3.0.5
143
+ type: :runtime
144
+ prerelease: false
145
+ version_requirements: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - "~>"
148
+ - !ruby/object:Gem::Version
149
+ version: '3.0'
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: 3.0.5
153
+ - !ruby/object:Gem::Dependency
154
+ name: rack-test
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '2.0'
160
+ - - ">="
161
+ - !ruby/object:Gem::Version
162
+ version: 2.0.2
163
+ type: :runtime
164
+ prerelease: false
165
+ version_requirements: !ruby/object:Gem::Requirement
166
+ requirements:
167
+ - - "~>"
168
+ - !ruby/object:Gem::Version
169
+ version: '2.0'
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ version: 2.0.2
173
+ - !ruby/object:Gem::Dependency
174
+ name: pry
175
+ requirement: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - "~>"
178
+ - !ruby/object:Gem::Version
179
+ version: '0.14'
180
+ - - ">="
181
+ - !ruby/object:Gem::Version
182
+ version: 0.14.2
183
+ type: :runtime
184
+ prerelease: false
185
+ version_requirements: !ruby/object:Gem::Requirement
186
+ requirements:
187
+ - - "~>"
188
+ - !ruby/object:Gem::Version
189
+ version: '0.14'
190
+ - - ">="
191
+ - !ruby/object:Gem::Version
192
+ version: 0.14.2
193
+ - !ruby/object:Gem::Dependency
194
+ name: rubydns
195
+ requirement: !ruby/object:Gem::Requirement
196
+ requirements:
197
+ - - "~>"
198
+ - !ruby/object:Gem::Version
199
+ version: '2.0'
200
+ - - ">="
201
+ - !ruby/object:Gem::Version
202
+ version: 2.0.2
203
+ type: :runtime
204
+ prerelease: false
205
+ version_requirements: !ruby/object:Gem::Requirement
206
+ requirements:
207
+ - - "~>"
208
+ - !ruby/object:Gem::Version
209
+ version: '2.0'
210
+ - - ">="
211
+ - !ruby/object:Gem::Version
212
+ version: 2.0.2
213
+ - !ruby/object:Gem::Dependency
214
+ name: async-dns
215
+ requirement: !ruby/object:Gem::Requirement
216
+ requirements:
217
+ - - "~>"
218
+ - !ruby/object:Gem::Version
219
+ version: '1.3'
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: 1.3.0
223
+ type: :runtime
224
+ prerelease: false
225
+ version_requirements: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - "~>"
228
+ - !ruby/object:Gem::Version
229
+ version: '1.3'
230
+ - - ">="
231
+ - !ruby/object:Gem::Version
232
+ version: 1.3.0
233
+ - !ruby/object:Gem::Dependency
234
+ name: sinatra
235
+ requirement: !ruby/object:Gem::Requirement
236
+ requirements:
237
+ - - "~>"
238
+ - !ruby/object:Gem::Version
239
+ version: '3.0'
240
+ - - ">="
241
+ - !ruby/object:Gem::Version
242
+ version: 3.0.5
243
+ type: :runtime
244
+ prerelease: false
245
+ version_requirements: !ruby/object:Gem::Requirement
246
+ requirements:
247
+ - - "~>"
248
+ - !ruby/object:Gem::Version
249
+ version: '3.0'
250
+ - - ">="
251
+ - !ruby/object:Gem::Version
252
+ version: 3.0.5
253
+ - !ruby/object:Gem::Dependency
254
+ name: thin
255
+ requirement: !ruby/object:Gem::Requirement
256
+ requirements:
257
+ - - "~>"
258
+ - !ruby/object:Gem::Version
259
+ version: '1.8'
260
+ - - ">="
261
+ - !ruby/object:Gem::Version
262
+ version: 1.8.1
263
+ type: :runtime
264
+ prerelease: false
265
+ version_requirements: !ruby/object:Gem::Requirement
266
+ requirements:
267
+ - - "~>"
268
+ - !ruby/object:Gem::Version
269
+ version: '1.8'
270
+ - - ">="
271
+ - !ruby/object:Gem::Version
272
+ version: 1.8.1
273
+ - !ruby/object:Gem::Dependency
274
+ name: net_http_unix
275
+ requirement: !ruby/object:Gem::Requirement
276
+ requirements:
277
+ - - "~>"
278
+ - !ruby/object:Gem::Version
279
+ version: '0.2'
280
+ - - ">="
281
+ - !ruby/object:Gem::Version
282
+ version: 0.2.2
283
+ type: :runtime
284
+ prerelease: false
285
+ version_requirements: !ruby/object:Gem::Requirement
286
+ requirements:
287
+ - - "~>"
288
+ - !ruby/object:Gem::Version
289
+ version: '0.2'
290
+ - - ">="
291
+ - !ruby/object:Gem::Version
292
+ version: 0.2.2
293
+ description: micro kubernets impl
294
+ email:
295
+ - valexsantos@gmail.com
296
+ executables:
297
+ - mkitd
298
+ - mkitc
299
+ extensions: []
300
+ extra_rdoc_files: []
301
+ files:
302
+ - Gemfile
303
+ - Gemfile.lock
304
+ - LICENSE
305
+ - README.md
306
+ - Rakefile
307
+ - bin/mkitc
308
+ - bin/mkitd
309
+ - config/database.yml
310
+ - config/mkit_config.yml
311
+ - config/mkitd_config.sh
312
+ - db/migrate/001_setup.rb
313
+ - db/migrate/002_mkit_jobs.rb
314
+ - db/schema.rb
315
+ - lib/mkit.rb
316
+ - lib/mkit/app/controllers/mkitjobs_controller.rb
317
+ - lib/mkit/app/controllers/pods_controller.rb
318
+ - lib/mkit/app/controllers/services_controller.rb
319
+ - lib/mkit/app/helpers/docker_helper.rb
320
+ - lib/mkit/app/helpers/erb_helper.rb
321
+ - lib/mkit/app/helpers/haproxy.rb
322
+ - lib/mkit/app/helpers/interface_helper.rb
323
+ - lib/mkit/app/helpers/services_helper.rb
324
+ - lib/mkit/app/mkit_server.rb
325
+ - lib/mkit/app/model/dns_host.rb
326
+ - lib/mkit/app/model/lease.rb
327
+ - lib/mkit/app/model/mkit_job.rb
328
+ - lib/mkit/app/model/pod.rb
329
+ - lib/mkit/app/model/pool.rb
330
+ - lib/mkit/app/model/service.rb
331
+ - lib/mkit/app/model/service_config.rb
332
+ - lib/mkit/app/model/service_port.rb
333
+ - lib/mkit/app/model/setting.rb
334
+ - lib/mkit/app/model/volume.rb
335
+ - lib/mkit/app/templates/docker/docker_run.sh.erb
336
+ - lib/mkit/app/templates/haproxy/0000_defaults.cfg
337
+ - lib/mkit/app/templates/haproxy/xapp_haproxy.cfg.erb
338
+ - lib/mkit/cmd_runner.rb
339
+ - lib/mkit/config/config.rb
340
+ - lib/mkit/config/environment.rb
341
+ - lib/mkit/config/initializers/001_hash.rb
342
+ - lib/mkit/config/initializers/002_openstruct.rb
343
+ - lib/mkit/config/load_default_configs.rb
344
+ - lib/mkit/config/the_config.yml
345
+ - lib/mkit/ctypes.rb
346
+ - lib/mkit/docker_listener.rb
347
+ - lib/mkit/exceptions.rb
348
+ - lib/mkit/haproxy.rb
349
+ - lib/mkit/job_manager.rb
350
+ - lib/mkit/mkit_dns.rb
351
+ - lib/mkit/mkit_interface.rb
352
+ - lib/mkit/sagas/asaga.rb
353
+ - lib/mkit/sagas/create_pod_saga.rb
354
+ - lib/mkit/sagas/saga_manager.rb
355
+ - lib/mkit/status.rb
356
+ - lib/mkit/utils.rb
357
+ - lib/mkit/version.rb
358
+ - lib/mkit/workers/aworker.rb
359
+ - lib/mkit/workers/haproxy_worker.rb
360
+ - lib/mkit/workers/pod_worker.rb
361
+ - lib/mkit/workers/service_worker.rb
362
+ - lib/mkit/workers/worker_manager.rb
363
+ - mkit.gemspec
364
+ - mkitd
365
+ - samples/apps/postgres.yml
366
+ - samples/apps/rabbitmq.yml
367
+ - samples/daemontools/log/run
368
+ - samples/daemontools/run
369
+ - samples/systemd/mkitd.service
370
+ homepage: http://vars.pt
371
+ licenses:
372
+ - Apache-2.0
373
+ metadata: {}
374
+ post_install_message:
375
+ rdoc_options: []
376
+ require_paths:
377
+ - lib
378
+ required_ruby_version: !ruby/object:Gem::Requirement
379
+ requirements:
380
+ - - ">="
381
+ - !ruby/object:Gem::Version
382
+ version: '0'
383
+ required_rubygems_version: !ruby/object:Gem::Requirement
384
+ requirements:
385
+ - - ">="
386
+ - !ruby/object:Gem::Version
387
+ version: '0'
388
+ requirements: []
389
+ rubygems_version: 3.3.5
390
+ signing_key:
391
+ specification_version: 4
392
+ summary: micro kubernets
393
+ test_files: []