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 +4 -4
- data/bin/pleme +3 -0
- data/lib/pleme/cli.rb +2 -0
- data/lib/pleme/gem/version.rb +1 -1
- data/lib/pleme/logger.rb +21 -0
- data/lib/pleme/runner.rb +20 -42
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ed3486742f359ccebe27c200b173b50785e1b9788f047923bc7569edc1ddde38
|
4
|
+
data.tar.gz: efdab6a5c78ba8aed53af100defd9165f8f4b9b930d2c902e5f9e31e651b366b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3673089ffaa70081cb3b9bc14cd6e0249380bd7bf7683c5ca650861a2eab0e73469f0ddfb505c3ee418b576e53666b4c6019044e2767edfa4b0b992061f3ca77
|
7
|
+
data.tar.gz: be6685acbe6366aef4d45a8e09c417a188612246491dfeca41ac439e00f98b36c1a6b1c109fa75dbee6699a01c4eb497a457a5db7dc8d72f6da30efa35d28bfd
|
data/bin/pleme
CHANGED
data/lib/pleme/cli.rb
CHANGED
data/lib/pleme/gem/version.rb
CHANGED
data/lib/pleme/logger.rb
ADDED
@@ -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
|
data/lib/pleme/runner.rb
CHANGED
@@ -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
|
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
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
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
|
-
|
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
|
-
|
68
|
-
config[:pleme].keys.each do |
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
File.write(
|
74
|
-
|
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.
|
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
|