harbr 0.0.74 → 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: acbd1dcb0669bb47ff867e9404ddaeae8fc62e92527c01f77ddc0b459bfd0ac0
4
- data.tar.gz: 5214fb1862544cab9857ab3441dae8ff970422a4cff633d388dafa19875f0182
3
+ metadata.gz: 24c9a6c440b96bf2df8658095ee67d71f257f8d2ce1db94dbec1c0e6079a2c61
4
+ data.tar.gz: 535eb68733f63f8bb561cc2b84365f786dd6395a00d824b76907541a0226c673
5
5
  SHA512:
6
- metadata.gz: 0bc3031bb1097747d9cc676522de70650a4d27bafa274a14fe7c572d43fafc888fa49b9768ba8c4d4ad37a8c739de1d12a3620f5518c398d3fa9a0952f600380
7
- data.tar.gz: bdbb1379966bf4df77cc845aa3a494056ce3165fe42425be21902ab3f354b52a317d5fea2539d3fa66a9c0aeabbd04356fc26cd00f9336f8c3186b40ace00b14
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
 
@@ -116,10 +134,9 @@ module Harbr
116
134
  system("ln -s /var/harbr/#{manifest.name}/versions/#{manifest.version}/ /etc/sv/harbr/#{manifest.name}/next")
117
135
  puts "Linked to: /etc/sv/harbr/#{manifest.name}/next"
118
136
 
119
- create_traefik_config(containers.all)
120
-
121
- puts `lsof -i :#{port} | awk 'NR!=1 {print $2}' | xargs kill -9`
122
137
 
138
+
139
+ create_traefik_config(containers.all)
123
140
  end
124
141
 
125
142
  def perform(container, version)
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.74"
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.74
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