keeper_secrets_manager 17.1.0 → 17.2.0
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/CHANGELOG.md +83 -10
- data/Gemfile +3 -0
- data/README.md +75 -270
- data/bin/console +47 -0
- data/keeper_secrets_manager.gemspec +36 -0
- data/lib/keeper_secrets_manager/cache.rb +139 -0
- data/lib/keeper_secrets_manager/config_keys.rb +2 -0
- data/lib/keeper_secrets_manager/core.rb +455 -114
- data/lib/keeper_secrets_manager/crypto.rb +3 -11
- data/lib/keeper_secrets_manager/dto/payload.rb +3 -2
- data/lib/keeper_secrets_manager/dto.rb +326 -8
- data/lib/keeper_secrets_manager/keeper_globals.rb +6 -6
- data/lib/keeper_secrets_manager/notation.rb +105 -3
- data/lib/keeper_secrets_manager/notation_enhancements.rb +2 -0
- data/lib/keeper_secrets_manager/storage.rb +3 -2
- data/lib/keeper_secrets_manager/utils.rb +2 -1
- data/lib/keeper_secrets_manager/version.rb +1 -1
- data/lib/keeper_secrets_manager.rb +8 -0
- metadata +34 -3
|
@@ -35,6 +35,7 @@ module KeeperSecretsManager
|
|
|
35
35
|
|
|
36
36
|
# Base64 decode
|
|
37
37
|
def base64_to_bytes(str)
|
|
38
|
+
raise Error, 'base64_to_bytes: received nil' if str.nil?
|
|
38
39
|
Base64.strict_decode64(str)
|
|
39
40
|
rescue ArgumentError => e
|
|
40
41
|
raise Error, "Invalid base64: #{e.message}"
|
|
@@ -42,7 +43,7 @@ module KeeperSecretsManager
|
|
|
42
43
|
|
|
43
44
|
# URL-safe base64 encode (with padding)
|
|
44
45
|
def url_safe_str_to_bytes(str)
|
|
45
|
-
|
|
46
|
+
raise Error, 'url_safe_str_to_bytes: received nil' if str.nil?
|
|
46
47
|
str += '=' * (4 - str.length % 4) if str.length % 4 != 0
|
|
47
48
|
Base64.urlsafe_decode64(str)
|
|
48
49
|
end
|
|
@@ -8,6 +8,8 @@ require 'keeper_secrets_manager/storage'
|
|
|
8
8
|
require 'keeper_secrets_manager/dto'
|
|
9
9
|
require 'keeper_secrets_manager/field_types'
|
|
10
10
|
require 'keeper_secrets_manager/notation'
|
|
11
|
+
require 'keeper_secrets_manager/notation_enhancements'
|
|
12
|
+
require 'keeper_secrets_manager/cache'
|
|
11
13
|
require 'keeper_secrets_manager/core'
|
|
12
14
|
require 'keeper_secrets_manager/folder_manager'
|
|
13
15
|
|
|
@@ -30,6 +32,12 @@ module KeeperSecretsManager
|
|
|
30
32
|
Core::SecretsManager.new(options.merge(token: token))
|
|
31
33
|
end
|
|
32
34
|
|
|
35
|
+
# Convenience method to create from base64 config string
|
|
36
|
+
def self.from_config(config_base64, options = {})
|
|
37
|
+
storage = Storage::InMemoryStorage.new(config_base64)
|
|
38
|
+
Core::SecretsManager.new(options.merge(config: storage))
|
|
39
|
+
end
|
|
40
|
+
|
|
33
41
|
# Convenience method to create from config file
|
|
34
42
|
def self.from_file(filename, options = {})
|
|
35
43
|
storage = Storage::FileStorage.new(filename)
|
metadata
CHANGED
|
@@ -1,15 +1,43 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: keeper_secrets_manager
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 17.
|
|
4
|
+
version: 17.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Keeper Security
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
12
|
-
dependencies:
|
|
11
|
+
date: 2026-07-20 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: base64
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - ">="
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '0'
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - ">="
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '0'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: logger
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - ">="
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '0'
|
|
34
|
+
type: :runtime
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - ">="
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '0'
|
|
13
41
|
description: Ruby SDK for Keeper Secrets Manager - A zero-knowledge platform for managing
|
|
14
42
|
and protecting infrastructure secrets
|
|
15
43
|
email:
|
|
@@ -25,7 +53,10 @@ files:
|
|
|
25
53
|
- LICENSE
|
|
26
54
|
- README.md
|
|
27
55
|
- Rakefile
|
|
56
|
+
- bin/console
|
|
57
|
+
- keeper_secrets_manager.gemspec
|
|
28
58
|
- lib/keeper_secrets_manager.rb
|
|
59
|
+
- lib/keeper_secrets_manager/cache.rb
|
|
29
60
|
- lib/keeper_secrets_manager/config_keys.rb
|
|
30
61
|
- lib/keeper_secrets_manager/core.rb
|
|
31
62
|
- lib/keeper_secrets_manager/crypto.rb
|