mkit 0.9.1 → 0.10.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.
- checksums.yaml +4 -4
- data/README.md +50 -15
- data/db/migrate/004_create_ingress.rb +12 -0
- data/db/migrate/005_create_frontend.rb +20 -0
- data/db/migrate/006_create_backend.rb +18 -0
- data/db/migrate/007_migrate_schema.rb +59 -0
- data/lib/mkit/app/controllers/services_controller.rb +12 -0
- data/lib/mkit/app/helpers/migrations_helper.rb +62 -0
- data/lib/mkit/app/helpers/services_helper.rb +4 -15
- data/lib/mkit/app/model/backend.rb +58 -0
- data/lib/mkit/app/model/frontend.rb +63 -0
- data/lib/mkit/app/model/ingress.rb +98 -0
- data/lib/mkit/app/model/pod.rb +7 -13
- data/lib/mkit/app/model/service.rb +21 -23
- data/lib/mkit/app/model/service_port.rb +0 -1
- data/lib/mkit/app/templates/haproxy/0000_defaults.cfg +2 -2
- data/lib/mkit/app/templates/haproxy/app_haproxy.cfg.erb +28 -0
- data/lib/mkit/client/commands.yaml +13 -0
- data/lib/mkit/config/environment.rb +1 -0
- data/lib/mkit/config/initializers/001_hash.rb +14 -0
- data/lib/mkit/config/initializers/003_custom_exceptions.rb +10 -0
- data/lib/mkit/ctypes.rb +1 -1
- data/lib/mkit/exceptions.rb +13 -1
- data/lib/mkit/pods/docker_listener.rb +19 -14
- data/lib/mkit/sagas/create_pod_saga.rb +9 -7
- data/lib/mkit/sagas/destroy_pod_saga.rb +32 -0
- data/lib/mkit/sagas/saga_manager.rb +2 -0
- data/lib/mkit/version.rb +1 -1
- data/lib/mkit/workers/pod_worker.rb +3 -1
- data/lib/mkit/workers/service_worker.rb +2 -0
- data/samples/apps/httpbin.yml +46 -0
- data/samples/apps/kafka-cluster.yml +18 -8
- data/samples/apps/kafka-magic.yml +27 -10
- data/samples/apps/kafka-zookeeper.yml +18 -7
- data/samples/apps/minio.yml +33 -7
- data/samples/apps/mongo.yml +15 -4
- data/samples/apps/nexus.yml +41 -6
- data/samples/apps/postgres.yml +17 -7
- data/samples/apps/rabbitmq.yml +35 -8
- data/samples/apps/redis-sentinel.yml +15 -5
- data/samples/apps/redis.yml +15 -5
- metadata +14 -2
data/samples/apps/nexus.yml
CHANGED
@@ -1,14 +1,49 @@
|
|
1
|
-
|
1
|
+
---
|
2
2
|
service:
|
3
3
|
name: nexus
|
4
4
|
image: sonatype/nexus3
|
5
5
|
network: bridge
|
6
|
-
ports:
|
7
|
-
- 80:8081:http:round_robin
|
8
|
-
- 443:8081:http:round_robin:ssl
|
9
6
|
resources:
|
10
7
|
max_replicas: 1
|
11
8
|
min_replicas: 1
|
12
9
|
volumes:
|
13
|
-
|
14
|
-
|
10
|
+
- docker://nexus_data:/nexus-data
|
11
|
+
ingress:
|
12
|
+
frontend:
|
13
|
+
- name: frontend-80
|
14
|
+
options: []
|
15
|
+
bind:
|
16
|
+
port: '80'
|
17
|
+
mode: http
|
18
|
+
default_backend: backend-80
|
19
|
+
- name: frontend-443
|
20
|
+
options: []
|
21
|
+
bind:
|
22
|
+
port: '443'
|
23
|
+
mode: http
|
24
|
+
ssl: true
|
25
|
+
cert:
|
26
|
+
default_backend: backend-443
|
27
|
+
backend:
|
28
|
+
- name: backend-80
|
29
|
+
bind:
|
30
|
+
port: '8081'
|
31
|
+
mode: http
|
32
|
+
options:
|
33
|
+
- cookie A check
|
34
|
+
balance: round_robin
|
35
|
+
options:
|
36
|
+
- option httpclose
|
37
|
+
- option forwardfor
|
38
|
+
- cookie JSESSIONID prefix
|
39
|
+
- name: backend-443
|
40
|
+
bind:
|
41
|
+
port: '8081'
|
42
|
+
mode: http
|
43
|
+
options:
|
44
|
+
- cookie A check
|
45
|
+
balance: round_robin
|
46
|
+
options:
|
47
|
+
- option httpclose
|
48
|
+
- option forwardfor
|
49
|
+
- cookie JSESSIONID prefix
|
data/samples/apps/postgres.yml
CHANGED
@@ -1,16 +1,14 @@
|
|
1
|
-
|
1
|
+
---
|
2
2
|
service:
|
3
3
|
name: postgres
|
4
4
|
network: bridge
|
5
|
-
image:
|
6
|
-
ports:
|
7
|
-
- 5432:5432:tcp:round_robin
|
5
|
+
image: postgres:14
|
8
6
|
environment:
|
9
7
|
POSTGRES_USER: postgres
|
10
8
|
POSTGRES_PASSWORD: postgres
|
11
9
|
POSTGRES_DB: postgres
|
12
10
|
volumes:
|
13
|
-
|
11
|
+
- docker://postgresql_14_data:/var/lib/postgresql/data
|
14
12
|
restart: always
|
15
13
|
resources:
|
16
14
|
max_replicas: 1
|
@@ -18,5 +16,17 @@ service:
|
|
18
16
|
limits:
|
19
17
|
cpu: 1000m
|
20
18
|
ram: 1Gi
|
21
|
-
|
22
|
-
|
19
|
+
ingress:
|
20
|
+
frontend:
|
21
|
+
- name: frontend-5432
|
22
|
+
options: []
|
23
|
+
bind:
|
24
|
+
port: '5432'
|
25
|
+
mode: tcp
|
26
|
+
default_backend: backend-5432
|
27
|
+
backend:
|
28
|
+
- name: backend-5432
|
29
|
+
bind:
|
30
|
+
port: '5432'
|
31
|
+
mode: tcp
|
32
|
+
balance: round_robin
|
data/samples/apps/rabbitmq.yml
CHANGED
@@ -1,19 +1,46 @@
|
|
1
|
-
|
1
|
+
---
|
2
2
|
service:
|
3
3
|
name: rabbitmq
|
4
4
|
image: rabbitmq:3-management-alpine
|
5
|
-
network: bridge
|
6
|
-
ports:
|
7
|
-
- 5672:5672:tcp:round_robin
|
8
|
-
- 80:15672:http:round_robin
|
5
|
+
network: bridge
|
9
6
|
resources:
|
10
7
|
max_replicas: 1
|
11
8
|
min_replicas: 1
|
12
9
|
volumes:
|
13
|
-
|
14
|
-
|
10
|
+
- docker://mkit_rabbitmq_data:/var/lib/rabbitmq
|
11
|
+
- docker://mkit_rabbitmq_logs:/var/log/rabbitmq
|
15
12
|
environment:
|
16
13
|
RABBITMQ_DEFAULT_USER: admin
|
17
14
|
RABBITMQ_DEFAULT_PASS: admin
|
18
15
|
RABBITMQ_DEFAULT_VHOST: mkit
|
19
|
-
|
16
|
+
ingress:
|
17
|
+
frontend:
|
18
|
+
- name: frontend-5672
|
19
|
+
options: []
|
20
|
+
bind:
|
21
|
+
port: '5672'
|
22
|
+
mode: tcp
|
23
|
+
default_backend: backend-5672
|
24
|
+
- name: frontend-80
|
25
|
+
options: []
|
26
|
+
bind:
|
27
|
+
port: '80'
|
28
|
+
mode: http
|
29
|
+
default_backend: backend-80
|
30
|
+
backend:
|
31
|
+
- name: backend-5672
|
32
|
+
bind:
|
33
|
+
port: '5672'
|
34
|
+
mode: tcp
|
35
|
+
balance: round_robin
|
36
|
+
- name: backend-80
|
37
|
+
bind:
|
38
|
+
port: '15672'
|
39
|
+
mode: http
|
40
|
+
options:
|
41
|
+
- cookie A check
|
42
|
+
balance: round_robin
|
43
|
+
options:
|
44
|
+
- option httpclose
|
45
|
+
- option forwardfor
|
46
|
+
- cookie JSESSIONID prefix
|
@@ -1,11 +1,21 @@
|
|
1
|
-
|
1
|
+
---
|
2
2
|
service:
|
3
3
|
name: redis-sentinel
|
4
4
|
image: bitnami/redis-sentinel:latest
|
5
5
|
network: bridge
|
6
|
-
ports:
|
7
|
-
- 26379:26379:tcp:round_robin
|
8
6
|
environment:
|
9
7
|
REDIS_MASTER_HOST: redis
|
10
|
-
|
11
|
-
|
8
|
+
ingress:
|
9
|
+
frontend:
|
10
|
+
- name: frontend-26379
|
11
|
+
options: []
|
12
|
+
bind:
|
13
|
+
port: '26379'
|
14
|
+
mode: tcp
|
15
|
+
default_backend: backend-26379
|
16
|
+
backend:
|
17
|
+
- name: backend-26379
|
18
|
+
bind:
|
19
|
+
port: '26379'
|
20
|
+
mode: tcp
|
21
|
+
balance: round_robin
|
data/samples/apps/redis.yml
CHANGED
@@ -1,9 +1,19 @@
|
|
1
|
-
|
1
|
+
---
|
2
2
|
service:
|
3
3
|
name: redis
|
4
4
|
image: redis:4.0-alpine
|
5
5
|
network: bridge
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
6
|
+
ingress:
|
7
|
+
frontend:
|
8
|
+
- name: frontend-6379
|
9
|
+
options: []
|
10
|
+
bind:
|
11
|
+
port: '6379'
|
12
|
+
mode: tcp
|
13
|
+
default_backend: backend-6379
|
14
|
+
backend:
|
15
|
+
- name: backend-6379
|
16
|
+
bind:
|
17
|
+
port: '6379'
|
18
|
+
mode: tcp
|
19
|
+
balance: round_robin
|
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
|
+
version: 0.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vasco Santos
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-
|
11
|
+
date: 2025-03-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: async-dns
|
@@ -375,6 +375,10 @@ files:
|
|
375
375
|
- db/migrate/001_setup.rb
|
376
376
|
- db/migrate/002_mkit_jobs.rb
|
377
377
|
- db/migrate/003_service_ports_ssl.rb
|
378
|
+
- db/migrate/004_create_ingress.rb
|
379
|
+
- db/migrate/005_create_frontend.rb
|
380
|
+
- db/migrate/006_create_backend.rb
|
381
|
+
- db/migrate/007_migrate_schema.rb
|
378
382
|
- db/schema.rb
|
379
383
|
- lib/mkit.rb
|
380
384
|
- lib/mkit/app/controllers/mkit_controller.rb
|
@@ -385,11 +389,15 @@ files:
|
|
385
389
|
- lib/mkit/app/helpers/erb_helper.rb
|
386
390
|
- lib/mkit/app/helpers/haproxy.rb
|
387
391
|
- lib/mkit/app/helpers/interface_helper.rb
|
392
|
+
- lib/mkit/app/helpers/migrations_helper.rb
|
388
393
|
- lib/mkit/app/helpers/params_helper.rb
|
389
394
|
- lib/mkit/app/helpers/pods_helper.rb
|
390
395
|
- lib/mkit/app/helpers/services_helper.rb
|
391
396
|
- lib/mkit/app/mkit_server.rb
|
397
|
+
- lib/mkit/app/model/backend.rb
|
392
398
|
- lib/mkit/app/model/dns_host.rb
|
399
|
+
- lib/mkit/app/model/frontend.rb
|
400
|
+
- lib/mkit/app/model/ingress.rb
|
393
401
|
- lib/mkit/app/model/lease.rb
|
394
402
|
- lib/mkit/app/model/mkit_job.rb
|
395
403
|
- lib/mkit/app/model/pod.rb
|
@@ -401,6 +409,7 @@ files:
|
|
401
409
|
- lib/mkit/app/model/volume.rb
|
402
410
|
- lib/mkit/app/templates/docker/docker_run.sh.erb
|
403
411
|
- lib/mkit/app/templates/haproxy/0000_defaults.cfg
|
412
|
+
- lib/mkit/app/templates/haproxy/app_haproxy.cfg.erb
|
404
413
|
- lib/mkit/app/templates/haproxy/xapp_haproxy.cfg.erb
|
405
414
|
- lib/mkit/client/command_parser.rb
|
406
415
|
- lib/mkit/client/commands.yaml
|
@@ -415,6 +424,7 @@ files:
|
|
415
424
|
- lib/mkit/config/environment.rb
|
416
425
|
- lib/mkit/config/initializers/001_hash.rb
|
417
426
|
- lib/mkit/config/initializers/002_openstruct.rb
|
427
|
+
- lib/mkit/config/initializers/003_custom_exceptions.rb
|
418
428
|
- lib/mkit/config/load_default_configs.rb
|
419
429
|
- lib/mkit/config/the_config.yml
|
420
430
|
- lib/mkit/ctypes.rb
|
@@ -427,6 +437,7 @@ files:
|
|
427
437
|
- lib/mkit/pods/docker_log_listener.rb
|
428
438
|
- lib/mkit/sagas/asaga.rb
|
429
439
|
- lib/mkit/sagas/create_pod_saga.rb
|
440
|
+
- lib/mkit/sagas/destroy_pod_saga.rb
|
430
441
|
- lib/mkit/sagas/saga_manager.rb
|
431
442
|
- lib/mkit/ssl/easy_ssl.rb
|
432
443
|
- lib/mkit/status.rb
|
@@ -440,6 +451,7 @@ files:
|
|
440
451
|
- mkit
|
441
452
|
- mkit.gemspec
|
442
453
|
- mkitd
|
454
|
+
- samples/apps/httpbin.yml
|
443
455
|
- samples/apps/kafka-cluster.yml
|
444
456
|
- samples/apps/kafka-magic.yml
|
445
457
|
- samples/apps/kafka-zookeeper.yml
|