ops_team 0.2.4 → 0.2.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/action.rb +2 -11
- data/lib/builtins/exec.rb +21 -0
- data/lib/ops.rb +2 -6
- data/lib/secrets.rb +13 -0
- data/ops_team.gemspec +1 -1
- 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: 825a1361283396d68558e9584c6a3b550bbd44965c38829890c0ba2610eb7c55
|
4
|
+
data.tar.gz: b553774400887ee8e22882aa9cccff57e4f5168cb0eccecbe7ad5673ff09c6a6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0665d5cfbb51391ec40775e219c60c2fc01548bc803c19f048dba5352d3f1c327f2bc150658dbcedbfa35f6e28d8dd3b9108935b460905f2a5cdcc3b1a6570f7
|
7
|
+
data.tar.gz: 0aa5809debd1fa918e9f5b223d37fd2bfe38d7d7abb50e81cbc176e5490bcb5d8a1323c1a536837d90902e753edad2b9770063cf41f92a1e41edba72e7de7ffe
|
data/lib/action.rb
CHANGED
@@ -5,14 +5,13 @@ require 'secrets'
|
|
5
5
|
# represents one action to be performed in the shell
|
6
6
|
# can assemble a command line from a command and args
|
7
7
|
class Action
|
8
|
-
def initialize(config, args
|
8
|
+
def initialize(config, args)
|
9
9
|
@config = config
|
10
10
|
@args = args
|
11
|
-
@options = options
|
12
11
|
end
|
13
12
|
|
14
13
|
def run
|
15
|
-
|
14
|
+
Secrets.load if load_secrets?
|
16
15
|
|
17
16
|
Kernel.exec(to_s)
|
18
17
|
end
|
@@ -38,12 +37,4 @@ class Action
|
|
38
37
|
def load_secrets?
|
39
38
|
@config["load_secrets"]
|
40
39
|
end
|
41
|
-
|
42
|
-
def load_secrets
|
43
|
-
Secrets.new(secrets_file).load
|
44
|
-
end
|
45
|
-
|
46
|
-
def secrets_file
|
47
|
-
`echo #{@options&.dig("secrets", "path")}`.chomp
|
48
|
-
end
|
49
40
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'builtin'
|
4
|
+
require 'output'
|
5
|
+
require 'secrets'
|
6
|
+
require 'options'
|
7
|
+
|
8
|
+
module Builtins
|
9
|
+
class Exec < Builtin
|
10
|
+
class << self
|
11
|
+
def description
|
12
|
+
"executes the given command in the `ops` environment, i.e. with environment variables set"
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def run
|
17
|
+
Secrets.load if Options.get("exec.load_secrets")
|
18
|
+
Kernel.exec(@args.join(" "))
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
data/lib/ops.rb
CHANGED
@@ -71,7 +71,7 @@ class Ops
|
|
71
71
|
|
72
72
|
def actions
|
73
73
|
config["actions"].transform_values do |config|
|
74
|
-
Action.new(config, @args
|
74
|
+
Action.new(config, @args)
|
75
75
|
end
|
76
76
|
end
|
77
77
|
|
@@ -92,10 +92,6 @@ class Ops
|
|
92
92
|
end
|
93
93
|
end
|
94
94
|
|
95
|
-
def action_options
|
96
|
-
@action_options ||= @config.dig("options", "actions")
|
97
|
-
end
|
98
|
-
|
99
95
|
def env_vars
|
100
96
|
@config.dig("options", "environment") || {}
|
101
97
|
end
|
@@ -105,7 +101,7 @@ class Ops
|
|
105
101
|
end
|
106
102
|
|
107
103
|
def app_config_file
|
108
|
-
`echo #{
|
104
|
+
`echo #{Options.get("config.path")}`.chomp
|
109
105
|
end
|
110
106
|
|
111
107
|
def app_config
|
data/lib/secrets.rb
CHANGED
@@ -4,8 +4,21 @@ require 'json'
|
|
4
4
|
|
5
5
|
require 'output'
|
6
6
|
require 'app_config'
|
7
|
+
require 'Options'
|
7
8
|
|
8
9
|
class Secrets < AppConfig
|
10
|
+
class << self
|
11
|
+
def load
|
12
|
+
Secrets.new(expand_path(Options.get("secrets.path"))).load
|
13
|
+
end
|
14
|
+
|
15
|
+
private
|
16
|
+
|
17
|
+
def expand_path(path)
|
18
|
+
`echo #{path}`.chomp
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
9
22
|
private
|
10
23
|
|
11
24
|
def default_filename
|
data/ops_team.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ops_team
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- nickthecook@gmail.com
|
@@ -70,6 +70,7 @@ files:
|
|
70
70
|
- lib/builtin.rb
|
71
71
|
- lib/builtins/down.rb
|
72
72
|
- lib/builtins/env.rb
|
73
|
+
- lib/builtins/exec.rb
|
73
74
|
- lib/builtins/help.rb
|
74
75
|
- lib/builtins/helpers/dependency_handler.rb
|
75
76
|
- lib/builtins/init.rb
|