ops_team 0.9.3 → 0.9.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 15bace4f2993d10f93e68f9b10c506222409556476717a28b1bb7252e1c81ada
4
- data.tar.gz: f47bd7063e540df0b3bc8037085869cd10ff0b7aa667350e7ee3681d99e173d5
3
+ metadata.gz: d3275503f96fce4529f7c0c27eef2becd1f71b6350207fa6fd201eb9075ac27b
4
+ data.tar.gz: eac2684058d86bebbba3210642332a7b21d51a544d3b9941484169c6e35002fc
5
5
  SHA512:
6
- metadata.gz: e2b932596006029a2125f5d58f92dc1b353dbeea24e72d459e8af5ab08b61d46a937f2d9f6812baa86b6820e58337c69306c17c2f4b9bd1290611f9862523911
7
- data.tar.gz: ba5ebcf1adbe359f35e39e9612ea10b3877aec207c0bd1c6844738ca1d101a264990f01fbc9b9b7a719f9afa632921dc50073db76f000460dabf974a9100a227
6
+ metadata.gz: 8e22c3134f19065d761077b81f585f96839f35676dd8237b22ad3b48dd4f895ab1fd03df424b3b3d0fc1cc355e6a661890449b7872b6d5c156681386781869d9
7
+ data.tar.gz: 245620d939cd538fc3931ef79f6c615be59690c819e8d89a14a302c8c1590446852b7e20b2ae07ed26dc286d6ed62e510b5fa1ad263c31d9b8bcb3c1d028ec2f
@@ -23,7 +23,7 @@ class AppConfig
23
23
 
24
24
  def load
25
25
  config['environment']&.each do |key, value|
26
- ENV[key] = value.to_s
26
+ ENV[key] = value.is_a?(Hash) || value.is_a?(Array) ? value.to_json : value.to_s
27
27
  end
28
28
  end
29
29
 
@@ -4,7 +4,6 @@ require 'builtin'
4
4
 
5
5
  module Builtins
6
6
  class Background < Builtin
7
- DEFAULT_SHELL = "bash"
8
7
  DEFAULT_LOG_FILE_PREFIX = "/tmp/ops_bglog_"
9
8
 
10
9
  class << self
@@ -13,18 +12,13 @@ module Builtins
13
12
  end
14
13
 
15
14
  def log_filename
16
- "#{log_filename_prefix}#{Ops.project_name}"
17
- end
18
-
19
- private
20
-
21
- def log_filename_prefix
22
- Options.get("background.log_filename_prefix") || DEFAULT_LOG_FILE_PREFIX
15
+ Options.get("background.log_filename") || "#{DEFAULT_LOG_FILE_PREFIX}#{Ops.project_name}"
23
16
  end
24
17
  end
25
18
 
26
19
  def run
27
20
  subprocess = fork do
21
+ set_bglog_file_permissions
28
22
  run_ops(args)
29
23
  end
30
24
 
@@ -33,6 +27,10 @@ module Builtins
33
27
 
34
28
  private
35
29
 
30
+ def set_bglog_file_permissions
31
+ File.new(Background.log_filename, "w").chmod(0o600)
32
+ end
33
+
36
34
  def run_ops(args)
37
35
  Output.notice("Running '#{args.join(' ')}' with stderr and stdout redirected to '#{Background.log_filename}'")
38
36
  $stdout.sync = $stderr.sync = true
@@ -41,10 +39,6 @@ module Builtins
41
39
 
42
40
  Ops.new(args).run
43
41
  end
44
-
45
- def shell
46
- Options.get("background.shell") || DEFAULT_SHELL
47
- end
48
42
  end
49
43
 
50
44
  # set an alias
@@ -18,7 +18,17 @@ module Builtins
18
18
  end
19
19
 
20
20
  Output.notice("Displaying background log '#{Background.log_filename}'...")
21
- exec("tail #{args.join(' ')} '#{Background.log_filename}'")
21
+ display_file
22
+ end
23
+
24
+ private
25
+
26
+ def display_file
27
+ if args.any?
28
+ exec("tail #{args.join(' ')} '#{Background.log_filename}'")
29
+ else
30
+ exec("cat '#{Background.log_filename}'")
31
+ end
22
32
  end
23
33
  end
24
34
 
@@ -15,7 +15,12 @@ module Builtins
15
15
 
16
16
  def run
17
17
  Secrets.load if Options.get("exec.load_secrets")
18
- Kernel.exec(@args.join(" "))
18
+
19
+ if args.any?
20
+ Kernel.exec(args.join(" "))
21
+ else
22
+ Output.error("Usage: ops exec '<command>'")
23
+ end
19
24
  end
20
25
  end
21
26
  end
@@ -20,7 +20,7 @@ module Dependencies
20
20
  end
21
21
 
22
22
  def should_meet?
23
- system("which apk")
23
+ `uname`.chomp == "Linux" && system("which apk &>/dev/null")
24
24
  end
25
25
  end
26
26
  end
@@ -18,7 +18,7 @@ module Dependencies
18
18
  end
19
19
 
20
20
  def should_meet?
21
- `uname`.chomp == "Linux"
21
+ `uname`.chomp == "Linux" && system("which apt-get &>/dev/null")
22
22
  end
23
23
 
24
24
  private
data/lib/ops.rb CHANGED
@@ -77,8 +77,16 @@ class Ops
77
77
  end
78
78
 
79
79
  def actions
80
- config["actions"].transform_values do |config|
81
- Action.new(config, @args)
80
+ @actions ||= begin
81
+ if config["actions"]
82
+ config["actions"]&.transform_values do |config|
83
+ Action.new(config, @args)
84
+ end
85
+ else
86
+ # only print this error if ops.yml had something in it
87
+ Output.warn("'ops.yml' has no 'actions' defined.") if config.any?
88
+ {}
89
+ end
82
90
  end
83
91
  end
84
92
 
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = 'ops_team'
5
- s.version = '0.9.3'
5
+ s.version = '0.9.8'
6
6
  s.authors = [
7
7
  'nickthecook@gmail.com'
8
8
  ]
9
- s.date = '2020-08-11'
9
+ s.date = '2020-08-12'
10
10
  s.summary = 'ops_team handles basic operations tasks for your project, driven by YAML config'
11
11
  s.homepage = 'https://github.com/nickthecook/ops'
12
12
  s.files = Dir[
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ops_team
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.3
4
+ version: 0.9.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - nickthecook@gmail.com
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-11 00:00:00.000000000 Z
11
+ date: 2020-08-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bcrypt_pbkdf