harbr 0.0.9 → 0.0.11

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/exe/harbr +31 -1
  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: ba1c2de0c57a31b1b85b0f7140e05995404a1a013502c6d01a965f709bb8b3b3
4
- data.tar.gz: 95d574f90f0c21d580a924f3e8318b8af529ff2ded73574825bda2c65aa30640
3
+ metadata.gz: 9a9e1d61b251ddfc10bda7c0605b148a0ccbaf673a8f8b57f57ed90ea9be9886
4
+ data.tar.gz: 9359443bfe4ceb75f724a8fa3c5f76111354bbeb698ff028d17c2738bc4a0eab
5
5
  SHA512:
6
- metadata.gz: f5b081f4e73595bd8597fa05aa97dc2612869f9a96340df638fb6109859657e34909c3b0532d5bc2b1b76a67e07cb31d3e52c868f0740de5fbcad26ea118a37f
7
- data.tar.gz: 5c99af944a71d9f31ef2412bdeb1cdbef04ed32e81df82259596a82397f90a21aac10770cffd196616e149ba4291fe10d94ed6aec3058f6c888004aaacd31a42
6
+ metadata.gz: 7355b39baf496e846c42691dcab71642c505901ff4c00ef0678832597187d70b0a7907675a89ba11990147003fa77bfd82be9774ce7b8d98b7f3566f814816e7
7
+ data.tar.gz: 752cc4b9c73278c7d5a84f2f1794adec9bc8ea27576e0d5768d528c8a7df0045ba6df52314ae2182b6a0e085dae0408c5a7572c632fa45e6a00cfb0b161bab24
data/exe/harbr CHANGED
@@ -4,6 +4,8 @@ require "dddr"
4
4
  require "harbr"
5
5
  require "sucker_punch"
6
6
  require "terminal-table"
7
+ require 'yaml'
8
+ require 'ostruct'
7
9
 
8
10
  class HarbrCLI < Thor
9
11
  DEFAULT_DIRECTORY = "/var/harbr"
@@ -13,6 +15,18 @@ class HarbrCLI < Thor
13
15
  end
14
16
 
15
17
  no_commands do
18
+
19
+ def load_manifest(container, version)
20
+ manifest_path = "/var/harbr/#{container}/#{version}/config/manifest.yml"
21
+ if File.exist?(manifest_path)
22
+ manifest_data = YAML.load_file(manifest_path)
23
+ OpenStruct.new(manifest_data)
24
+ else
25
+ puts "Manifest file not found for container '#{container}', version '#{version}'"
26
+ nil
27
+ end
28
+ end
29
+
16
30
  def display_containers_table(containers)
17
31
  return puts "No containers available." if containers.empty?
18
32
 
@@ -61,8 +75,24 @@ class HarbrCLI < Thor
61
75
  end
62
76
  end
63
77
 
78
+ PLACED_FILE = '/var/harbr/.placed'
79
+
64
80
  def place(container, version)
65
- puts "Placing container: '#{container}', Version: '#{version}'"
81
+ placed_containers = File.exist?(PLACED_FILE) ? File.read(PLACED_FILE).split("\n") : []
82
+
83
+ if placed_containers.include?("#{container}/#{version}")
84
+ puts "Container '#{container}', Version '#{version}' is already placed."
85
+ else
86
+ puts "Placing container: '#{container}', Version: '#{version}'"
87
+ run_tasks(container, version)
88
+ File.open(PLACED_FILE, 'a') { |file| file.puts("#{container}/#{version}") }
89
+ end
90
+ end
91
+
92
+ def run_tasks(container, version)
93
+ manifest = load_manifest(container,var)
94
+ Harbr::Container::Job.perform_async(manifest)
95
+ puts "Running tasks for container: '#{container}', Version: '#{version}'"
66
96
  end
67
97
 
68
98
  end
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.9"
4
+ VERSION = "0.0.11"
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.0.9
4
+ version: 0.0.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Delaney Kuldvee Burke