ops_team 0.8.0 → 0.8.2
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 +3 -0
- data/lib/dependencies/sshkey.rb +29 -4
- data/ops_team.gemspec +4 -1
- metadata +61 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8c91d50eeddf170724b335ec23089f3f5a452507f034e1edb8d9bce7fe419976
|
4
|
+
data.tar.gz: 9fa1b82f605e2342cfe01e6127849c41bae745ff68464afcb294f0796e5b9b82
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b1e9b52dcbcc50975dd2dd9e5369d4e1134822a7837a1132994c296fe32021c339d1457a1d9e92bbb6fdc5daa0581b761a13ce0f04ba92138821e41161f45209
|
7
|
+
data.tar.gz: 7b94c375bb4a1614aff89cbe83a530864b9c9aff8d597a0945fb499629833ff8dd099eb986df610d458a3a009d6ea00ac1eaf6c9c92e063892c15ee0290810d5
|
data/Gemfile
CHANGED
data/lib/dependencies/sshkey.rb
CHANGED
@@ -1,22 +1,27 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'net/ssh'
|
4
|
+
|
3
5
|
require 'dependency'
|
4
6
|
|
5
7
|
module Dependencies
|
6
8
|
class Sshkey < Dependency
|
7
9
|
DEFAULT_KEY_SIZE = 2048
|
8
10
|
DEFAULT_KEY_ALGO = "rsa"
|
11
|
+
DEFAULT_KEY_LIFETIME_S = 600
|
9
12
|
|
10
13
|
def met?
|
11
|
-
|
14
|
+
# we always need to at least update the key lifetime in the agent
|
15
|
+
false
|
12
16
|
end
|
13
17
|
|
14
18
|
def meet
|
15
|
-
Secrets.load
|
19
|
+
Secrets.load
|
16
20
|
|
17
21
|
FileUtils.mkdir_p(dir_name) unless File.directory?(dir_name)
|
18
22
|
|
19
|
-
|
23
|
+
generate_key unless File.exist?(priv_key_name) && File.exist?(pub_key_name)
|
24
|
+
add_key if success? && ENV["SSH_AUTH_SOCK"]
|
20
25
|
end
|
21
26
|
|
22
27
|
def unmeet
|
@@ -29,6 +34,22 @@ module Dependencies
|
|
29
34
|
|
30
35
|
private
|
31
36
|
|
37
|
+
def generate_key
|
38
|
+
execute("ssh-keygen -b #{key_size} -t #{key_algo} -f #{priv_key_name} -q -N '#{passphrase}'")
|
39
|
+
end
|
40
|
+
|
41
|
+
def add_key
|
42
|
+
Net::SSH::Authentication::Agent.connect.add_identity(
|
43
|
+
unencrypted_key,
|
44
|
+
"ops",
|
45
|
+
lifetime: key_lifetime
|
46
|
+
)
|
47
|
+
end
|
48
|
+
|
49
|
+
def unencrypted_key
|
50
|
+
Net::SSH::KeyFactory.load_private_key(priv_key_name, passphrase)
|
51
|
+
end
|
52
|
+
|
32
53
|
def dir_name
|
33
54
|
`echo #{File.dirname(name)}`.chomp
|
34
55
|
end
|
@@ -46,7 +67,7 @@ module Dependencies
|
|
46
67
|
end
|
47
68
|
|
48
69
|
def key_algo
|
49
|
-
|
70
|
+
DEFAULT_KEY_ALGO
|
50
71
|
end
|
51
72
|
|
52
73
|
def passphrase
|
@@ -56,5 +77,9 @@ module Dependencies
|
|
56
77
|
def configured_passphrase
|
57
78
|
Options.get("sshkey.passphrase")
|
58
79
|
end
|
80
|
+
|
81
|
+
def key_lifetime
|
82
|
+
Options.get("sshkey.key_lifetime") || DEFAULT_KEY_LIFETIME_S
|
83
|
+
end
|
59
84
|
end
|
60
85
|
end
|
data/ops_team.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
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.2'
|
6
6
|
s.authors = [
|
7
7
|
'nickthecook@gmail.com'
|
8
8
|
]
|
@@ -22,7 +22,10 @@ Gem::Specification.new do |s|
|
|
22
22
|
]
|
23
23
|
s.executables << 'ops'
|
24
24
|
s.required_ruby_version = '~> 2.5'
|
25
|
+
s.add_runtime_dependency 'bcrypt_pbkdf', '~> 1.0', '>= 1.0.1'
|
25
26
|
s.add_runtime_dependency 'colorize', '~> 0.8', '>= 0.8.1'
|
27
|
+
s.add_runtime_dependency 'ed25519', '~> 1.2', '>= 1.2.4'
|
28
|
+
s.add_runtime_dependency 'net-ssh', '~> 6.1', '>= 6.1.0'
|
26
29
|
s.add_runtime_dependency 'require_all', '~> 1.1', '>= 1.1.6'
|
27
30
|
s.license = 'GPL-3.0-only'
|
28
31
|
end
|
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.8.
|
4
|
+
version: 0.8.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- nickthecook@gmail.com
|
@@ -10,6 +10,26 @@ bindir: bin
|
|
10
10
|
cert_chain: []
|
11
11
|
date: 2020-05-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: bcrypt_pbkdf
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.0'
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 1.0.1
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1.0'
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 1.0.1
|
13
33
|
- !ruby/object:Gem::Dependency
|
14
34
|
name: colorize
|
15
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -30,6 +50,46 @@ dependencies:
|
|
30
50
|
- - ">="
|
31
51
|
- !ruby/object:Gem::Version
|
32
52
|
version: 0.8.1
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
name: ed25519
|
55
|
+
requirement: !ruby/object:Gem::Requirement
|
56
|
+
requirements:
|
57
|
+
- - "~>"
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: '1.2'
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 1.2.4
|
63
|
+
type: :runtime
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - "~>"
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '1.2'
|
70
|
+
- - ">="
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: 1.2.4
|
73
|
+
- !ruby/object:Gem::Dependency
|
74
|
+
name: net-ssh
|
75
|
+
requirement: !ruby/object:Gem::Requirement
|
76
|
+
requirements:
|
77
|
+
- - ">="
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: 6.1.0
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '6.1'
|
83
|
+
type: :runtime
|
84
|
+
prerelease: false
|
85
|
+
version_requirements: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 6.1.0
|
90
|
+
- - "~>"
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: '6.1'
|
33
93
|
- !ruby/object:Gem::Dependency
|
34
94
|
name: require_all
|
35
95
|
requirement: !ruby/object:Gem::Requirement
|