legion-crypt 1.4.18 → 1.4.19
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 +8 -0
- data/lib/legion/crypt/ldap_auth.rb +2 -1
- data/lib/legion/crypt/lease_manager.rb +2 -2
- data/lib/legion/crypt/vault.rb +1 -0
- data/lib/legion/crypt/vault_cluster.rb +8 -0
- data/lib/legion/crypt/vault_jwt_auth.rb +1 -1
- data/lib/legion/crypt/vault_kerberos_auth.rb +1 -1
- data/lib/legion/crypt/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e3a746c03498b392437f0d7db81caca5f6daa84aeda465bbf0db71bb898d25f1
|
|
4
|
+
data.tar.gz: d27dfcdfa9032fa6bc8df4174f370c7896151c746bf8b810421d1c28d5d8e51b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9e3a72a7a2fc6b78439f582b33c3c667fb40f1ef86c8a0201fb53e38d2d122e3689fa3496e11df36e5085a551753d58864a8033bc2cb028662922d87ce7afc9a
|
|
7
|
+
data.tar.gz: ab485a6da390007f060067bcca2863a5585fd6845f2dfc023658d48c6195364af7f99bf86f2492830d7991ae6a600a43fbd819d715412ca3f9c210fa95a830e3
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Legion::Crypt
|
|
2
2
|
|
|
3
|
+
## [1.4.19] - 2026-03-26
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
- `LeaseManager`, `VaultJwtAuth`, `LdapAuth`, `VaultKerberosAuth`: use `renewable?` instead of `renewable` to match Vault gem API
|
|
7
|
+
- `LeaseManager#fetch`: handle string/symbol key mismatch between resolver (strings) and cache (symbols)
|
|
8
|
+
- `VaultCluster#connect_all_clusters`: set top-level `vault.connected` flag after any cluster connects via Kerberos/LDAP
|
|
9
|
+
- `Vault#add_session`: guard `@sessions` with lazy init to prevent nil error when using cluster-based auth
|
|
10
|
+
|
|
3
11
|
## [1.4.18] - 2026-03-26
|
|
4
12
|
|
|
5
13
|
### Fixed
|
|
@@ -12,10 +12,11 @@ module Legion
|
|
|
12
12
|
|
|
13
13
|
clusters[cluster_name][:token] = token
|
|
14
14
|
clusters[cluster_name][:connected] = true
|
|
15
|
+
mark_vault_connected
|
|
15
16
|
|
|
16
17
|
Legion::Logging.info "LDAP login success: user=#{username}, cluster=#{cluster_name}" if defined?(Legion::Logging)
|
|
17
18
|
{ token: token, lease_duration: auth.lease_duration,
|
|
18
|
-
renewable: auth.renewable
|
|
19
|
+
renewable: auth.renewable?, policies: auth.policies }
|
|
19
20
|
rescue StandardError => e
|
|
20
21
|
Legion::Logging.warn "LDAP login failed: user=#{username}, cluster=#{cluster_name}: #{e.message}" if defined?(Legion::Logging)
|
|
21
22
|
raise
|
|
@@ -33,7 +33,7 @@ module Legion
|
|
|
33
33
|
@active_leases[name] = {
|
|
34
34
|
lease_id: response.lease_id,
|
|
35
35
|
lease_duration: response.lease_duration,
|
|
36
|
-
renewable: response.renewable
|
|
36
|
+
renewable: response.renewable?,
|
|
37
37
|
expires_at: Time.now + (response.lease_duration || 0),
|
|
38
38
|
fetched_at: Time.now
|
|
39
39
|
}
|
|
@@ -45,7 +45,7 @@ module Legion
|
|
|
45
45
|
end
|
|
46
46
|
|
|
47
47
|
def fetch(name, key)
|
|
48
|
-
data = @lease_cache[name]
|
|
48
|
+
data = @lease_cache[name.to_sym] || @lease_cache[name.to_s]
|
|
49
49
|
return nil unless data
|
|
50
50
|
|
|
51
51
|
data[key.to_sym] || data[key.to_s]
|
data/lib/legion/crypt/vault.rb
CHANGED
|
@@ -60,11 +60,19 @@ module Legion
|
|
|
60
60
|
results[name] = false
|
|
61
61
|
log_vault_error(name, e)
|
|
62
62
|
end
|
|
63
|
+
|
|
64
|
+
mark_vault_connected if results.any? { |_, v| v }
|
|
63
65
|
results
|
|
64
66
|
end
|
|
65
67
|
|
|
66
68
|
private
|
|
67
69
|
|
|
70
|
+
def mark_vault_connected
|
|
71
|
+
return unless defined?(Legion::Settings)
|
|
72
|
+
|
|
73
|
+
Legion::Settings[:crypt][:vault][:connected] = true
|
|
74
|
+
end
|
|
75
|
+
|
|
68
76
|
def resolve_cluster_name(name)
|
|
69
77
|
return name.to_sym if name
|
|
70
78
|
|
|
@@ -39,7 +39,7 @@ module Legion
|
|
|
39
39
|
{
|
|
40
40
|
token: response.auth.client_token,
|
|
41
41
|
lease_duration: response.auth.lease_duration,
|
|
42
|
-
renewable: response.auth.renewable
|
|
42
|
+
renewable: response.auth.renewable?,
|
|
43
43
|
policies: response.auth.policies,
|
|
44
44
|
metadata: response.auth.metadata
|
|
45
45
|
}
|
|
@@ -16,7 +16,7 @@ module Legion
|
|
|
16
16
|
{
|
|
17
17
|
token: response.auth.client_token,
|
|
18
18
|
lease_duration: response.auth.lease_duration,
|
|
19
|
-
renewable: response.auth.renewable
|
|
19
|
+
renewable: response.auth.renewable?,
|
|
20
20
|
policies: response.auth.policies,
|
|
21
21
|
metadata: response.auth.metadata
|
|
22
22
|
}
|
data/lib/legion/crypt/version.rb
CHANGED