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 +4 -4
- data/lib/harbr/next/job.rb +41 -24
- data/lib/harbr/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 24c9a6c440b96bf2df8658095ee67d71f257f8d2ce1db94dbec1c0e6079a2c61
|
|
4
|
+
data.tar.gz: 535eb68733f63f8bb561cc2b84365f786dd6395a00d824b76907541a0226c673
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 102dca943b77b5d715e2ae6cbe5b9eca8a5fda8b2657b477cce6e38c3b0660c0aa555e68842443262e6dd80b481d9c4efaed4bf6281ed7923025497dda639a0f
|
|
7
|
+
data.tar.gz: dbd8193d07ff643901d0c91dde8c1f5b7fca9627a96398082770c1a3d47fe35ca6ed83fb86d3ff73a3fc65a3d781fc45bd7fc89426a31a45dc52ed0a47e884b8
|
data/lib/harbr/next/job.rb
CHANGED
|
@@ -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
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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
|
-
|
|
37
|
+
'services' => {}
|
|
23
38
|
}
|
|
24
39
|
}
|
|
40
|
+
end
|
|
25
41
|
|
|
26
|
-
|
|
27
|
-
|
|
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
|
-
|
|
30
|
-
|
|
31
|
-
|
|
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
|
-
|
|
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
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.
|
|
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
|
+
date: 2023-12-12 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: listen
|