harbr 0.0.15 → 0.0.16

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: cd8f43f65d263e9fa6a15c8d4b12af94799faea4c0925abb515ac5b4910bf889
4
- data.tar.gz: 73fff6a32129d4adf2f5993a492f9a8b89dfb8952ebf3f7cad93c13f1fd7b15b
3
+ metadata.gz: 88c0dd3adce1ad345040506cca126a2e14e2d65a9453f82f15fe2e9d79ca2384
4
+ data.tar.gz: 181a68eb372c41f6d8f307534c2f69697e6d5be169833a3c81470b6fc40938e0
5
5
  SHA512:
6
- metadata.gz: b943fc8565b1e163d544171a057bf0925bf0f1925e0c82b05327e71839206673eaac8b9902d2b02f51c3ba25e83fce42bb3262189db5bba41fc5828e6d11a56d
7
- data.tar.gz: 9b9fb089332de09359df84f6c93fb3d6a3b86b2b1daadbd35afc771d0b30fb89115a5b497b7cf88f119349ade4c1fd5fa05bee013b8207cd2f4a64d86b692159
6
+ metadata.gz: ca6f1cb377f3d1169de9cb007b053e90e54f9278ee2e7bc71d7b106864081af78963cf57178b3d8401eadbe448368c9b6e19e2af5b83288ebfe0712a6610f62a
7
+ data.tar.gz: d68708150403d9eefb2f3178dbad09b2f66b6ff6d197826486f1def1853baf4162bc842b44a6947dcc51ab1d0417c755fd59309fff8ee70b4338907cd8d737bf
data/exe/harbr CHANGED
@@ -15,6 +15,7 @@ class HarbrCLI < Thor
15
15
  end
16
16
 
17
17
  no_commands do
18
+
18
19
  def load_manifest(container, version)
19
20
  manifest_path = "/var/harbr/#{container}/versions/#{version}/config/manifest.yml"
20
21
  if File.exist?(manifest_path)
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.15"
4
+ VERSION = "0.0.16"
5
5
  end
data/lib/harbr.rb CHANGED
@@ -22,7 +22,8 @@ module Harbr
22
22
  include SuckerPunch::Job
23
23
 
24
24
  def perform(manifest)
25
- puts "Harbr Job!"
25
+
26
+ puts "Starting container: #{manifest.name}"
26
27
 
27
28
  Dddr.configure do |config|
28
29
  config.data_dir = Harbr::DEFAULT_DIRECTORY_DATA_DIR
@@ -30,10 +31,57 @@ module Harbr
30
31
 
31
32
  pool = Harbr::Port::Pool.new
32
33
  port = pool.get_port(manifest.host)
33
- p port
34
+
35
+ create_run_script(manifest.name, port.number)
36
+ create_log_script(manifest.name)
34
37
 
35
- puts manifest
38
+ system("sv restart #{manifest.name}")
39
+ system("sv status #{manifest.name}")
40
+
36
41
  end
42
+
43
+ def create_run_script(container_name, port)
44
+ service_dir = "/etc/sv/harbr/#{container_name}"
45
+ if File.directory?(log_dir)
46
+ puts "Directory already exists: #{log_dir}"
47
+ return
48
+ end
49
+
50
+ script_template = <<~SCRIPT
51
+ #!/bin/sh
52
+ exec 2>&1
53
+ cd /var/harbr/#{container_name}/current
54
+ exec bundle exec puma -p #{port}
55
+ SCRIPT
56
+
57
+ service_dir = "/etc/sv/harbr/#{container_name}"
58
+ FileUtils.mkdir_p(service_dir)
59
+
60
+ File.write("#{service_dir}/run", script_template)
61
+ FileUtils.chmod("+x", "#{service_dir}/run")
62
+ puts "Run script created and made executable for container: #{container_name}"
63
+ end
64
+
65
+ def create_log_script(container_name)
66
+ log_dir = "/var/log/harbr/#{container_name}"
67
+ if File.directory?(log_dir)
68
+ puts "Directory already exists: #{log_dir}"
69
+ return
70
+ end
71
+
72
+ script_template = <<~SCRIPT
73
+ #!/bin/sh
74
+ exec svlogd -tt #{log_dir}/
75
+ SCRIPT
76
+
77
+ dir_path = "/etc/sv/harbr/#{container_name}"
78
+ FileUtils.mkdir_p(dir_path)
79
+
80
+ File.write("#{dir_path}/run", script_template)
81
+ FileUtils.chmod("+x", "#{dir_path}/run")
82
+ puts "Log script created and made executable for container: #{container_name}"
83
+ end
84
+
37
85
  end
38
86
 
39
87
  include Dddr::Entity
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: harbr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.15
4
+ version: 0.0.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Delaney Kuldvee Burke