mkit 0.4.1 → 0.4.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +10 -0
- data/Gemfile +12 -10
- data/Gemfile.lock +3 -0
- data/README.md +32 -21
- data/Rakefile +16 -15
- data/bin/mkitc +249 -84
- data/bin/mkitd +3 -6
- data/config/mkit_config.yml +5 -5
- data/db/migrate/001_setup.rb +5 -5
- data/db/migrate/002_mkit_jobs.rb +2 -3
- data/db/schema.rb +76 -75
- data/lib/mkit/app/controllers/mkit_controller.rb +25 -0
- data/lib/mkit/app/controllers/mkitjobs_controller.rb +4 -5
- data/lib/mkit/app/controllers/pods_controller.rb +4 -5
- data/lib/mkit/app/controllers/services_controller.rb +19 -13
- data/lib/mkit/app/helpers/docker_helper.rb +4 -3
- data/lib/mkit/app/helpers/erb_helper.rb +4 -2
- data/lib/mkit/app/helpers/services_helper.rb +17 -41
- data/lib/mkit/app/mkit_server.rb +2 -0
- data/lib/mkit/version.rb +1 -1
- data/lib/mkit.rb +46 -47
- data/mkit.gemspec +33 -35
- metadata +54 -52
data/lib/mkit.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'rubygems'
|
2
4
|
require 'bundler'
|
3
5
|
require 'json'
|
@@ -10,13 +12,14 @@ require 'sinatra/base'
|
|
10
12
|
require 'mkit/config/environment'
|
11
13
|
require 'mkit/app/mkit_server'
|
12
14
|
require 'mkit/config/load_default_configs'
|
13
|
-
require_relative
|
15
|
+
require_relative 'mkit/version'
|
14
16
|
require_relative 'mkit/mkit_interface'
|
15
17
|
require_relative 'mkit/mkit_dns'
|
16
18
|
require_relative 'mkit/docker_listener'
|
17
19
|
require 'mkit/app/helpers/haproxy'
|
18
20
|
require 'mkit/app/controllers/services_controller'
|
19
21
|
require 'mkit/app/controllers/mkitjobs_controller'
|
22
|
+
require 'mkit/app/controllers/mkit_controller'
|
20
23
|
require 'mkit/mkit_interface'
|
21
24
|
require 'mkit/mkit_dns'
|
22
25
|
require 'mkit/job_manager'
|
@@ -40,23 +43,23 @@ module MKIt
|
|
40
43
|
MKItLogger.debug!
|
41
44
|
#
|
42
45
|
# config dir
|
43
|
-
if ENV[
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
46
|
+
@config_dir = if ENV['RACK_ENV'] != 'development'
|
47
|
+
options[:config_dir].nil? ? '/etc/mkit' : options[:config_dir]
|
48
|
+
else
|
49
|
+
options[:config_dir].nil? ? "#{@root}/config" : options[:config_dir]
|
50
|
+
end
|
48
51
|
MKIt::Utils.set_config_dir(@config_dir)
|
49
52
|
# create dirs
|
50
|
-
if ENV[
|
53
|
+
if ENV['RACK_ENV'] != 'development' || !options[:config_dir].nil?
|
51
54
|
check_config_files = false
|
52
|
-
|
55
|
+
unless File.exist?(@config_dir)
|
53
56
|
FileUtils.mkdir_p(@config_dir)
|
54
57
|
check_config_files = true
|
55
58
|
end
|
56
|
-
FileUtils.mkdir_p('/var/lib/mkitd') unless File.
|
57
|
-
FileUtils.cp(
|
58
|
-
FileUtils.cp(
|
59
|
-
FileUtils.cp(
|
59
|
+
FileUtils.mkdir_p('/var/lib/mkitd') unless File.exist?('/var/lib/mkitd')
|
60
|
+
FileUtils.cp("#{@root}/config/mkit_config.yml", @config_dir) unless File.exist?("#{@config_dir}/mkit_config.yml")
|
61
|
+
FileUtils.cp("#{@root}/config/database.yml", @config_dir) unless File.exist?("#{@config_dir}/database.yml")
|
62
|
+
FileUtils.cp("#{@root}/config/mkitd_config.sh", @config_dir) unless File.exist?("#{@config_dir}/mkitd_config.sh")
|
60
63
|
if check_config_files
|
61
64
|
MKItLogger.info "Configuration files copied to #{@config_dir}. Please check it and restart."
|
62
65
|
exit
|
@@ -69,10 +72,12 @@ module MKIt
|
|
69
72
|
# run config based tasks
|
70
73
|
FileUtils.mkdir_p(MKIt::Config.mkit.haproxy.config_dir)
|
71
74
|
# ...haproxy defaults file
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
75
|
+
unless File.exist?("#{MKIt::Config.mkit.haproxy.config_dir}/0000_defaults.cfg")
|
76
|
+
FileUtils.cp(
|
77
|
+
"#{MKIt::Utils.root}/lib/mkit/app/templates/haproxy/0000_defaults.cfg",
|
78
|
+
MKIt::Config.mkit.haproxy.config_dir
|
79
|
+
)
|
80
|
+
end
|
76
81
|
#
|
77
82
|
# conn = { adapter: "sqlite3", database: ":memory:" }
|
78
83
|
# ActiveRecord::Base.establish_connection(conn)
|
@@ -81,18 +86,16 @@ module MKIt
|
|
81
86
|
# DatabaseTasks.db_dir = 'db'
|
82
87
|
#
|
83
88
|
DatabaseTasks.database_configuration = MKIt::Utils.load_db_config
|
84
|
-
DatabaseTasks.env=MKIt::Config.mkit.database.env
|
85
|
-
DatabaseTasks.migrations_paths=[
|
86
|
-
DatabaseTasks.db_dir=
|
87
|
-
DatabaseTasks.root
|
89
|
+
DatabaseTasks.env = MKIt::Config.mkit.database.env
|
90
|
+
DatabaseTasks.migrations_paths = ["#{@root}/db/migrate"]
|
91
|
+
DatabaseTasks.db_dir = 'db'
|
92
|
+
DatabaseTasks.root = @root
|
88
93
|
end
|
89
94
|
|
90
95
|
def self.establish_db_connection
|
91
|
-
#
|
92
96
|
ActiveRecord::Base.establish_connection(DatabaseTasks.database_configuration[DatabaseTasks.env])
|
93
97
|
ActiveRecord::Base.connection.migration_context.migrations_paths.clear
|
94
98
|
ActiveRecord::Base.connection.migration_context.migrations_paths << "#{@root}/db/migrate"
|
95
|
-
#
|
96
99
|
MKItLogger.debug "database_tasks migration paths #{DatabaseTasks.migrations_paths}"
|
97
100
|
MKItLogger.debug "active_record_base migration_paths #{ActiveRecord::Base.connection.migration_context.migrations_paths.inspect}"
|
98
101
|
MKItLogger.debug "active_record_base configurations #{ActiveRecord::Base.configurations.inspect}"
|
@@ -100,62 +103,58 @@ module MKIt
|
|
100
103
|
end
|
101
104
|
|
102
105
|
def self.migrate
|
103
|
-
|
106
|
+
if ActiveRecord::Base.connection.migration_context.needs_migration?
|
107
|
+
ActiveRecord::Base.connection.migration_context.migrate
|
108
|
+
end
|
104
109
|
end
|
105
110
|
|
106
111
|
def self.restore_operation
|
107
|
-
MKItLogger.info
|
112
|
+
MKItLogger.info 'restoring operations...'
|
108
113
|
# create interfaces of deployed apps otherwise haproxy won't start
|
109
|
-
Service.all.each
|
114
|
+
Service.all.each do |srv|
|
110
115
|
srv.deploy_network
|
111
116
|
srv.update_status!
|
112
|
-
|
117
|
+
end
|
113
118
|
# daemontools would eventually start haproxy; systemd does not.
|
114
119
|
# so, restart here.
|
120
|
+
MKItLogger.debug 'restarting proxy...'
|
115
121
|
MKIt::HAProxy.restart
|
116
122
|
end
|
117
123
|
|
118
124
|
def self.startup(options: {})
|
119
|
-
|
120
|
-
|
121
|
-
|
125
|
+
configure(options: options)
|
126
|
+
establish_db_connection
|
127
|
+
migrate
|
122
128
|
|
123
129
|
MKIt::Initializers.load_default_configs
|
124
130
|
MKIt::Interface.up
|
125
131
|
|
126
|
-
System.register(:job_manager, memoize: true)
|
132
|
+
System.register(:job_manager, memoize: true) do
|
127
133
|
MKIt::JobManager.new
|
128
|
-
|
129
|
-
System.register(:mkit_dns, memoize: true)
|
130
|
-
Thread.new
|
134
|
+
end
|
135
|
+
System.register(:mkit_dns, memoize: true) do
|
136
|
+
Thread.new do
|
131
137
|
dns = MKIt::DNS.new
|
132
138
|
dns.run
|
133
|
-
|
134
|
-
|
135
|
-
System.register(:docker_listener, memoize: true)
|
139
|
+
end
|
140
|
+
end
|
141
|
+
System.register(:docker_listener, memoize: true) do
|
136
142
|
MKIt::DockerListener.new
|
137
|
-
|
143
|
+
end
|
138
144
|
# watchdog feature is to be re-evaluated
|
139
145
|
# System.register(:watchdog, memoize: true) {
|
140
146
|
# MKIt::WatchdogManager.new
|
141
147
|
# }
|
142
148
|
|
143
149
|
# register workers
|
144
|
-
WorkerManager.register_workers
|
150
|
+
WorkerManager.register_workers
|
145
151
|
SagaManager.register_workers
|
146
|
-
#
|
147
152
|
System[:job_manager].start
|
148
153
|
System[:docker_listener].start
|
149
154
|
# watchdog feature is to be re-evaluated
|
150
155
|
# System[:watchdog].start
|
151
156
|
System[:mkit_dns].run
|
152
|
-
|
153
|
-
|
154
|
-
#
|
155
|
-
MKItLogger.debug "restarting proxy..."
|
156
|
-
MKIt::HAProxy.restart
|
157
|
-
MKItLogger.info "MKIt is up and running!"
|
157
|
+
restore_operation
|
158
|
+
MKItLogger.info 'MKIt is up and running!'
|
158
159
|
end
|
159
|
-
|
160
160
|
end
|
161
|
-
|
data/mkit.gemspec
CHANGED
@@ -1,40 +1,38 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
-
lib = File.expand_path(
|
3
|
+
lib = File.expand_path('lib', __dir__)
|
4
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
|
-
require
|
5
|
+
require 'mkit/version'
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
s.add_runtime_dependency 'net_http_unix', '~> 0.2', '>= 0.2.2'
|
8
|
+
s.name = 'mkit'
|
9
|
+
s.summary = 'Micro Kubernets on Ruby'
|
10
|
+
s.bindir = 'bin'
|
11
|
+
s.homepage = 'https://github.com/valexsantos/mkit'
|
12
|
+
s.license = 'Apache-2.0'
|
13
|
+
s.description = 'Micro k8s on Ruby - a simple tool to deploy containers to mimic a (very) minimalistic k8 cluster with a nice REST API'
|
14
|
+
# s.require_paths = ["."]
|
15
|
+
s.author = 'Vasco Santos'
|
16
|
+
s.email = ['valexsantos@gmail.com']
|
17
|
+
s.version = MKIt::VERSION
|
18
|
+
s.platform = Gem::Platform::RUBY
|
19
|
+
s.files = Dir.chdir(File.expand_path(__dir__)) do
|
20
|
+
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features|TODO|db/development.sqlite)}) }
|
21
|
+
end
|
22
|
+
s.executables << 'mkitd'
|
23
|
+
s.executables << 'mkitc'
|
24
|
+
s.add_runtime_dependency 'async-dns', '~> 1.3', '>= 1.3.0'
|
25
|
+
s.add_runtime_dependency 'dry-container', '~> 0.9', '>= 0.9.0'
|
26
|
+
s.add_runtime_dependency 'net_http_unix', '~> 0.2', '>= 0.2.2'
|
27
|
+
s.add_runtime_dependency 'net-ping', '~> 2.0', '>= 2.0.8'
|
28
|
+
s.add_runtime_dependency 'pry', '~> 0.14', '>= 0.14.2'
|
29
|
+
s.add_runtime_dependency 'rack', '~> 2.2', '>= 2.2.5'
|
30
|
+
s.add_runtime_dependency 'rack-protection', '~> 3.0', '>= 3.0.5'
|
31
|
+
s.add_runtime_dependency 'rack-test', '~> 2.0', '>= 2.0.2'
|
32
|
+
s.add_runtime_dependency 'rubydns', '~> 2.0', '>= 2.0.2'
|
33
|
+
s.add_runtime_dependency 'sinatra', '~> 3.0', '>= 3.0.5'
|
34
|
+
s.add_runtime_dependency 'sinatra-activerecord', '~> 2.0', '>= 2.0.26'
|
35
|
+
s.add_runtime_dependency 'sqlite3', '~> 1.5', '>= 1.5.4'
|
36
|
+
s.add_runtime_dependency 'standalone_migrations', '~> 7.1', '>= 7.1.0'
|
37
|
+
s.add_runtime_dependency 'thin', '~> 1.8', '>= 1.8.1'
|
39
38
|
end
|
40
|
-
|
metadata
CHANGED
@@ -1,35 +1,35 @@
|
|
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.2
|
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-
|
11
|
+
date: 2024-02-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: async-dns
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '1.3'
|
20
20
|
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version:
|
22
|
+
version: 1.3.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - "~>"
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: '
|
29
|
+
version: '1.3'
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
32
|
+
version: 1.3.0
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: dry-container
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -51,65 +51,65 @@ dependencies:
|
|
51
51
|
- !ruby/object:Gem::Version
|
52
52
|
version: 0.9.0
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
|
-
name:
|
54
|
+
name: net_http_unix
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
56
56
|
requirements:
|
57
57
|
- - "~>"
|
58
58
|
- !ruby/object:Gem::Version
|
59
|
-
version: '
|
59
|
+
version: '0.2'
|
60
60
|
- - ">="
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version:
|
62
|
+
version: 0.2.2
|
63
63
|
type: :runtime
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
67
|
- - "~>"
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version: '
|
69
|
+
version: '0.2'
|
70
70
|
- - ">="
|
71
71
|
- !ruby/object:Gem::Version
|
72
|
-
version:
|
72
|
+
version: 0.2.2
|
73
73
|
- !ruby/object:Gem::Dependency
|
74
|
-
name:
|
74
|
+
name: net-ping
|
75
75
|
requirement: !ruby/object:Gem::Requirement
|
76
76
|
requirements:
|
77
77
|
- - "~>"
|
78
78
|
- !ruby/object:Gem::Version
|
79
|
-
version: '
|
79
|
+
version: '2.0'
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: 2.0.8
|
83
83
|
type: :runtime
|
84
84
|
prerelease: false
|
85
85
|
version_requirements: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
89
|
+
version: '2.0'
|
90
90
|
- - ">="
|
91
91
|
- !ruby/object:Gem::Version
|
92
|
-
version:
|
92
|
+
version: 2.0.8
|
93
93
|
- !ruby/object:Gem::Dependency
|
94
|
-
name:
|
94
|
+
name: pry
|
95
95
|
requirement: !ruby/object:Gem::Requirement
|
96
96
|
requirements:
|
97
97
|
- - "~>"
|
98
98
|
- !ruby/object:Gem::Version
|
99
|
-
version: '
|
99
|
+
version: '0.14'
|
100
100
|
- - ">="
|
101
101
|
- !ruby/object:Gem::Version
|
102
|
-
version:
|
102
|
+
version: 0.14.2
|
103
103
|
type: :runtime
|
104
104
|
prerelease: false
|
105
105
|
version_requirements: !ruby/object:Gem::Requirement
|
106
106
|
requirements:
|
107
107
|
- - "~>"
|
108
108
|
- !ruby/object:Gem::Version
|
109
|
-
version: '
|
109
|
+
version: '0.14'
|
110
110
|
- - ">="
|
111
111
|
- !ruby/object:Gem::Version
|
112
|
-
version:
|
112
|
+
version: 0.14.2
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: rack
|
115
115
|
requirement: !ruby/object:Gem::Requirement
|
@@ -171,125 +171,125 @@ dependencies:
|
|
171
171
|
- !ruby/object:Gem::Version
|
172
172
|
version: 2.0.2
|
173
173
|
- !ruby/object:Gem::Dependency
|
174
|
-
name:
|
174
|
+
name: rubydns
|
175
175
|
requirement: !ruby/object:Gem::Requirement
|
176
176
|
requirements:
|
177
177
|
- - "~>"
|
178
178
|
- !ruby/object:Gem::Version
|
179
|
-
version: '0
|
179
|
+
version: '2.0'
|
180
180
|
- - ">="
|
181
181
|
- !ruby/object:Gem::Version
|
182
|
-
version: 0.
|
182
|
+
version: 2.0.2
|
183
183
|
type: :runtime
|
184
184
|
prerelease: false
|
185
185
|
version_requirements: !ruby/object:Gem::Requirement
|
186
186
|
requirements:
|
187
187
|
- - "~>"
|
188
188
|
- !ruby/object:Gem::Version
|
189
|
-
version: '0
|
189
|
+
version: '2.0'
|
190
190
|
- - ">="
|
191
191
|
- !ruby/object:Gem::Version
|
192
|
-
version: 0.
|
192
|
+
version: 2.0.2
|
193
193
|
- !ruby/object:Gem::Dependency
|
194
|
-
name:
|
194
|
+
name: sinatra
|
195
195
|
requirement: !ruby/object:Gem::Requirement
|
196
196
|
requirements:
|
197
197
|
- - "~>"
|
198
198
|
- !ruby/object:Gem::Version
|
199
|
-
version: '
|
199
|
+
version: '3.0'
|
200
200
|
- - ">="
|
201
201
|
- !ruby/object:Gem::Version
|
202
|
-
version:
|
202
|
+
version: 3.0.5
|
203
203
|
type: :runtime
|
204
204
|
prerelease: false
|
205
205
|
version_requirements: !ruby/object:Gem::Requirement
|
206
206
|
requirements:
|
207
207
|
- - "~>"
|
208
208
|
- !ruby/object:Gem::Version
|
209
|
-
version: '
|
209
|
+
version: '3.0'
|
210
210
|
- - ">="
|
211
211
|
- !ruby/object:Gem::Version
|
212
|
-
version:
|
212
|
+
version: 3.0.5
|
213
213
|
- !ruby/object:Gem::Dependency
|
214
|
-
name:
|
214
|
+
name: sinatra-activerecord
|
215
215
|
requirement: !ruby/object:Gem::Requirement
|
216
216
|
requirements:
|
217
217
|
- - "~>"
|
218
218
|
- !ruby/object:Gem::Version
|
219
|
-
version: '
|
219
|
+
version: '2.0'
|
220
220
|
- - ">="
|
221
221
|
- !ruby/object:Gem::Version
|
222
|
-
version:
|
222
|
+
version: 2.0.26
|
223
223
|
type: :runtime
|
224
224
|
prerelease: false
|
225
225
|
version_requirements: !ruby/object:Gem::Requirement
|
226
226
|
requirements:
|
227
227
|
- - "~>"
|
228
228
|
- !ruby/object:Gem::Version
|
229
|
-
version: '
|
229
|
+
version: '2.0'
|
230
230
|
- - ">="
|
231
231
|
- !ruby/object:Gem::Version
|
232
|
-
version:
|
232
|
+
version: 2.0.26
|
233
233
|
- !ruby/object:Gem::Dependency
|
234
|
-
name:
|
234
|
+
name: sqlite3
|
235
235
|
requirement: !ruby/object:Gem::Requirement
|
236
236
|
requirements:
|
237
237
|
- - "~>"
|
238
238
|
- !ruby/object:Gem::Version
|
239
|
-
version: '
|
239
|
+
version: '1.5'
|
240
240
|
- - ">="
|
241
241
|
- !ruby/object:Gem::Version
|
242
|
-
version:
|
242
|
+
version: 1.5.4
|
243
243
|
type: :runtime
|
244
244
|
prerelease: false
|
245
245
|
version_requirements: !ruby/object:Gem::Requirement
|
246
246
|
requirements:
|
247
247
|
- - "~>"
|
248
248
|
- !ruby/object:Gem::Version
|
249
|
-
version: '
|
249
|
+
version: '1.5'
|
250
250
|
- - ">="
|
251
251
|
- !ruby/object:Gem::Version
|
252
|
-
version:
|
252
|
+
version: 1.5.4
|
253
253
|
- !ruby/object:Gem::Dependency
|
254
|
-
name:
|
254
|
+
name: standalone_migrations
|
255
255
|
requirement: !ruby/object:Gem::Requirement
|
256
256
|
requirements:
|
257
257
|
- - "~>"
|
258
258
|
- !ruby/object:Gem::Version
|
259
|
-
version: '1
|
259
|
+
version: '7.1'
|
260
260
|
- - ">="
|
261
261
|
- !ruby/object:Gem::Version
|
262
|
-
version: 1.
|
262
|
+
version: 7.1.0
|
263
263
|
type: :runtime
|
264
264
|
prerelease: false
|
265
265
|
version_requirements: !ruby/object:Gem::Requirement
|
266
266
|
requirements:
|
267
267
|
- - "~>"
|
268
268
|
- !ruby/object:Gem::Version
|
269
|
-
version: '1
|
269
|
+
version: '7.1'
|
270
270
|
- - ">="
|
271
271
|
- !ruby/object:Gem::Version
|
272
|
-
version: 1.
|
272
|
+
version: 7.1.0
|
273
273
|
- !ruby/object:Gem::Dependency
|
274
|
-
name:
|
274
|
+
name: thin
|
275
275
|
requirement: !ruby/object:Gem::Requirement
|
276
276
|
requirements:
|
277
277
|
- - "~>"
|
278
278
|
- !ruby/object:Gem::Version
|
279
|
-
version: '
|
279
|
+
version: '1.8'
|
280
280
|
- - ">="
|
281
281
|
- !ruby/object:Gem::Version
|
282
|
-
version:
|
282
|
+
version: 1.8.1
|
283
283
|
type: :runtime
|
284
284
|
prerelease: false
|
285
285
|
version_requirements: !ruby/object:Gem::Requirement
|
286
286
|
requirements:
|
287
287
|
- - "~>"
|
288
288
|
- !ruby/object:Gem::Version
|
289
|
-
version: '
|
289
|
+
version: '1.8'
|
290
290
|
- - ">="
|
291
291
|
- !ruby/object:Gem::Version
|
292
|
-
version:
|
292
|
+
version: 1.8.1
|
293
293
|
description: Micro k8s on Ruby - a simple tool to deploy containers to mimic a (very)
|
294
294
|
minimalistic k8 cluster with a nice REST API
|
295
295
|
email:
|
@@ -300,6 +300,7 @@ executables:
|
|
300
300
|
extensions: []
|
301
301
|
extra_rdoc_files: []
|
302
302
|
files:
|
303
|
+
- ".rubocop.yml"
|
303
304
|
- Gemfile
|
304
305
|
- Gemfile.lock
|
305
306
|
- LICENSE
|
@@ -314,6 +315,7 @@ files:
|
|
314
315
|
- db/migrate/002_mkit_jobs.rb
|
315
316
|
- db/schema.rb
|
316
317
|
- lib/mkit.rb
|
318
|
+
- lib/mkit/app/controllers/mkit_controller.rb
|
317
319
|
- lib/mkit/app/controllers/mkitjobs_controller.rb
|
318
320
|
- lib/mkit/app/controllers/pods_controller.rb
|
319
321
|
- lib/mkit/app/controllers/services_controller.rb
|