ops_team 1.3.1 → 1.4.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 87d7f989252a5d65c3700079656d9067f638168efb95e42e6c65f8f45e782c6b
4
- data.tar.gz: 73b1e94053e65c3c49d3cf6160d1efa83102d55d96e80c12a9c77599cee7889f
3
+ metadata.gz: '0733758a5894345ad921779b037a61bbfb19c64d23e8ac9abe6ae440fedafc8b'
4
+ data.tar.gz: b87cdb544558b4173c9f9e0c82537ca26f8f4d168855fcfc2154229f7980cb58
5
5
  SHA512:
6
- metadata.gz: fabbbf8dcf87a66a5e949f7c1adc8c6ca4557616c221dd0f2213a14046cd0a484c38e2fdc0a1c974bb3803d58b07addccd788f34d21f8d39f784c7080780ab59
7
- data.tar.gz: 0b515c670bc053ca122b31006ed7c32494e15bbc2c1302df0ad3c8b867eec827022d5efe466a3c860e172e8b27303a517f6e52637aa228f5fa035d5986f0eda2
6
+ metadata.gz: bbf9e515dc0514e7e3a1f1eaa27ffc2467a0b4872d6202d006ef12351f4166d9822e04d8f438d9d1b4d3d0c6369c8c9da01dcd72c09e7f04974f6e67f3448765
7
+ data.tar.gz: 200a4b8c30cebdc8a39f87394eb1241387b147deebc23491ccd88de58cc916c3d934c6f301d5169c0869610d4ad9f0c382fff2101fc504df909766322049ddd3
data/lib/app_config.rb CHANGED
@@ -42,7 +42,7 @@ class AppConfig
42
42
  def config
43
43
  @config ||= file_contents ? YAML.safe_load(file_contents) : {}
44
44
  rescue YAML::SyntaxError => e
45
- raise ParsingError, "Error parsing config data: #{e}"
45
+ raise ParsingError, "#{@filename}: #{e}"
46
46
  end
47
47
 
48
48
  def file_contents
@@ -47,7 +47,7 @@ module Builtins
47
47
 
48
48
  def timer_task
49
49
  @timer_task ||= Concurrent::TimerTask.new(run_now: true, execution_interval: 1) do
50
- Output.print("\r#{seconds_left}")
50
+ Output.print("\r \r#{seconds_left}")
51
51
  end
52
52
  end
53
53
 
data/lib/builtins/up.rb CHANGED
@@ -23,7 +23,7 @@ module Builtins
23
23
  private
24
24
 
25
25
  def dependency_handler
26
- Helpers::DependencyHandler.new(@config["dependencies"])
26
+ Helpers::DependencyHandler.new(deps_to_meet)
27
27
  end
28
28
 
29
29
  def meet_dependencies
@@ -49,5 +49,11 @@ module Builtins
49
49
  Output.out(dependency.output)
50
50
  end
51
51
  end
52
+
53
+ def deps_to_meet
54
+ return @config["dependencies"] if @args.empty?
55
+
56
+ return @config["dependencies"].select { |dep, names| @args.include?(dep) }
57
+ end
52
58
  end
53
59
  end
@@ -9,6 +9,7 @@ module Dependencies
9
9
  DEFAULT_KEY_SIZE = 2048
10
10
  DEFAULT_KEY_ALGO = "rsa"
11
11
  DEFAULT_KEY_LIFETIME_S = 3600
12
+ DEFAULT_KEY_FILE_COMMENT_COMMAND = "$USER@`hostname -s`"
12
13
 
13
14
  def met?
14
15
  # we always need to at least update the key lifetime in the agent
@@ -36,7 +37,9 @@ module Dependencies
36
37
  private
37
38
 
38
39
  def generate_key
39
- execute("ssh-keygen -b #{opt_key_size} -t #{opt_key_algo} -f #{priv_key_name} -q -N '#{passphrase}'")
40
+ execute(
41
+ "ssh-keygen -b #{opt_key_size} -t #{opt_key_algo} -f #{priv_key_name} -q -N '#{passphrase}' -C '#{key_file_comment}'"
42
+ )
40
43
  end
41
44
 
42
45
  def add_key
@@ -59,6 +62,10 @@ module Dependencies
59
62
  Ops.project_name
60
63
  end
61
64
 
65
+ def key_file_comment
66
+ `echo #{opt_key_file_comment_command}`.chomp
67
+ end
68
+
62
69
  def dir_name
63
70
  `echo #{File.dirname(name)}`.chomp
64
71
  end
@@ -107,5 +114,9 @@ module Dependencies
107
114
  def opt_key_lifetime
108
115
  Options.get("sshkey.key_lifetime") || DEFAULT_KEY_LIFETIME_S
109
116
  end
117
+
118
+ def opt_key_file_comment_command
119
+ Options.get("sshkey.key_file_comment") || DEFAULT_KEY_FILE_COMMENT_COMMAND
120
+ end
110
121
  end
111
122
  end
data/lib/secrets.rb CHANGED
@@ -53,7 +53,7 @@ class Secrets < AppConfig
53
53
  out, err, _status = Open3.capture3("ejson decrypt #{@filename}")
54
54
 
55
55
  # TODO: err is only nil in testing, but I can't figure out why the stubbing isn't working
56
- raise ParsingError, "Error decrypting EJSON file: #{err}" unless err.nil? || err.empty?
56
+ raise ParsingError, "#{@filename}: #{err}" unless err.nil? || err.empty?
57
57
 
58
58
  out
59
59
  end
data/ops_team.gemspec CHANGED
@@ -2,12 +2,12 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = 'ops_team'
5
- s.version = '1.3.1'
5
+ s.version = '1.4.1'
6
6
  s.authors = [
7
7
  'nickthecook@gmail.com'
8
8
  ]
9
- s.date = '2020-08-12'
10
- s.summary = 'ops_team handles basic operations tasks for your project, driven by YAML config'
9
+ s.date = '2021-05-05'
10
+ s.summary = 'ops_team handles basic operations tasks for your project, driven by self-documenting YAML config'
11
11
  s.homepage = 'https://github.com/nickthecook/ops'
12
12
  s.files = Dir[
13
13
  'Gemfile',
@@ -25,10 +25,10 @@ Gem::Specification.new do |s|
25
25
  s.required_ruby_version = '~> 2.5'
26
26
  s.add_runtime_dependency 'bcrypt_pbkdf', '~> 1.0', '>= 1.0.1'
27
27
  s.add_runtime_dependency 'colorize', '~> 0.8', '>= 0.8.1'
28
+ s.add_runtime_dependency 'concurrent-ruby', '~> 1.1', '>= 1.1.7'
28
29
  s.add_runtime_dependency 'ed25519', '~> 1.2', '>= 1.2.4'
29
30
  s.add_runtime_dependency 'ejson', '~> 1.2', '>= 1.2.1'
30
31
  s.add_runtime_dependency 'net-ssh', '~> 6.1', '>= 6.1.0'
31
32
  s.add_runtime_dependency 'require_all', '~> 1.1', '>= 1.1.6'
32
- s.add_runtime_dependency 'concurrent-ruby', '~> 1.1', '>= 1.1.7'
33
33
  s.license = 'GPL-3.0-only'
34
34
  end
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: 1.3.1
4
+ version: 1.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - nickthecook@gmail.com
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-12 00:00:00.000000000 Z
11
+ date: 2021-05-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bcrypt_pbkdf
@@ -50,6 +50,26 @@ dependencies:
50
50
  - - ">="
51
51
  - !ruby/object:Gem::Version
52
52
  version: 0.8.1
53
+ - !ruby/object:Gem::Dependency
54
+ name: concurrent-ruby
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '1.1'
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 1.1.7
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '1.1'
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: 1.1.7
53
73
  - !ruby/object:Gem::Dependency
54
74
  name: ed25519
55
75
  requirement: !ruby/object:Gem::Requirement
@@ -130,28 +150,8 @@ dependencies:
130
150
  - - ">="
131
151
  - !ruby/object:Gem::Version
132
152
  version: 1.1.6
133
- - !ruby/object:Gem::Dependency
134
- name: concurrent-ruby
135
- requirement: !ruby/object:Gem::Requirement
136
- requirements:
137
- - - "~>"
138
- - !ruby/object:Gem::Version
139
- version: '1.1'
140
- - - ">="
141
- - !ruby/object:Gem::Version
142
- version: 1.1.7
143
- type: :runtime
144
- prerelease: false
145
- version_requirements: !ruby/object:Gem::Requirement
146
- requirements:
147
- - - "~>"
148
- - !ruby/object:Gem::Version
149
- version: '1.1'
150
- - - ">="
151
- - !ruby/object:Gem::Version
152
- version: 1.1.7
153
- description:
154
- email:
153
+ description:
154
+ email:
155
155
  executables:
156
156
  - ops
157
157
  extensions: []
@@ -211,7 +211,7 @@ homepage: https://github.com/nickthecook/ops
211
211
  licenses:
212
212
  - GPL-3.0-only
213
213
  metadata: {}
214
- post_install_message:
214
+ post_install_message:
215
215
  rdoc_options: []
216
216
  require_paths:
217
217
  - lib
@@ -227,8 +227,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
227
227
  version: '0'
228
228
  requirements: []
229
229
  rubygems_version: 3.1.2
230
- signing_key:
230
+ signing_key:
231
231
  specification_version: 4
232
- summary: ops_team handles basic operations tasks for your project, driven by YAML
233
- config
232
+ summary: ops_team handles basic operations tasks for your project, driven by self-documenting
233
+ YAML config
234
234
  test_files: []