harbr 0.1.48 → 0.1.49

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/harbr/job.rb +19 -11
  3. data/lib/harbr/version.rb +1 -1
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 507b1d53c03bf202e0581f28729cd8c70f1bf056db633c4b4ae8936a11e56e27
4
- data.tar.gz: 5f5721be0bd07e497acaa39bdfa94876e823afb6890bf72b380b3dc775074a09
3
+ metadata.gz: afa50fa2d13cb27fe66aac3529c34dca995c6793c47ffab0c0ad49f48b3afbed
4
+ data.tar.gz: 5b8c161f835b4d86479f2282376cd3cb04cd5fd7b8c9d4e99a6bdb27502a8dae
5
5
  SHA512:
6
- metadata.gz: 8c0462b23ef3c123873924192944516c161b257d7a4535ff1c928e35bd274bc442c84724e658a7a95b5ee6e078ef0eb8ee2749aa7e1bfde5ec54e8e5655e543e
7
- data.tar.gz: d4664a31e5815845ae719e420b7672ec52725a2b8b931ca7f45de989aabc3d76742dffeea0c108613f7fbaf8555e30d278712456d3c15bd373fd2ee56d8d1195
6
+ metadata.gz: 4b68f72d961341d55439471b40f2ef033565450f8762c0195cb9e2746e818956c9a2d5d4f3f0686277ea29bb7b14dfb3c54f43e03549bcc936cdfb4504ec150b
7
+ data.tar.gz: 78c8792d6b110d4617f468df52db82c09be14cb7c23eb0e8aebedc3d8b176e3e2b8679bd8e72486a156e581117b917455813203b72e0de2399803c56ef711d6d
data/lib/harbr/job.rb CHANGED
@@ -58,12 +58,17 @@ module Harbr
58
58
  containers.all
59
59
  end
60
60
 
61
+
61
62
  def write_to_file(path, contents)
63
+ dirname = File.dirname(path)
64
+ FileUtils.mkdir_p(dirname) unless File.directory?(dirname)
65
+
62
66
  File.write(path, contents)
63
67
  end
64
68
 
65
- def load_manifest(container, version)
66
- manifest_path = "/var/harbr/containers/#{container}/versions/#{version}/config/manifest.yml"
69
+ def load_manifest(name, version)
70
+ manifest_path = "/var/harbr/containers/#{name}/versions/#{version}/config/manifest.yml"
71
+ check_file_exists(manifest_path)
67
72
  raise "Manifest not found at #{manifest_path}" unless File.exist?(manifest_path)
68
73
 
69
74
  manifest_data = YAML.load_file(manifest_path)
@@ -72,23 +77,23 @@ module Harbr
72
77
 
73
78
  def perform(name, version, env)
74
79
  Harbr.notifiable(name, version) do
75
- version_path = "/var/harbr/containers/#{name}/versions/#{version}"
76
- check_dir_exists(version_path)
77
-
78
80
  manifest = load_manifest(name, version)
79
81
  port = `port assign #{env}.#{manifest.port}`.strip
80
-
81
- process_container(name, version, port, env, manifest)
82
+ process_container(name,version,port,env,manifest)
82
83
  end
83
84
  end
84
85
 
85
86
  private
86
87
 
87
- def check_dir_exists(path)
88
+ def check_file_exists(path)
88
89
  sleep_times = [1, 3, 5, 8, 23]
89
90
  begin
90
91
  sleep_times.each do |time|
91
- return if Dir.exist?(path)
92
+ puts "checking #{path}...."
93
+ if File.exist?(path)
94
+ puts "found #{path}"
95
+ return
96
+ end
92
97
  sleep(time)
93
98
  end
94
99
  raise "Directory not found: #{path}"
@@ -112,6 +117,11 @@ module Harbr
112
117
 
113
118
  containers = collate_containers("#{env}.#{name}", "#{env}.#{manifest.host}", port)
114
119
  create_traefik_config(containers)
120
+
121
+ system "sv start #{env}.#{name}" if env == "next"
122
+ system "sv start #{name}" if env == "current"
123
+
124
+
115
125
  puts "harbr: #{version} of #{name} in #{env} environment"
116
126
  end
117
127
 
@@ -130,12 +140,10 @@ module Harbr
130
140
  log_script = Runit::Script.new(name, port, env).log_script
131
141
 
132
142
  write_to_file "/etc/sv/harbr/#{name}/#{env}/run", run_script
133
- write_to_file "/etc/sv/harbr/#{name}/#{env}/finish", finish_script
134
143
  write_to_file "/etc/sv/harbr/#{name}/#{env}/log/run", log_script
135
144
 
136
145
  `chmod +x /etc/sv/harbr/#{name}/#{env}/run`
137
146
  `chmod +x /etc/sv/harbr/#{name}/#{env}/log/run`
138
- `chmod +x /etc/sv/harbr/#{name}/#{env}/finish`
139
147
  end
140
148
 
141
149
  def link_directories(name, version, env)
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.1.48"
4
+ VERSION = "0.1.49"
5
5
  end
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.1.48
4
+ version: 0.1.49
5
5
  platform: ruby
6
6
  authors:
7
7
  - Delaney Kuldvee Burke