pleme 0.0.22 → 0.0.29

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: 395f18fbd1be11231ee0c8b8da13399452864e071aea01f0c1b81142c3dc3e88
4
- data.tar.gz: 065bb17111bc2ed39296af4107bd56b2aa6d5cd914ad7413fe462a3545918553
3
+ metadata.gz: bb6e30e6b03344df22fe8f45b32e1d0f9a238101a0bbcde7843b610f6ef293f3
4
+ data.tar.gz: 422e6a228521f2b46a20c3306ec19d241d3c6c174d3b215f725d145555061f5e
5
5
  SHA512:
6
- metadata.gz: 5b953abf12039e3aa7a1f50fa20ef74f80a1aeb7b4b82ae5ee0d62a8cce6fd7797bdbfce1537fe8937b4bbd04de5b6e7822379c5142fbcefa6208e15b6dd9ae8
7
- data.tar.gz: 1c7845f2726aeb4f3436b22302c0dfb79e9c6d40d3af44dd89d529c9d19b026edccbba998482bf83a6df8b8eb91db547fc58f73c495f96d5a7b6ff3716b40853
6
+ metadata.gz: 9d7e68699c41e80ff9faedcf346a83947ce032ae31f98cf6ccb79e283b55e0af15ac557617e5a884184f88542fb65699f6d71fe49f1ffd89a4365f713cb63f70
7
+ data.tar.gz: 8606f18fa113358b04569f706d7ecead767eddea0bd5e252f0811fcd389f7d99cfd102f65738c7838d17009395cc8f0ab3d5a2a68697d40416e4b00af82ecbd2
data/bin/pleme CHANGED
@@ -2,5 +2,8 @@
2
2
  # frozen_string_literal: true
3
3
 
4
4
  require 'pleme/cli'
5
+ require 'pleme/logger'
6
+
7
+ $logger = Plogs.new.spawn_logger
5
8
 
6
9
  Cli.new.run
@@ -19,6 +19,8 @@ class Cli
19
19
  pleme plan
20
20
  pleme apply
21
21
  pleme destroy
22
+ pleme compose up
23
+ pleme compose down
22
24
  DOCOPT
23
25
  end
24
26
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Pleme
4
4
  module Gem
5
- VERSION = '0.0.22'
5
+ VERSION = '0.0.29'
6
6
  end
7
7
  end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ ###############################################################################
4
+ # logging facilities for pleme
5
+ ###############################################################################
6
+
7
+ require 'logger'
8
+
9
+ class Plogs
10
+ attr_reader :logger
11
+
12
+ def initialize
13
+ @logger = nil
14
+ end
15
+
16
+ def spawn_logger
17
+ @logger = Logger.new($stdout)
18
+ @logger.level = Logger::DEBUG
19
+ @logger
20
+ end
21
+ end
@@ -18,7 +18,8 @@ class Runner
18
18
 
19
19
  # run a shell command
20
20
  # hard exit if command has a failure
21
- # like set -e
21
+ # like
22
+ # set -e
22
23
  def sh(cmd)
23
24
  exit 1 unless system(cmd)
24
25
  end
@@ -30,12 +31,15 @@ class Runner
30
31
  end
31
32
 
32
33
  def run(spec)
33
- puts spec
34
- @spec = spec if @spec.nil?
35
- dotfiles(spec) if spec[:dotfiles]
36
- apply(spec) if spec[:apply]
37
- plan(spec) if spec[:plan]
38
- destroy(spec) if spec[:destroy]
34
+ $logger.info spec
35
+
36
+ @spec = spec if @spec.nil?
37
+ dotfiles(spec) if spec[:dotfiles]
38
+
39
+ if spec[:compose]
40
+ compose(:up) if spec[:up]
41
+ compose(:down) if spec[:down]
42
+ end
39
43
  end
40
44
 
41
45
  def read_config
@@ -47,48 +51,21 @@ class Runner
47
51
  hax_portal
48
52
  end
49
53
 
50
- # shell interface for docker-compose
51
- def dc(cmd, cwd = :cache)
52
- cmd = "cd #{cwd} && docker-compose #{cmd}"
53
- sh "mkdir -p #{cwd}" unless Dir.exist?(cwd)
54
- sh cmd
55
- end
56
-
57
- # shell interface for terraform
58
- def tf(cmd, cwd = :cache)
59
- sh "mkdir -p #{cwd}" unless Dir.exist?(cwd.to_s)
60
- cmd = "cd #{cwd} && terraform #{cmd}"
61
- @translator.eval_in_context(File.read(@config_path))
62
- sh cmd
63
- sh "rm -rf #{File.join(cmd, 'template.json')}"
64
- end
65
-
66
- def apply(_spec)
54
+ def compose(direction)
67
55
  config = read_config
68
- puts config
69
- config[:pleme].keys.each do |pkey|
70
- pkey = pkey.to_sym if pkey.instance_of?(String)
71
- case pkey
72
- when :compose
73
- @translator.inspect[:pleme][:environment].keys.each do |env|
74
- File.write(
75
- yamilify(config[:pleme][:environment][env][:compose]),
76
- File.join(cwd, 'docker-compose.yml')
77
- )
78
- sh 'docker-compose up'
56
+ $logger.info config
57
+ config[:pleme][:environment].keys.each do |env|
58
+ config[:pleme][:environment][env].keys.each do |param|
59
+ case param
60
+ when :compose
61
+ $logger.info env
62
+ File.write('docker-compose.yml', yamilify(config[:pleme][:environment][env][:compose]))
63
+ sh "docker-compose #{direction}"
79
64
  end
80
65
  end
81
66
  end
82
67
  end
83
68
 
84
- # def plan(_spec)
85
- # tf 'plan'
86
- # end
87
-
88
- # def destroy(_spec)
89
- # tf 'destroy'
90
- # end
91
-
92
69
  # read a local file into this space
93
70
  # so you can test locally while importing
94
71
  # good code to this class
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pleme
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.22
4
+ version: 0.0.29
5
5
  platform: ruby
6
6
  authors:
7
7
  - ''
@@ -104,6 +104,7 @@ files:
104
104
  - lib/pleme/abstract_translator.rb
105
105
  - lib/pleme/cli.rb
106
106
  - lib/pleme/gem/version.rb
107
+ - lib/pleme/logger.rb
107
108
  - lib/pleme/plemec_translator.rb
108
109
  - lib/pleme/resource_translator.rb
109
110
  - lib/pleme/runner.rb