ops_team 0.8.4 → 0.8.10
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/Gemfile +1 -0
- data/lib/action.rb +1 -1
- data/lib/dependencies/sshkey.rb +34 -11
- data/ops_team.gemspec +3 -2
- metadata +22 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: caa9b859d0dac66be5cc981ed872b591a6c174a5c70dabdf145d415681960831
|
|
4
|
+
data.tar.gz: '08beac67a93906cb88db284977d1a10863820de5fd73369fb782f530cc8ec601'
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 472f261d6d94bc4024576b2a322fe69bd10b53b5892efbcc89027a825723901c9a1aede0cc393cd8fae372dba49bdeb95c703b912f4d83ecf6711de8f3541caa
|
|
7
|
+
data.tar.gz: 2a3a3ae0d383b40bec9cfaa79d705520f46b885f510aaab3833e763114a9c10a8b90af5a6c6285942e53057508643da93ad32f629fc4812819e24e44969ba750
|
data/Gemfile
CHANGED
data/lib/action.rb
CHANGED
data/lib/dependencies/sshkey.rb
CHANGED
|
@@ -8,7 +8,7 @@ module Dependencies
|
|
|
8
8
|
class Sshkey < Dependency
|
|
9
9
|
DEFAULT_KEY_SIZE = 2048
|
|
10
10
|
DEFAULT_KEY_ALGO = "rsa"
|
|
11
|
-
DEFAULT_KEY_LIFETIME_S =
|
|
11
|
+
DEFAULT_KEY_LIFETIME_S = 3600
|
|
12
12
|
|
|
13
13
|
def met?
|
|
14
14
|
# we always need to at least update the key lifetime in the agent
|
|
@@ -21,7 +21,7 @@ module Dependencies
|
|
|
21
21
|
FileUtils.mkdir_p(dir_name) unless File.directory?(dir_name)
|
|
22
22
|
|
|
23
23
|
generate_key unless File.exist?(priv_key_name) && File.exist?(pub_key_name)
|
|
24
|
-
add_key if success? &&
|
|
24
|
+
add_key if success? && should_add_key?
|
|
25
25
|
end
|
|
26
26
|
|
|
27
27
|
def unmeet
|
|
@@ -35,19 +35,25 @@ module Dependencies
|
|
|
35
35
|
private
|
|
36
36
|
|
|
37
37
|
def generate_key
|
|
38
|
-
|
|
38
|
+
Output.warn("\nNo passphrase set for SSH key '#{priv_key_name}'") if passphrase.nil? || passphrase.empty?
|
|
39
|
+
|
|
40
|
+
execute("ssh-keygen -b #{opt_key_size} -t #{opt_key_algo} -f #{priv_key_name} -q -N '#{passphrase}'")
|
|
39
41
|
end
|
|
40
42
|
|
|
41
43
|
def add_key
|
|
42
44
|
Net::SSH::Authentication::Agent.connect.add_identity(
|
|
43
45
|
unencrypted_key,
|
|
44
46
|
key_comment,
|
|
45
|
-
lifetime:
|
|
47
|
+
lifetime: opt_key_lifetime
|
|
46
48
|
)
|
|
47
49
|
end
|
|
48
50
|
|
|
51
|
+
def should_add_key?
|
|
52
|
+
ENV["SSH_AUTH_SOCK"] && opt_add_keys?
|
|
53
|
+
end
|
|
54
|
+
|
|
49
55
|
def unencrypted_key
|
|
50
|
-
Net::SSH::KeyFactory.load_private_key(priv_key_name, passphrase)
|
|
56
|
+
Net::SSH::KeyFactory.load_private_key(priv_key_name, passphrase.empty? ? nil : passphrase)
|
|
51
57
|
end
|
|
52
58
|
|
|
53
59
|
def key_comment
|
|
@@ -67,23 +73,40 @@ module Dependencies
|
|
|
67
73
|
"#{priv_key_name}.pub"
|
|
68
74
|
end
|
|
69
75
|
|
|
70
|
-
def
|
|
76
|
+
def opt_key_size
|
|
71
77
|
Options.get("sshkey.key_size") || DEFAULT_KEY_SIZE
|
|
72
78
|
end
|
|
73
79
|
|
|
74
|
-
def
|
|
80
|
+
def opt_key_algo
|
|
75
81
|
DEFAULT_KEY_ALGO
|
|
76
82
|
end
|
|
77
83
|
|
|
78
84
|
def passphrase
|
|
79
|
-
`echo #{
|
|
85
|
+
`echo #{opt_passphrase}`.chomp
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
def opt_passphrase
|
|
89
|
+
@opt_passphrase ||= begin
|
|
90
|
+
return "$#{Options.get('sshkey.passphrase_var')}" if Options.get("sshkey.passphrase_var")
|
|
91
|
+
|
|
92
|
+
output_passphrase_warning if Options.get("sshkey.passphrase")
|
|
93
|
+
|
|
94
|
+
Options.get("sshkey.passphrase")
|
|
95
|
+
end
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
def output_passphrase_warning
|
|
99
|
+
Output.warn(
|
|
100
|
+
"\n'options.sshkey.passphrase' is deprecated and will be removed in a future release. " \
|
|
101
|
+
"Use 'options.sshkey.passphrase_var' instead."
|
|
102
|
+
)
|
|
80
103
|
end
|
|
81
104
|
|
|
82
|
-
def
|
|
83
|
-
Options.get("sshkey.
|
|
105
|
+
def opt_add_keys?
|
|
106
|
+
Options.get("sshkey.add_keys").nil? ? true : Options.get("sshkey.add_keys")
|
|
84
107
|
end
|
|
85
108
|
|
|
86
|
-
def
|
|
109
|
+
def opt_key_lifetime
|
|
87
110
|
Options.get("sshkey.key_lifetime") || DEFAULT_KEY_LIFETIME_S
|
|
88
111
|
end
|
|
89
112
|
end
|
data/ops_team.gemspec
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Gem::Specification.new do |s|
|
|
4
4
|
s.name = 'ops_team'
|
|
5
|
-
s.version = '0.8.
|
|
5
|
+
s.version = '0.8.10'
|
|
6
6
|
s.authors = [
|
|
7
7
|
'nickthecook@gmail.com'
|
|
8
8
|
]
|
|
9
|
-
s.date = '2020-
|
|
9
|
+
s.date = '2020-08-11'
|
|
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[
|
|
@@ -25,6 +25,7 @@ Gem::Specification.new do |s|
|
|
|
25
25
|
s.add_runtime_dependency 'bcrypt_pbkdf', '~> 1.0', '>= 1.0.1'
|
|
26
26
|
s.add_runtime_dependency 'colorize', '~> 0.8', '>= 0.8.1'
|
|
27
27
|
s.add_runtime_dependency 'ed25519', '~> 1.2', '>= 1.2.4'
|
|
28
|
+
s.add_runtime_dependency 'ejson', '~> 1.2', '>= 1.2.1'
|
|
28
29
|
s.add_runtime_dependency 'net-ssh', '~> 6.1', '>= 6.1.0'
|
|
29
30
|
s.add_runtime_dependency 'require_all', '~> 1.1', '>= 1.1.6'
|
|
30
31
|
s.license = 'GPL-3.0-only'
|
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.8.
|
|
4
|
+
version: 0.8.10
|
|
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-
|
|
11
|
+
date: 2020-08-11 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bcrypt_pbkdf
|
|
@@ -70,6 +70,26 @@ dependencies:
|
|
|
70
70
|
- - ">="
|
|
71
71
|
- !ruby/object:Gem::Version
|
|
72
72
|
version: 1.2.4
|
|
73
|
+
- !ruby/object:Gem::Dependency
|
|
74
|
+
name: ejson
|
|
75
|
+
requirement: !ruby/object:Gem::Requirement
|
|
76
|
+
requirements:
|
|
77
|
+
- - "~>"
|
|
78
|
+
- !ruby/object:Gem::Version
|
|
79
|
+
version: '1.2'
|
|
80
|
+
- - ">="
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: 1.2.1
|
|
83
|
+
type: :runtime
|
|
84
|
+
prerelease: false
|
|
85
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - "~>"
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: '1.2'
|
|
90
|
+
- - ">="
|
|
91
|
+
- !ruby/object:Gem::Version
|
|
92
|
+
version: 1.2.1
|
|
73
93
|
- !ruby/object:Gem::Dependency
|
|
74
94
|
name: net-ssh
|
|
75
95
|
requirement: !ruby/object:Gem::Requirement
|