rake_git_crypt 0.1.0.pre.13 → 0.1.0.pre.15
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 +1 -1
- data/Rakefile +5 -0
- data/lib/rake_git_crypt/mixins/support.rb +28 -0
- data/lib/rake_git_crypt/tasks/add_users.rb +12 -10
- data/lib/rake_git_crypt/tasks/install.rb +36 -0
- data/lib/rake_git_crypt/tasks/uninstall.rb +44 -0
- data/lib/rake_git_crypt/tasks/unlock.rb +2 -2
- data/lib/rake_git_crypt/tasks.rb +3 -1
- data/lib/rake_git_crypt/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e426a2d4bc292264074ac8e12c0ac21ebdfd3c834de262bf8afd889f3365e66d
|
4
|
+
data.tar.gz: f043f33c2f71f991b54a972b1bb6683730f75c54bfaa1375c878253a8b81f2bd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 263ca6021195915bceb150d3c3921377b2547a9b25850388e08766bc02d4037e126f3e27a4d402fc949d849a6ac82f9099e25555a938a2fc8cb735f518d4d85b
|
7
|
+
data.tar.gz: 2fac6b967672f0dfd2bc307b64591d85b998b4eccddb41fba867c23a88dce24f95e2b2911db412fd39a2f51ea69efc38e47b2ef8d6a031936af9be597033790a
|
data/Gemfile.lock
CHANGED
data/Rakefile
CHANGED
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RakeGitCrypt
|
4
|
+
module Mixins
|
5
|
+
module Support
|
6
|
+
def task_by_name(task, name)
|
7
|
+
task.application.lookup(name, task.scope)
|
8
|
+
end
|
9
|
+
|
10
|
+
def task_defined?(task, name)
|
11
|
+
!task_by_name(task, name).nil?
|
12
|
+
end
|
13
|
+
|
14
|
+
def invoke_task_with_name(task, name, args)
|
15
|
+
raise_task_undefined(name) unless task_defined?(task, name)
|
16
|
+
|
17
|
+
task_by_name(task, name).invoke(*args)
|
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
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -2,9 +2,13 @@
|
|
2
2
|
|
3
3
|
require 'rake_factory'
|
4
4
|
|
5
|
+
require_relative '../mixins/support'
|
6
|
+
|
5
7
|
module RakeGitCrypt
|
6
8
|
module Tasks
|
7
9
|
class AddUsers < RakeFactory::Task
|
10
|
+
include Mixins::Support
|
11
|
+
|
8
12
|
default_name :add_users
|
9
13
|
default_description 'Add users to git-crypt.'
|
10
14
|
|
@@ -45,31 +49,29 @@ module RakeGitCrypt
|
|
45
49
|
end
|
46
50
|
|
47
51
|
def ensure_add_user_task_present(task, user_type)
|
48
|
-
unless
|
49
|
-
|
50
|
-
!
|
52
|
+
unless add_user_task_required?(user_type) && (
|
53
|
+
add_user_task_name_missing?(user_type) ||
|
54
|
+
!add_user_task_defined?(task, user_type))
|
51
55
|
return
|
52
56
|
end
|
53
57
|
|
54
|
-
if
|
58
|
+
if add_user_task_name_missing?(user_type)
|
55
59
|
raise_add_user_task_name_missing(user_type)
|
56
60
|
else
|
57
61
|
raise_add_user_task_undefined(user_type)
|
58
62
|
end
|
59
63
|
end
|
60
64
|
|
61
|
-
def
|
65
|
+
def add_user_task_name_missing?(user_type)
|
62
66
|
send(:"add_user_by_#{user_type}_task_name").nil?
|
63
67
|
end
|
64
68
|
|
65
|
-
def
|
69
|
+
def add_user_task_required?(user_type)
|
66
70
|
gpg_user_details_present?(user_type)
|
67
71
|
end
|
68
72
|
|
69
|
-
def
|
70
|
-
|
71
|
-
.lookup(send(:"add_user_by_#{user_type}_task_name"), task.scope)
|
72
|
-
.nil?
|
73
|
+
def add_user_task_defined?(task, user_type)
|
74
|
+
task_defined?(task, send(:"add_user_by_#{user_type}_task_name"))
|
73
75
|
end
|
74
76
|
|
75
77
|
def gpg_user_details_present?(user_type)
|
@@ -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
|
@@ -0,0 +1,44 @@
|
|
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 Uninstall < RakeFactory::Task
|
11
|
+
include Mixins::Support
|
12
|
+
|
13
|
+
default_name :uninstall
|
14
|
+
default_description 'Uninstall git-crypt.'
|
15
|
+
|
16
|
+
parameter(:lock_task_name, default: :lock)
|
17
|
+
parameter(:delete_secrets_task_name)
|
18
|
+
|
19
|
+
action do |task, args|
|
20
|
+
puts('Uninstalling git-crypt...')
|
21
|
+
lock_git_crypt(task, args)
|
22
|
+
delete_git_crypt_directories
|
23
|
+
maybe_delete_secrets(task, args)
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
def lock_git_crypt(task, args)
|
29
|
+
invoke_task_with_name(task, lock_task_name, args)
|
30
|
+
end
|
31
|
+
|
32
|
+
def delete_git_crypt_directories
|
33
|
+
FileUtils.rm_rf('.git-crypt')
|
34
|
+
FileUtils.rm_rf('.git/git-crypt')
|
35
|
+
end
|
36
|
+
|
37
|
+
def maybe_delete_secrets(task, args)
|
38
|
+
return unless delete_secrets_task_name
|
39
|
+
|
40
|
+
invoke_task_with_name(task, delete_secrets_task_name, args)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -9,12 +9,12 @@ module RakeGitCrypt
|
|
9
9
|
default_name :unlock
|
10
10
|
default_description 'Unlock git-crypt.'
|
11
11
|
|
12
|
-
parameter :
|
12
|
+
parameter :key_paths
|
13
13
|
|
14
14
|
action do
|
15
15
|
puts('Unlocking git-crypt...')
|
16
16
|
RubyGitCrypt.unlock(
|
17
|
-
|
17
|
+
key_files: key_paths
|
18
18
|
)
|
19
19
|
end
|
20
20
|
end
|
data/lib/rake_git_crypt/tasks.rb
CHANGED
@@ -1,9 +1,11 @@
|
|
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'
|
8
|
+
require_relative 'tasks/uninstall'
|
7
9
|
require_relative 'tasks/unlock'
|
8
10
|
|
9
11
|
module RakeGitCrypt
|
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.15
|
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
|
@@ -83,12 +83,15 @@ files:
|
|
83
83
|
- bin/setup
|
84
84
|
- lib/rake_git_crypt.rb
|
85
85
|
- lib/rake_git_crypt/home.rb
|
86
|
+
- lib/rake_git_crypt/mixins/support.rb
|
86
87
|
- lib/rake_git_crypt/task_sets.rb
|
87
88
|
- lib/rake_git_crypt/tasks.rb
|
88
89
|
- lib/rake_git_crypt/tasks/add_user.rb
|
89
90
|
- lib/rake_git_crypt/tasks/add_users.rb
|
90
91
|
- lib/rake_git_crypt/tasks/init.rb
|
92
|
+
- lib/rake_git_crypt/tasks/install.rb
|
91
93
|
- lib/rake_git_crypt/tasks/lock.rb
|
94
|
+
- lib/rake_git_crypt/tasks/uninstall.rb
|
92
95
|
- lib/rake_git_crypt/tasks/unlock.rb
|
93
96
|
- lib/rake_git_crypt/version.rb
|
94
97
|
- rake_git_crypt.gemspec
|