rake_git_crypt 0.1.0.pre.22 → 0.1.0.pre.24
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/lib/rake_git_crypt/task_sets/standard.rb +169 -0
- data/lib/rake_git_crypt/task_sets.rb +7 -0
- data/lib/rake_git_crypt/tasks/install.rb +10 -0
- data/lib/rake_git_crypt/tasks/uninstall.rb +4 -3
- data/lib/rake_git_crypt/version.rb +1 -1
- data/lib/rake_git_crypt.rb +2 -2
- 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: 52e05d9302fcacef1461071ac96bd12ddc4640c05bef5587f566a87e06f6549a
|
|
4
|
+
data.tar.gz: 6c0634b824a60a36c10144f2320ee8560bd5754d3f2be83a42b41e31ed89395d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: cc1fc1ccf4d65ead20d582d95de8ee286ce55d745ff461ca56d49f9bc834587dca05730b1bcdaf8dfa19507450af3ad420bdcb48e4e3b59509de7dc1a2c3cd42
|
|
7
|
+
data.tar.gz: fd7ab816c384a76282037abd39e4197acd1e0890d628d788042be2f979d2f3d2628e0168496599ffa2751a8b627eba2d3e0136674b08904b8d5ee656f1f3f44a
|
data/Gemfile.lock
CHANGED
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'rake_factory'
|
|
4
|
+
|
|
5
|
+
module RakeGitCrypt
|
|
6
|
+
module TaskSets
|
|
7
|
+
# rubocop:disable Metrics/ClassLength
|
|
8
|
+
class Standard < RakeFactory::TaskSet
|
|
9
|
+
prepend RakeFactory::Namespaceable
|
|
10
|
+
|
|
11
|
+
parameter :key_name
|
|
12
|
+
|
|
13
|
+
parameter :gpg_home_directory
|
|
14
|
+
parameter :gpg_work_directory, default: '/tmp'
|
|
15
|
+
|
|
16
|
+
parameter :gpg_user_ids, default: []
|
|
17
|
+
parameter :gpg_user_key_paths, default: []
|
|
18
|
+
|
|
19
|
+
parameter :allow_git_crypt_commit, default: false
|
|
20
|
+
parameter :allow_untrusted_keys, default: false
|
|
21
|
+
|
|
22
|
+
parameter :lock_when_unclean, default: false
|
|
23
|
+
parameter :lock_all_keys, default: false
|
|
24
|
+
|
|
25
|
+
parameter :unlock_key_paths
|
|
26
|
+
|
|
27
|
+
parameter :install_commit_message_template,
|
|
28
|
+
default: 'Installing git-crypt.'
|
|
29
|
+
parameter :install_commit_task_name
|
|
30
|
+
|
|
31
|
+
parameter :uninstall_commit_message_template,
|
|
32
|
+
default: 'Uninstalling git-crypt.'
|
|
33
|
+
parameter :uninstall_commit_task_name
|
|
34
|
+
|
|
35
|
+
parameter :add_users_commit_message_template,
|
|
36
|
+
default: 'Adding users to git-crypt.'
|
|
37
|
+
parameter :add_users_commit_task_name
|
|
38
|
+
|
|
39
|
+
parameter :add_user_by_id_commit_message_template,
|
|
40
|
+
default: 'Adding git-crypt GPG user with <%= @type %>: ' \
|
|
41
|
+
"'<%= @value %>'."
|
|
42
|
+
parameter :add_user_by_id_commit_task_name
|
|
43
|
+
|
|
44
|
+
parameter :add_user_by_key_path_commit_message_template,
|
|
45
|
+
default: 'Adding git-crypt GPG user with <%= @type %>: ' \
|
|
46
|
+
"'<%= @value %>'."
|
|
47
|
+
parameter :add_user_by_key_path_commit_task_name
|
|
48
|
+
|
|
49
|
+
parameter :provision_secrets_task_name
|
|
50
|
+
parameter :destroy_secrets_task_name
|
|
51
|
+
|
|
52
|
+
parameter :init_task_name, default: :init
|
|
53
|
+
parameter :lock_task_name, default: :lock
|
|
54
|
+
parameter :unlock_task_name, default: :unlock
|
|
55
|
+
parameter :install_task_name, default: :install
|
|
56
|
+
parameter :uninstall_task_name, default: :uninstall
|
|
57
|
+
parameter :reinstall_task_name, default: :reinstall
|
|
58
|
+
parameter :add_users_task_name, default: :add_users
|
|
59
|
+
parameter :add_user_by_id_task_name,
|
|
60
|
+
default: :add_user_by_id
|
|
61
|
+
parameter :add_user_by_key_path_task_name,
|
|
62
|
+
default: :add_user_by_key_path
|
|
63
|
+
|
|
64
|
+
task(Tasks::Init,
|
|
65
|
+
{
|
|
66
|
+
name: RakeFactory::DynamicValue.new do |ts|
|
|
67
|
+
ts.init_task_name
|
|
68
|
+
end
|
|
69
|
+
})
|
|
70
|
+
task(Tasks::Lock,
|
|
71
|
+
{
|
|
72
|
+
name: RakeFactory::DynamicValue.new do |ts|
|
|
73
|
+
ts.lock_task_name
|
|
74
|
+
end,
|
|
75
|
+
force: RakeFactory::DynamicValue.new do |ts|
|
|
76
|
+
ts.lock_when_unclean
|
|
77
|
+
end,
|
|
78
|
+
all: RakeFactory::DynamicValue.new do |ts|
|
|
79
|
+
ts.lock_all_keys
|
|
80
|
+
end
|
|
81
|
+
})
|
|
82
|
+
task(Tasks::Unlock,
|
|
83
|
+
{
|
|
84
|
+
name: RakeFactory::DynamicValue.new do |ts|
|
|
85
|
+
ts.unlock_task_name
|
|
86
|
+
end,
|
|
87
|
+
key_paths: RakeFactory::DynamicValue.new do |ts|
|
|
88
|
+
ts.unlock_key_paths
|
|
89
|
+
end
|
|
90
|
+
})
|
|
91
|
+
task(Tasks::Install,
|
|
92
|
+
{
|
|
93
|
+
name: RakeFactory::DynamicValue.new do |ts|
|
|
94
|
+
ts.install_task_name
|
|
95
|
+
end,
|
|
96
|
+
commit_message_template: RakeFactory::DynamicValue.new do |ts|
|
|
97
|
+
ts.install_commit_message_template
|
|
98
|
+
end,
|
|
99
|
+
commit_task_name: RakeFactory::DynamicValue.new do |ts|
|
|
100
|
+
ts.install_commit_task_name
|
|
101
|
+
end
|
|
102
|
+
})
|
|
103
|
+
task(Tasks::Uninstall,
|
|
104
|
+
{
|
|
105
|
+
name: RakeFactory::DynamicValue.new do |ts|
|
|
106
|
+
ts.uninstall_task_name
|
|
107
|
+
end,
|
|
108
|
+
commit_message_template: RakeFactory::DynamicValue.new do |ts|
|
|
109
|
+
ts.uninstall_commit_message_template
|
|
110
|
+
end,
|
|
111
|
+
commit_task_name: RakeFactory::DynamicValue.new do |ts|
|
|
112
|
+
ts.uninstall_commit_task_name
|
|
113
|
+
end
|
|
114
|
+
})
|
|
115
|
+
task(Tasks::Reinstall,
|
|
116
|
+
{
|
|
117
|
+
name: RakeFactory::DynamicValue.new do |ts|
|
|
118
|
+
ts.reinstall_task_name
|
|
119
|
+
end,
|
|
120
|
+
install_task_names: RakeFactory::DynamicValue.new do |ts|
|
|
121
|
+
[ts.install_task_name]
|
|
122
|
+
end
|
|
123
|
+
})
|
|
124
|
+
task(Tasks::AddUsers,
|
|
125
|
+
{
|
|
126
|
+
name: RakeFactory::DynamicValue.new do |ts|
|
|
127
|
+
ts.add_users_task_name
|
|
128
|
+
end,
|
|
129
|
+
commit_message_template: RakeFactory::DynamicValue.new do |ts|
|
|
130
|
+
ts.add_users_commit_message_template
|
|
131
|
+
end,
|
|
132
|
+
commit_task_name: RakeFactory::DynamicValue.new do |ts|
|
|
133
|
+
ts.add_users_commit_task_name
|
|
134
|
+
end
|
|
135
|
+
})
|
|
136
|
+
task(Tasks::AddUser,
|
|
137
|
+
{
|
|
138
|
+
name: RakeFactory::DynamicValue.new do |ts|
|
|
139
|
+
ts.add_user_by_id_task_name
|
|
140
|
+
end,
|
|
141
|
+
commit_message_template: RakeFactory::DynamicValue.new do |ts|
|
|
142
|
+
ts.add_user_by_id_commit_message_template
|
|
143
|
+
end,
|
|
144
|
+
commit_task_name: RakeFactory::DynamicValue.new do |ts|
|
|
145
|
+
ts.add_user_by_id_commit_task_name
|
|
146
|
+
end,
|
|
147
|
+
argument_names: [:gpg_user_id]
|
|
148
|
+
}) do |t, args|
|
|
149
|
+
t.gpg_user_id = args.gpg_user_id
|
|
150
|
+
end
|
|
151
|
+
task(Tasks::AddUser,
|
|
152
|
+
{
|
|
153
|
+
name: RakeFactory::DynamicValue.new do |ts|
|
|
154
|
+
ts.add_user_by_key_path_task_name
|
|
155
|
+
end,
|
|
156
|
+
commit_message_template: RakeFactory::DynamicValue.new do |ts|
|
|
157
|
+
ts.add_user_by_key_path_commit_message_template
|
|
158
|
+
end,
|
|
159
|
+
commit_task_name: RakeFactory::DynamicValue.new do |ts|
|
|
160
|
+
ts.add_user_by_key_path_commit_task_name
|
|
161
|
+
end,
|
|
162
|
+
argument_names: [:gpg_user_key_path]
|
|
163
|
+
}) do |t, args|
|
|
164
|
+
t.gpg_user_key_path = args.gpg_user_key_path
|
|
165
|
+
end
|
|
166
|
+
end
|
|
167
|
+
# rubocop:enable Metrics/ClassLength
|
|
168
|
+
end
|
|
169
|
+
end
|
|
@@ -18,11 +18,13 @@ module RakeGitCrypt
|
|
|
18
18
|
|
|
19
19
|
parameter(:init_task_name, default: :init)
|
|
20
20
|
parameter(:add_users_task_name, default: :add_users)
|
|
21
|
+
parameter(:provision_secrets_task_name)
|
|
21
22
|
parameter(:commit_task_name)
|
|
22
23
|
|
|
23
24
|
action do |task, args|
|
|
24
25
|
puts('Installing git-crypt...')
|
|
25
26
|
init_git_crypt(task, args)
|
|
27
|
+
maybe_provision_secrets(task, args)
|
|
26
28
|
add_users_to_git_crypt(task, args)
|
|
27
29
|
maybe_commit(task, args)
|
|
28
30
|
end
|
|
@@ -37,6 +39,14 @@ module RakeGitCrypt
|
|
|
37
39
|
invoke_and_reenable_task_with_name(task, add_users_task_name, args)
|
|
38
40
|
end
|
|
39
41
|
|
|
42
|
+
def maybe_provision_secrets(task, args)
|
|
43
|
+
return unless provision_secrets_task_name
|
|
44
|
+
|
|
45
|
+
invoke_and_reenable_task_with_name(
|
|
46
|
+
task, provision_secrets_task_name, args
|
|
47
|
+
)
|
|
48
|
+
end
|
|
49
|
+
|
|
40
50
|
def maybe_commit(task, args)
|
|
41
51
|
return unless commit_task_name
|
|
42
52
|
|
|
@@ -17,7 +17,7 @@ module RakeGitCrypt
|
|
|
17
17
|
default: 'Uninstalling git-crypt.')
|
|
18
18
|
|
|
19
19
|
parameter(:lock_task_name, default: :lock)
|
|
20
|
-
parameter(:
|
|
20
|
+
parameter(:destroy_secrets_task_name)
|
|
21
21
|
parameter(:commit_task_name)
|
|
22
22
|
|
|
23
23
|
action do |task, args|
|
|
@@ -40,9 +40,10 @@ module RakeGitCrypt
|
|
|
40
40
|
end
|
|
41
41
|
|
|
42
42
|
def maybe_delete_secrets(task, args)
|
|
43
|
-
return unless
|
|
43
|
+
return unless destroy_secrets_task_name
|
|
44
44
|
|
|
45
|
-
invoke_and_reenable_task_with_name(task,
|
|
45
|
+
invoke_and_reenable_task_with_name(task, destroy_secrets_task_name,
|
|
46
|
+
args)
|
|
46
47
|
end
|
|
47
48
|
|
|
48
49
|
def maybe_commit(task, args)
|
data/lib/rake_git_crypt.rb
CHANGED
|
@@ -5,7 +5,7 @@ require 'rake_git_crypt/task_sets'
|
|
|
5
5
|
require 'rake_git_crypt/version'
|
|
6
6
|
|
|
7
7
|
module RakeGitCrypt
|
|
8
|
-
def self.
|
|
9
|
-
RakeGitCrypt::
|
|
8
|
+
def self.define_standard_tasks(opts = {}, &block)
|
|
9
|
+
RakeGitCrypt::TaskSets::Standard.define(opts, &block)
|
|
10
10
|
end
|
|
11
11
|
end
|
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.24
|
|
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-02-
|
|
11
|
+
date: 2023-02-04 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: colored2
|
|
@@ -85,6 +85,7 @@ files:
|
|
|
85
85
|
- lib/rake_git_crypt/home.rb
|
|
86
86
|
- lib/rake_git_crypt/mixins/support.rb
|
|
87
87
|
- lib/rake_git_crypt/task_sets.rb
|
|
88
|
+
- lib/rake_git_crypt/task_sets/standard.rb
|
|
88
89
|
- lib/rake_git_crypt/tasks.rb
|
|
89
90
|
- lib/rake_git_crypt/tasks/add_user.rb
|
|
90
91
|
- lib/rake_git_crypt/tasks/add_users.rb
|