harbr 0.0.77 → 0.0.78

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: f40ae935a661bc9e3999ca1083921bbad577ec219b1270eb7bda6c15bcfaf785
4
- data.tar.gz: 8ccc4d896eccf86d8f94ab9f11f8836d0dfb0c7072ed5e5306b1257742b80540
3
+ metadata.gz: 3cfbe8ee63ba9673159a4cbe99bff5508886e603274bdfe7eca373e4fad1cf1d
4
+ data.tar.gz: 27e468bb49b774ecb556fa6553e9b2134a98a06c7e3bd3a312cb45c848ddfc5d
5
5
  SHA512:
6
- metadata.gz: f4273c533d657ba4f96a3d896b1400a1ca9f7451f39a4233eb77b1f8ec29bb1d2fa44027a875202642d185beb5e1bd003dc7b41090de3eb6fac26970c8b00b88
7
- data.tar.gz: cb7b2910e9f39ef1f35c360f83ca0a63221658001a56313b4456c51be61513024750be379be3b41b9d8da6ecc74a0c5465984b619c2c265fb791df495ff31aa9
6
+ metadata.gz: 53e4d7f9397d59ecfd496c717b1fb983f29cd6b1c2a81ba9225cae566c8c1f09d8f99ab1e3c3bb5ed3c4897eee7f738f76a65b79b6b2216ad4d6fc1521c75783
7
+ data.tar.gz: 1dca696d45363ca0645f94b8b6813d9f8c6e1e3d4b86e734a8f585c0371cd86867c1e06dc0fb817bde2c3bc9fbe92b2cbd1c39c1d3480323d6f7fb9d8f65b3b3
data/exe/harbr CHANGED
@@ -43,7 +43,7 @@ class HarbrCLI < Thor
43
43
  end
44
44
 
45
45
  def scan_for_containers
46
- Dir.glob("/var/harbr/*").each_with_object({}) do |container_path, hash|
46
+ Dir.glob("/var/harbr/containers/*").each_with_object({}) do |container_path, hash|
47
47
  next unless File.directory?(container_path)
48
48
  container_name = File.basename(container_path)
49
49
  versions = Dir.glob("#{container_path}/versions/*").select { |path| File.directory?(path) }
@@ -76,7 +76,6 @@ class HarbrCLI < Thor
76
76
  else
77
77
  Harbr::Next::Job.perform_async(container, version)
78
78
  puts "deploy next version #{version} of #{container}"
79
-
80
79
  end
81
80
  end
82
81
 
@@ -154,7 +153,7 @@ class HarbrCLI < Thor
154
153
  desc "setup", "Set up Harbr environment"
155
154
  def setup
156
155
  # Check and create /var/harbr directory
157
- check_and_create_directory("/var/harbr")
156
+ check_and_create_directory("/var/harbr/containers")
158
157
 
159
158
  # Check for Ruby, Traefik, and runit, and install if necessary
160
159
  install_with_snap("ruby") unless command_exists?("ruby")
@@ -170,14 +169,14 @@ class HarbrCLI < Thor
170
169
  display_containers_table(container_repo.all)
171
170
  end
172
171
 
173
- desc "monitor", "Monitor /var/harbr for new container versions"
172
+ desc "monitor", "Monitor /var/harbr/comtainers for new container versions"
174
173
  def monitor
175
- puts "Monitoring /var/harbr for new container versions..."
174
+ puts "Monitoring /var/harbr/containers for new container versions..."
176
175
  last_known_state = {}
177
176
 
178
177
  loop do
179
178
  current_state = scan_for_containers
180
- new_versions = current_state.keys - last_known_state.keys
179
+ new_versions = current_state.keys - last_known_state.keysß
181
180
 
182
181
  new_versions.each do |container_version|
183
182
  container, version = container_version.split("/versions/")
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.77"
4
+ VERSION = "0.0.78"
5
5
  end
data/lib/harbr.rb CHANGED
@@ -14,7 +14,7 @@ require_relative "harbr/next/job"
14
14
 
15
15
  # Harbr module for managing containers, jobs, ports, and 2s
16
16
  module Harbr
17
- DEFAULT_DIRECTORY = "/var/harbr"
17
+ DEFAULT_DIRECTORY = "/var/harbr/containers"
18
18
  DEFAULT_DIRECTORY_DATA_DIR = "#{DEFAULT_DIRECTORY}/.data"
19
19
  class Error < StandardError; end
20
20
 
@@ -22,84 +22,7 @@ module Harbr
22
22
  directories = Dir.glob("#{path}/*").select { |entry| File.directory?(entry) }
23
23
  directories.max_by { |entry| entry[/\d+/].to_i }
24
24
  end
25
-
26
- module Runit
27
- class Run
28
- def initialize(container, port)
29
- @container_name = container
30
- @port = port
31
- end
32
-
33
- def to_s
34
- <<~SCRIPT
35
- #!/bin/sh
36
- exec 2>&1
37
- cd /var/harbr/#{@container_name}/current
38
- exec ./exe/run #{@port}
39
- SCRIPT
40
- end
41
-
42
- def link
43
- "ln -s /etc/sv/harbr/#{@container_name} /etc/service/#{@container_name}"
44
- end
45
- end
46
-
47
- class Log
48
- def initialize(container, port)
49
- @container_name = container
50
- end
51
-
52
- def to_s
53
- <<~SCRIPT
54
- #!/bin/sh
55
- exec svlogd -tt /var/log/harbr/#{@container_name}/next/
56
- SCRIPT
57
- end
58
-
59
- def link
60
- "ln -s /etc/sv/harbr/#{@container_name}/log /etc/service/#{@container_name}/log"
61
- end
62
- end
63
-
64
- module Next
65
- class Run
66
- def initialize(container, port)
67
- @container_name = container
68
- @port = port
69
- end
70
-
71
- def to_s
72
- <<~SCRIPT
73
- #!/bin/sh
74
- exec 2>&1
75
- cd /var/harbr/#{@container_name}/next
76
- exec ./exe/run #{@port}
77
- SCRIPT
78
- end
79
-
80
- def link
81
- "ln -s /etc/sv/harbr/#{@container_name}/next /etc/service/next.#{@container_name}"
82
- end
83
- end
84
-
85
- class Log
86
- def initialize(container, port)
87
- @container_name = container
88
- end
89
-
90
- def to_s
91
- <<~SCRIPT
92
- #!/bin/sh
93
- exec svlogd -tt /var/log/harbr/#{@container_name}/next/
94
- SCRIPT
95
- end
96
-
97
- def link
98
- "ln -s /etc/sv/harbr/#{container_name}/next/log/ /etc/service/next.#{container_name}/log"
99
- end
100
- end
101
- end
102
- end
25
+
103
26
  end
104
27
 
105
28
  Dddr.configure do |config|
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.77
4
+ version: 0.0.78
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-13 00:00:00.000000000 Z
11
+ date: 2023-12-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: listen