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 +4 -4
- data/lib/harbr/next/job.rb +46 -26
- 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
|
|
@@ -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
|
-
|
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
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
|