mkit 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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: []