harbr 0.0.73 → 0.0.75

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 710363b4f0ee2a30d0aed02b1caede2e9c85caeb3b76d70eb8a914b3d4733bdf
4
- data.tar.gz: 01faa575952ff5e18574d0a264b275d2e6670aa01421655918d640b554b7eb7b
3
+ metadata.gz: 24c9a6c440b96bf2df8658095ee67d71f257f8d2ce1db94dbec1c0e6079a2c61
4
+ data.tar.gz: 535eb68733f63f8bb561cc2b84365f786dd6395a00d824b76907541a0226c673
5
5
  SHA512:
6
- metadata.gz: e7ada50cc1e6ad02a3f509d44697a406e537154cd23de69746df97793622c2239f0e7cd3d9983c9eab62467063c08302bb82a842c319d2975c9214a1d3a5f017
7
- data.tar.gz: 2bed190ddedaeaec6877e6d763b6950bfd6e721637799dea9cf453e79a561b30aa58a50a48fe6f8182d0dc1cd3e407a9d9eb78692a395e59988489d732f8f191
6
+ metadata.gz: 102dca943b77b5d715e2ae6cbe5b9eca8a5fda8b2657b477cce6e38c3b0660c0aa555e68842443262e6dd80b481d9c4efaed4bf6281ed7923025497dda639a0f
7
+ data.tar.gz: dbd8193d07ff643901d0c91dde8c1f5b7fca9627a96398082770c1a3d47fe35ca6ed83fb86d3ff73a3fc65a3d781fc45bd7fc89426a31a45dc52ed0a47e884b8
@@ -10,37 +10,55 @@ module Harbr
10
10
  OpenStruct.new(manifest_data)
11
11
  end
12
12
 
13
+
13
14
  def create_traefik_config(containers)
14
- config = {
15
- "http" => {
16
- "routers" => {
17
- "traefik-dashboard" => {
18
- "rule" => "Host(`traefik.harbr.zero2one.ee`)",
19
- "service" => "api@internal"
15
+ config = initialize_config
16
+
17
+ containers.each do |container|
18
+ container.ip = '127.0.0.1'
19
+ add_router_to_config(config, container)
20
+ add_service_to_config(config, container)
21
+ end
22
+
23
+ write_config_to_file(config)
24
+ end
25
+
26
+ private
27
+
28
+ def initialize_config
29
+ {
30
+ 'http' => {
31
+ 'routers' => {
32
+ 'traefik-dashboard' => {
33
+ 'rule' => 'Host(`traefik.harbr.zero2one.ee`)',
34
+ 'service' => 'api@internal'
20
35
  }
21
36
  },
22
- "services" => {}
37
+ 'services' => {}
23
38
  }
24
39
  }
40
+ end
25
41
 
26
- containers.each do |container|
27
- container.ip = "127.0.0.1"
42
+ def add_router_to_config(config, container)
43
+ config['http']['routers']["#{container.name}-router"] = {
44
+ 'rule' => "Host(`#{container.host_header}`)",
45
+ 'service' => "#{container.name}-service"
46
+ }
47
+ end
28
48
 
29
- config["http"]["routers"]["#{container.name}-router"] = {
30
- "rule" => "Host(`#{container.host_header}`)",
31
- "service" => "#{container.name}-service"
32
- }
33
- config["http"]["services"]["#{container.name}-service"] = {
34
- "loadBalancer" => {
35
- "servers" => [{"url" => "http://#{container.ip}:#{container.port}"}]
36
- }
49
+ def add_service_to_config(config, container)
50
+ config['http']['services']["#{container.name}-service"] = {
51
+ 'loadBalancer' => {
52
+ 'servers' => [{'url' => "http://#{container.ip}:#{container.port}"}]
37
53
  }
38
- end
39
-
40
- File.write("/etc/traefik/harbr.toml", TomlRB.dump(config))
41
- puts "Traefik configuration written to /etc/traefik/harbr.toml"
54
+ }
42
55
  end
43
56
 
57
+ def write_config_to_file(config)
58
+ File.write('/etc/traefik/harbr.toml', TomlRB.dump(config))
59
+ puts 'Traefik configuration written to /etc/traefik/harbr.toml'
60
+ end
61
+
44
62
  def create_run_script(container_name, port)
45
63
  service_dir = "/etc/sv/harbr/#{container_name}/next"
46
64
 
@@ -88,12 +106,8 @@ module Harbr
88
106
  port = `port assign next.#{manifest.port}`.strip
89
107
  puts "Port assigned: #{port}"
90
108
 
91
- #puts `lsof -i :#{port} | awk 'NR!=1 {print $2}' | xargs kill -9`
92
-
93
109
  `rm -rf /etc/sv/harbr/#{manifest.name}/next`
94
- system("ln -s /var/harbr/#{manifest.name}/versions/#{manifest.version}/ /etc/sv/harbr/#{manifest.name}/next")
95
- puts "Linked to: /etc/sv/harbr/#{manifest.name}/next"
96
-
110
+
97
111
  create_a_service(manifest.name, port)
98
112
 
99
113
  containers = Container::Repository.new
@@ -116,6 +130,12 @@ module Harbr
116
130
  system("cd /var/harbr/#{manifest.name}/next && bundle install")
117
131
  system("sv restart next.#{manifest.name}")
118
132
  puts "Started container: next.#{manifest.name}"
133
+
134
+ system("ln -s /var/harbr/#{manifest.name}/versions/#{manifest.version}/ /etc/sv/harbr/#{manifest.name}/next")
135
+ puts "Linked to: /etc/sv/harbr/#{manifest.name}/next"
136
+
137
+
138
+
119
139
  create_traefik_config(containers.all)
120
140
  end
121
141
 
data/lib/harbr/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Harbr
4
- VERSION = "0.0.73"
4
+ VERSION = "0.0.75"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: harbr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.73
4
+ version: 0.0.75
5
5
  platform: ruby
6
6
  authors:
7
7
  - Delaney Kuldvee Burke
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-12-11 00:00:00.000000000 Z
11
+ date: 2023-12-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: listen