rake_git_crypt 0.1.0.pre.14 → 0.1.0.pre.16
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.lock +3 -3
- data/Rakefile +5 -0
- data/lib/rake_git_crypt/mixins/support.rb +9 -0
- data/lib/rake_git_crypt/tasks/add_users.rb +26 -0
- data/lib/rake_git_crypt/tasks/install.rb +36 -0
- data/lib/rake_git_crypt/tasks/uninstall.rb +0 -16
- data/lib/rake_git_crypt/tasks.rb +3 -2
- data/lib/rake_git_crypt/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: caaa2017705d66365774aa73e514d7337a8d6e88961520707aa2fbd5950f93ab
|
|
4
|
+
data.tar.gz: da842a211625edfc228dd8f5abf14ea1785f6bf49fedb93281b1dc182a04d1cc
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4017fa057ae94518b7fe882e1fd532424cd236000ed79f61a712b56faf5fa21919c869114d2e7b982e9d82fa501d3f4babaa88716621e75f82db9e8beecfcb9f
|
|
7
|
+
data.tar.gz: dca95c4e1e6029544b28cfecfeeac994850df59f0a88e5159ec861c9d9f985b31f80b2f028506019878cea44f38b0a7c06b48d55db5acc6820f010072e7d53d3
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
rake_git_crypt (0.1.0.pre.
|
|
4
|
+
rake_git_crypt (0.1.0.pre.16)
|
|
5
5
|
colored2 (~> 3.1)
|
|
6
6
|
rake_factory (= 0.32.0.pre.2)
|
|
7
7
|
ruby_git_crypt (= 0.1.0.pre.2)
|
|
@@ -120,7 +120,7 @@ GEM
|
|
|
120
120
|
simplecov-html (0.12.3)
|
|
121
121
|
simplecov_json_formatter (0.1.4)
|
|
122
122
|
sshkey (2.0.0)
|
|
123
|
-
tzinfo (2.0.
|
|
123
|
+
tzinfo (2.0.6)
|
|
124
124
|
concurrent-ruby (~> 1.0)
|
|
125
125
|
unicode-display_width (2.4.2)
|
|
126
126
|
|
|
@@ -148,4 +148,4 @@ DEPENDENCIES
|
|
|
148
148
|
simplecov
|
|
149
149
|
|
|
150
150
|
BUNDLED WITH
|
|
151
|
-
2.4.
|
|
151
|
+
2.4.6
|
data/Rakefile
CHANGED
|
@@ -12,8 +12,17 @@ module RakeGitCrypt
|
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
def invoke_task_with_name(task, name, args)
|
|
15
|
+
raise_task_undefined(name) unless task_defined?(task, name)
|
|
16
|
+
|
|
15
17
|
task_by_name(task, name).invoke(*args)
|
|
16
18
|
end
|
|
19
|
+
|
|
20
|
+
def raise_task_undefined(name)
|
|
21
|
+
raise(
|
|
22
|
+
RakeFactory::DependencyTaskMissing,
|
|
23
|
+
"The task with name #{name} does not exist."
|
|
24
|
+
)
|
|
25
|
+
end
|
|
17
26
|
end
|
|
18
27
|
end
|
|
19
28
|
end
|
|
@@ -6,6 +6,7 @@ require_relative '../mixins/support'
|
|
|
6
6
|
|
|
7
7
|
module RakeGitCrypt
|
|
8
8
|
module Tasks
|
|
9
|
+
# rubocop:disable Metrics/ClassLength
|
|
9
10
|
class AddUsers < RakeFactory::Task
|
|
10
11
|
include Mixins::Support
|
|
11
12
|
|
|
@@ -34,6 +35,30 @@ module RakeGitCrypt
|
|
|
34
35
|
|
|
35
36
|
private
|
|
36
37
|
|
|
38
|
+
def gpg_user_key_paths
|
|
39
|
+
return nil if @gpg_user_key_paths.nil?
|
|
40
|
+
|
|
41
|
+
resolve_key_paths(@gpg_user_key_paths)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def resolve_key_paths(paths)
|
|
45
|
+
paths.inject([]) do |acc, key_path|
|
|
46
|
+
[*acc, *resolve_key_path(key_path)]
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def resolve_key_path(path)
|
|
51
|
+
if File.file?(path)
|
|
52
|
+
[path]
|
|
53
|
+
elsif File.directory?(path)
|
|
54
|
+
resolve_key_paths(
|
|
55
|
+
Dir.entries(path).reject { |entry| %w[. ..].include?(entry) }
|
|
56
|
+
)
|
|
57
|
+
else
|
|
58
|
+
[]
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
37
62
|
def ensure_users_provided
|
|
38
63
|
if gpg_user_details_present?(:key_path) ||
|
|
39
64
|
gpg_user_details_present?(:id)
|
|
@@ -124,5 +149,6 @@ module RakeGitCrypt
|
|
|
124
149
|
)
|
|
125
150
|
end
|
|
126
151
|
end
|
|
152
|
+
# rubocop:enable Metrics/ClassLength
|
|
127
153
|
end
|
|
128
154
|
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'rake_factory'
|
|
4
|
+
require 'ruby_git_crypt'
|
|
5
|
+
|
|
6
|
+
require_relative '../mixins/support'
|
|
7
|
+
|
|
8
|
+
module RakeGitCrypt
|
|
9
|
+
module Tasks
|
|
10
|
+
class Install < RakeFactory::Task
|
|
11
|
+
include Mixins::Support
|
|
12
|
+
|
|
13
|
+
default_name :install
|
|
14
|
+
default_description 'Install git-crypt.'
|
|
15
|
+
|
|
16
|
+
parameter(:init_task_name, default: :init)
|
|
17
|
+
parameter(:add_users_task_name, default: :add_users)
|
|
18
|
+
|
|
19
|
+
action do |task, args|
|
|
20
|
+
puts('Installing git-crypt...')
|
|
21
|
+
init_git_crypt(task, args)
|
|
22
|
+
add_users_to_git_crypt(task, args)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
private
|
|
26
|
+
|
|
27
|
+
def init_git_crypt(task, args)
|
|
28
|
+
invoke_task_with_name(task, init_task_name, args)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def add_users_to_git_crypt(task, args)
|
|
32
|
+
invoke_task_with_name(task, add_users_task_name, args)
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -37,24 +37,8 @@ module RakeGitCrypt
|
|
|
37
37
|
def maybe_delete_secrets(task, args)
|
|
38
38
|
return unless delete_secrets_task_name
|
|
39
39
|
|
|
40
|
-
unless delete_secrets_task_defined?(task)
|
|
41
|
-
raise_delete_secrets_task_undefined
|
|
42
|
-
end
|
|
43
|
-
|
|
44
40
|
invoke_task_with_name(task, delete_secrets_task_name, args)
|
|
45
41
|
end
|
|
46
|
-
|
|
47
|
-
def delete_secrets_task_defined?(task)
|
|
48
|
-
task_defined?(task, delete_secrets_task_name)
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
def raise_delete_secrets_task_undefined
|
|
52
|
-
raise(
|
|
53
|
-
RakeFactory::DependencyTaskMissing,
|
|
54
|
-
'The task with name defined in delete_secrets_task_name does not ' \
|
|
55
|
-
'exist.'
|
|
56
|
-
)
|
|
57
|
-
end
|
|
58
42
|
end
|
|
59
43
|
end
|
|
60
44
|
end
|
data/lib/rake_git_crypt/tasks.rb
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require_relative 'tasks/init'
|
|
4
3
|
require_relative 'tasks/add_user'
|
|
5
4
|
require_relative 'tasks/add_users'
|
|
5
|
+
require_relative 'tasks/init'
|
|
6
|
+
require_relative 'tasks/install'
|
|
6
7
|
require_relative 'tasks/lock'
|
|
7
|
-
require_relative 'tasks/unlock'
|
|
8
8
|
require_relative 'tasks/uninstall'
|
|
9
|
+
require_relative 'tasks/unlock'
|
|
9
10
|
|
|
10
11
|
module RakeGitCrypt
|
|
11
12
|
module Tasks
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: rake_git_crypt
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.0.pre.
|
|
4
|
+
version: 0.1.0.pre.16
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- InfraBlocks Maintainers
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2023-01-
|
|
11
|
+
date: 2023-01-31 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: colored2
|
|
@@ -89,6 +89,7 @@ files:
|
|
|
89
89
|
- lib/rake_git_crypt/tasks/add_user.rb
|
|
90
90
|
- lib/rake_git_crypt/tasks/add_users.rb
|
|
91
91
|
- lib/rake_git_crypt/tasks/init.rb
|
|
92
|
+
- lib/rake_git_crypt/tasks/install.rb
|
|
92
93
|
- lib/rake_git_crypt/tasks/lock.rb
|
|
93
94
|
- lib/rake_git_crypt/tasks/uninstall.rb
|
|
94
95
|
- lib/rake_git_crypt/tasks/unlock.rb
|