harbr 0.0.73 → 0.0.75

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 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