harbr 0.0.15 → 0.0.16

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: 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