rake_vault 0.1.0.pre.6 → 0.1.0.pre.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +2 -2
- data/lib/rake_vault/tasks/app_role_auth.rb +31 -2
- data/lib/rake_vault/token_file.rb +17 -0
- data/lib/rake_vault/version.rb +1 -1
- data/lib/rake_vault.rb +5 -0
- 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: 7182f65f35d3861b08f904912380bcfab086ecd2962529b40a2e3cfd085439cd
|
4
|
+
data.tar.gz: a1156a675db27ec1ede429e9cc41f869ee8d8d9b66742abbd7e101082d4a4084
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 89c733d3a3183e2740abb5d6763adfc1465cd899cecbe573382ce33f90bbc9772ee7da29e611452f28b0dc897e92a26450b0e9c8722dd76db572acb737f4070e
|
7
|
+
data.tar.gz: b15d61e4867896061a4c426ee486d724c6df3dd502db50826ac6248c492e194ab9b0f6ae623296d29e08924860291f88fa76f7fbee8ac030dd9a16b942b14a41
|
data/Gemfile.lock
CHANGED
@@ -1,13 +1,42 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'rake_factory'
|
4
|
+
require_relative '../token_file'
|
4
5
|
|
5
6
|
module RakeVault
|
6
7
|
module Tasks
|
7
8
|
class AppRoleAuth < RakeFactory::Task
|
8
9
|
default_name :login
|
9
|
-
|
10
|
-
|
10
|
+
default_prerequisites(RakeFactory::DynamicValue.new do |t|
|
11
|
+
[t.ensure_task_name]
|
12
|
+
end)
|
13
|
+
default_description(RakeFactory::DynamicValue.new do |_t|
|
14
|
+
'Login with app role using vault'
|
15
|
+
end)
|
16
|
+
parameter :address
|
17
|
+
parameter :ensure_task_name, default: :'vault:ensure'
|
18
|
+
parameter :path, default: 'auth/approle/login'
|
19
|
+
parameter :role_id
|
20
|
+
parameter :secret_id
|
21
|
+
|
22
|
+
action do |task|
|
23
|
+
role_id = task.role_id ? "role_id=#{task.role_id}" : nil
|
24
|
+
secret_id = task.secret_id ? "secret_id=#{task.secret_id}" : nil
|
25
|
+
|
26
|
+
stdout_io = StringIO.new
|
27
|
+
|
28
|
+
RubyVault.configure do |config|
|
29
|
+
config.stdout = stdout_io
|
30
|
+
end
|
31
|
+
|
32
|
+
RubyVault.write(
|
33
|
+
address: task.address,
|
34
|
+
path: task.path,
|
35
|
+
data: [role_id, secret_id].compact,
|
36
|
+
format: 'json'
|
37
|
+
)
|
38
|
+
RubyVault.reset!
|
39
|
+
RakeVault::TokenFile.write(stdout_io.string)
|
11
40
|
end
|
12
41
|
end
|
13
42
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RakeVault
|
4
|
+
module TokenFile
|
5
|
+
def self.write(json_string)
|
6
|
+
json = JSON.parse(json_string)
|
7
|
+
token = json['auth']['client_token']
|
8
|
+
RakeVault::TokenFile.write_token_to_file(token)
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.write_token_to_file(token)
|
12
|
+
file = File.open('~/.vault-token', 'w')
|
13
|
+
file.write(token)
|
14
|
+
file.close
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
data/lib/rake_vault/version.rb
CHANGED
data/lib/rake_vault.rb
CHANGED
@@ -3,6 +3,7 @@
|
|
3
3
|
require 'rake_vault/tasks'
|
4
4
|
require 'rake_vault/task_sets'
|
5
5
|
require 'rake_vault/version'
|
6
|
+
require 'rake_vault/token_file'
|
6
7
|
|
7
8
|
module RakeVault
|
8
9
|
def self.define_installation_tasks(opts = {})
|
@@ -12,4 +13,8 @@ module RakeVault
|
|
12
13
|
def self.define_oidc_auth_task(opts = {}, &block)
|
13
14
|
RakeVault::Tasks::OidcAuth.define(opts, &block)
|
14
15
|
end
|
16
|
+
|
17
|
+
def self.define_app_role_auth_task(opts = {}, &block)
|
18
|
+
RakeVault::Tasks::AppRoleAuth.define(opts, &block)
|
19
|
+
end
|
15
20
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rake_vault
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.0.pre.
|
4
|
+
version: 0.1.0.pre.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- InfraBlocks Maintainers
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-08-
|
11
|
+
date: 2022-08-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colored2
|
@@ -283,6 +283,7 @@ files:
|
|
283
283
|
- lib/rake_vault/tasks.rb
|
284
284
|
- lib/rake_vault/tasks/app_role_auth.rb
|
285
285
|
- lib/rake_vault/tasks/oidc_auth.rb
|
286
|
+
- lib/rake_vault/token_file.rb
|
286
287
|
- lib/rake_vault/version.rb
|
287
288
|
- rake_vault.gemspec
|
288
289
|
homepage: https://github.com/infrablocks/rake_vault
|