pleme 0.0.21 → 0.0.28

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: b6eb7c6c6da588a15efd728fa1f79592b5000533f93a3492b31aa312592a2367
4
- data.tar.gz: 4f90c5091d309c80f2c7138fdf5ce35091f8fdfe4300386bd867e5561699fb0e
3
+ metadata.gz: ed3486742f359ccebe27c200b173b50785e1b9788f047923bc7569edc1ddde38
4
+ data.tar.gz: efdab6a5c78ba8aed53af100defd9165f8f4b9b930d2c902e5f9e31e651b366b
5
5
  SHA512:
6
- metadata.gz: 43b0d7ecefd3b3f963d8f4f82a29cd73bdac2a589a38b0c831f5c859962d5a0815cd79f0cfafdad3acb58c9d50af8e4b9a10816a4d86242680fc3471e0a091c5
7
- data.tar.gz: 3c840a5583f428fa076b8ed555054e959029dd061db3e0e471a3ea9ecfcfabaae04c4f0906b5c13f05c8bcd8b133aaa85722112257335196d59eb631af36c7f7
6
+ metadata.gz: 3673089ffaa70081cb3b9bc14cd6e0249380bd7bf7683c5ca650861a2eab0e73469f0ddfb505c3ee418b576e53666b4c6019044e2767edfa4b0b992061f3ca77
7
+ data.tar.gz: be6685acbe6366aef4d45a8e09c417a188612246491dfeca41ac439e00f98b36c1a6b1c109fa75dbee6699a01c4eb497a457a5db7dc8d72f6da30efa35d28bfd
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.21'
5
+ VERSION = '0.0.28'
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,11 +31,15 @@ class Runner
30
31
  end
31
32
 
32
33
  def run(spec)
33
- @spec = spec if @spec.nil?
34
- dotfiles(spec) if spec[:dotfiles]
35
- apply(spec) if spec[:apply]
36
- plan(spec) if spec[:plan]
37
- 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
38
43
  end
39
44
 
40
45
  def read_config
@@ -46,48 +51,21 @@ class Runner
46
51
  hax_portal
47
52
  end
48
53
 
49
- # shell interface for docker-compose
50
- def dc(cmd, cwd = :cache)
51
- cmd = "cd #{cwd} && docker-compose #{cmd}"
52
- sh "mkdir -p #{cwd}" unless Dir.exist?(cwd)
53
- sh cmd
54
- end
55
-
56
- # shell interface for terraform
57
- def tf(cmd, cwd = :cache)
58
- sh "mkdir -p #{cwd}" unless Dir.exist?(cwd.to_s)
59
- cmd = "cd #{cwd} && terraform #{cmd}"
60
- @translator.eval_in_context(File.read(@config_path))
61
- sh cmd
62
- sh "rm -rf #{File.join(cmd, 'template.json')}"
63
- end
64
-
65
- def apply(_spec)
54
+ def compose(direction)
66
55
  config = read_config
67
- puts config
68
- config[:pleme].keys.each do |pkey|
69
- pkey = pkey.to_sym if pkey.instance_of?(String)
70
- case pkey
71
- when :compose
72
- @translator.inspect[:pleme][:environment].keys.each do |env|
73
- File.write(
74
- yamilify(config[:pleme][:environment][env][:compose]),
75
- File.join(cwd, 'docker-compose.yml')
76
- )
77
- 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(yamilify(config[:pleme][:environment][env][:compose]), 'docker-compose.yml')
63
+ sh "docker-compose #{direction}"
78
64
  end
79
65
  end
80
66
  end
81
67
  end
82
68
 
83
- # def plan(_spec)
84
- # tf 'plan'
85
- # end
86
-
87
- # def destroy(_spec)
88
- # tf 'destroy'
89
- # end
90
-
91
69
  # read a local file into this space
92
70
  # so you can test locally while importing
93
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.21
4
+ version: 0.0.28
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