secvault 3.3.1 → 3.4.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/README.md +1 -1
- data/lib/secvault/railtie.rb +10 -7
- data/lib/secvault/version.rb +1 -1
- metadata +3 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5c8fcd4008fa8d015c158b77b325cbd26d9b00adcf53d84004e98a416becc00a
|
|
4
|
+
data.tar.gz: 306184e42264bbd333c57d8fd41a17d8a38cbc340191872f9701c578cf2f1659
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b09b21744c868890cf7c68d39cd61a4dfd45dadb6e4ec69c6d831d38d0203e02ca793c3298e46a1a3463ee7c11a03d31e90dd4e53fcfd0414800e8288276b275
|
|
7
|
+
data.tar.gz: f8f4ebdd164e945ec13af8a8393a47d21603cea6ddc48e62922d430ee6a37e799bfb1f882ca22806d5bd4baa5084d034d633b155c1efffbc11240d32018269a8
|
data/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Secvault
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Rails secrets.yml functionality for Rails 7.2+. Secvault restores the classic Rails secrets.yml functionality that was removed in Rails 7.2, allowing you to manage secrets using the familiar YAML-based approach.
|
|
4
4
|
|
|
5
5
|
[](https://rubygems.org/gems/secvault)
|
|
6
6
|
[](https://github.com/unnitallman/secvault/actions/workflows/ci.yml)
|
data/lib/secvault/railtie.rb
CHANGED
|
@@ -48,38 +48,41 @@ module Secvault
|
|
|
48
48
|
class EarlyLoader
|
|
49
49
|
class << self
|
|
50
50
|
def setup_early_secrets(app)
|
|
51
|
-
|
|
51
|
+
# Captured in a local variable because `define_singleton_method` below binds
|
|
52
|
+
# `self` to `Rails.application`, which doesn't have `debug_secvault?`.
|
|
53
|
+
in_debug_mode = debug_secvault?
|
|
54
|
+
puts "[Secvault Debug] setup_early_secrets called" if in_debug_mode
|
|
52
55
|
|
|
53
56
|
if Rails.application.respond_to?(:secrets) && !Rails.application.secrets.empty?
|
|
54
|
-
puts "[Secvault Debug] Secrets already exist, skipping early load" if
|
|
57
|
+
puts "[Secvault Debug] Secrets already exist, skipping early load" if in_debug_mode
|
|
55
58
|
return
|
|
56
59
|
end
|
|
57
60
|
|
|
58
61
|
# Look for Secvault configuration in the app
|
|
59
62
|
secrets_config = find_secvault_config(app)
|
|
60
|
-
puts "[Secvault Debug] Found config: #{secrets_config&.keys}" if
|
|
63
|
+
puts "[Secvault Debug] Found config: #{secrets_config&.keys}" if in_debug_mode
|
|
61
64
|
return unless secrets_config
|
|
62
65
|
|
|
63
66
|
begin
|
|
64
67
|
# Load secrets using the configuration found
|
|
65
68
|
all_secrets = Secvault::Secrets.parse(secrets_config[:files], env: Rails.env)
|
|
66
|
-
puts "[Secvault Debug] Loaded secrets keys: #{all_secrets.keys}" if
|
|
69
|
+
puts "[Secvault Debug] Loaded secrets keys: #{all_secrets.keys}" if in_debug_mode
|
|
67
70
|
|
|
68
71
|
# Set up Rails.application.secrets immediately
|
|
69
72
|
Rails.application.define_singleton_method(:secrets) do
|
|
70
73
|
@secrets ||= begin
|
|
71
74
|
current_secrets = ActiveSupport::OrderedOptions.new
|
|
72
75
|
current_secrets.merge!(all_secrets)
|
|
73
|
-
puts "[Secvault Debug] Returning secrets with encryption: #{current_secrets.encryption}" if
|
|
76
|
+
puts "[Secvault Debug] Returning secrets with encryption: #{current_secrets.encryption}" if in_debug_mode
|
|
74
77
|
current_secrets
|
|
75
78
|
end
|
|
76
79
|
end
|
|
77
80
|
|
|
78
81
|
# Test the secrets immediately
|
|
79
82
|
test_encryption = Rails.application.secrets.encryption
|
|
80
|
-
puts "[Secvault Debug] Test access - encryption: #{test_encryption.class} - #{test_encryption}" if
|
|
83
|
+
puts "[Secvault Debug] Test access - encryption: #{test_encryption.class} - #{test_encryption}" if in_debug_mode
|
|
81
84
|
|
|
82
|
-
Rails.logger&.info "[Secvault] Early secrets loaded from #{secrets_config[:files].size} files" if
|
|
85
|
+
Rails.logger&.info "[Secvault] Early secrets loaded from #{secrets_config[:files].size} files" if in_debug_mode
|
|
83
86
|
rescue => e
|
|
84
87
|
Rails.logger&.warn "[Secvault] Failed to load early secrets: #{e.message}"
|
|
85
88
|
end
|
data/lib/secvault/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: secvault
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.
|
|
4
|
+
version: 3.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Unnikrishnan KP
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: exe
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: rails
|
|
@@ -80,7 +79,6 @@ metadata:
|
|
|
80
79
|
homepage_uri: https://github.com/unnitallman/secvault
|
|
81
80
|
source_code_uri: https://github.com/unnitallman/secvault
|
|
82
81
|
changelog_uri: https://github.com/unnitallman/secvault/blob/main/CHANGELOG.md
|
|
83
|
-
post_install_message:
|
|
84
82
|
rdoc_options: []
|
|
85
83
|
require_paths:
|
|
86
84
|
- lib
|
|
@@ -95,8 +93,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
95
93
|
- !ruby/object:Gem::Version
|
|
96
94
|
version: '0'
|
|
97
95
|
requirements: []
|
|
98
|
-
rubygems_version:
|
|
99
|
-
signing_key:
|
|
96
|
+
rubygems_version: 4.0.3
|
|
100
97
|
specification_version: 4
|
|
101
98
|
summary: Simple Rails secrets.yml functionality for Rails 7.1+, 7.2+ and Rails 8.0+
|
|
102
99
|
test_files: []
|