lex-vault 0.1.1 → 0.1.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 89ca2bf4bd2d5f81f4ba7bb3643abce50d5cd3d1d492274c930ca1e676667c61
4
- data.tar.gz: 9b05aeee355f2fa28af10ee895e478f578cc5eb4e6bcba2d2662b5a1e85b046a
3
+ metadata.gz: 309cda54384bd3ba33e3ea606558c7c9de099dcd6938dc9cba4f7072412aedca
4
+ data.tar.gz: 0a188bcbcfdfbfdab9b42fd0a08b6dafa5715cf18052c1a6f0c742fcf50cc375
5
5
  SHA512:
6
- metadata.gz: 3acba66a47135b50d2ad6f755a6c4e8cb57c851d081b2d26960f6234007d39cd2b01a319b08b5c6e567527155ea196383fd1fd094a66b846a555769416b8abd2
7
- data.tar.gz: ea741b3b6707dbbe48b4f2f3961d4264747e268048f64396a62ea3d5f6bfc3bbeb3157c3888f9e4ee33944127564fd01c989ed7136774ca3186f4ab5b2fa33c2
6
+ metadata.gz: '05609110a19e66432ef9946503bb0a43d56d3cc576e9c356f6b5ea0492f326e6797cf33358acb7e1ebba98da86cf2ecd03df0d3f457ccd964ec01d7b1a9583bb'
7
+ data.tar.gz: 261f7c29a65ef3a351ff29d8e664888823431c8dd93612b77db0ea1c9cf0d9b7719d124f594f9b793b0a2dbd6ed9f38b548144d97844e427527c5d647185de72
data/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.1.3] - 2026-03-22
4
+
5
+ ### Changed
6
+ - Add runtime dependencies: legion-cache, legion-crypt, legion-data, legion-json, legion-logging, legion-settings, legion-transport
7
+ - Update spec_helper with real sub-gem helper requires and Helpers::Lex stub
8
+
9
+ ## [0.1.2] - 2026-03-21
10
+
11
+ ### Added
12
+ - `Runners::Namespaces` with `list_namespaces`, `get_namespace`, `create_namespace`, `delete_namespace` for Vault Enterprise namespace CRUD
13
+
3
14
  ## [0.1.1] - 2026-03-18
4
15
 
5
16
  ### Changed
data/CLAUDE.md CHANGED
@@ -10,7 +10,7 @@ Legion Extension that connects LegionIO to HashiCorp Vault. Provides runners for
10
10
 
11
11
  **GitHub**: https://github.com/LegionIO/lex-vault
12
12
  **License**: MIT
13
- **Version**: 0.1.0
13
+ **Version**: 0.1.1
14
14
 
15
15
  ## Architecture
16
16
 
@@ -36,7 +36,7 @@ Legion::Extensions::Vault
36
36
 
37
37
  ## Connection
38
38
 
39
- The client accepts `address` (matching Vault's `VAULT_ADDR`), `token`, and optional `namespace` (Enterprise). All API calls go through `/v1/` prefix.
39
+ The client accepts `address` (matching Vault's `VAULT_ADDR`, default `http://127.0.0.1:8200`), `token`, and optional `namespace` (Enterprise). All API calls go through `/v1/` prefix.
40
40
 
41
41
  ## Testing
42
42
 
data/lex-vault.gemspec CHANGED
@@ -27,4 +27,11 @@ Gem::Specification.new do |spec|
27
27
  spec.require_paths = ['lib']
28
28
 
29
29
  spec.add_dependency 'faraday', '>= 2.0'
30
+ spec.add_dependency 'legion-cache', '>= 1.3.11'
31
+ spec.add_dependency 'legion-crypt', '>= 1.4.9'
32
+ spec.add_dependency 'legion-data', '>= 1.4.17'
33
+ spec.add_dependency 'legion-json', '>= 1.2.1'
34
+ spec.add_dependency 'legion-logging', '>= 1.3.2'
35
+ spec.add_dependency 'legion-settings', '>= 1.3.14'
36
+ spec.add_dependency 'legion-transport', '>= 1.3.9'
30
37
  end
@@ -19,6 +19,7 @@ module Legion
19
19
  include Runners::Transit
20
20
  include Runners::Pki
21
21
  include Runners::Leases
22
+ include Runners::Namespaces
22
23
 
23
24
  attr_reader :opts
24
25
 
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'legion/extensions/vault/helpers/client'
4
+
5
+ module Legion
6
+ module Extensions
7
+ module Vault
8
+ module Runners
9
+ module Namespaces
10
+ include Legion::Extensions::Vault::Helpers::Client
11
+
12
+ def list_namespaces(**)
13
+ response = connection(**).get('/v1/sys/namespaces')
14
+ { result: response.body }
15
+ end
16
+
17
+ def get_namespace(name:, **)
18
+ response = connection(**).get("/v1/sys/namespaces/#{name}")
19
+ { result: response.body }
20
+ end
21
+
22
+ def create_namespace(name:, **)
23
+ response = connection(**).post("/v1/sys/namespaces/#{name}")
24
+ { result: response.body }
25
+ end
26
+
27
+ def delete_namespace(name:, **)
28
+ response = connection(**).delete("/v1/sys/namespaces/#{name}")
29
+ { result: response.status == 204 }
30
+ end
31
+
32
+ include Legion::Extensions::Helpers::Lex if Legion::Extensions.const_defined?(:Helpers) &&
33
+ Legion::Extensions::Helpers.const_defined?(:Lex)
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -3,7 +3,7 @@
3
3
  module Legion
4
4
  module Extensions
5
5
  module Vault
6
- VERSION = '0.1.1'
6
+ VERSION = '0.1.3'
7
7
  end
8
8
  end
9
9
  end
@@ -8,6 +8,7 @@ require 'legion/extensions/vault/runners/token'
8
8
  require 'legion/extensions/vault/runners/transit'
9
9
  require 'legion/extensions/vault/runners/pki'
10
10
  require 'legion/extensions/vault/runners/leases'
11
+ require 'legion/extensions/vault/runners/namespaces'
11
12
  require 'legion/extensions/vault/client'
12
13
 
13
14
  module Legion
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lex-vault
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esity
@@ -23,6 +23,104 @@ dependencies:
23
23
  - - ">="
24
24
  - !ruby/object:Gem::Version
25
25
  version: '2.0'
26
+ - !ruby/object:Gem::Dependency
27
+ name: legion-cache
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 1.3.11
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: 1.3.11
40
+ - !ruby/object:Gem::Dependency
41
+ name: legion-crypt
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 1.4.9
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 1.4.9
54
+ - !ruby/object:Gem::Dependency
55
+ name: legion-data
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: 1.4.17
61
+ type: :runtime
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: 1.4.17
68
+ - !ruby/object:Gem::Dependency
69
+ name: legion-json
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: 1.2.1
75
+ type: :runtime
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: 1.2.1
82
+ - !ruby/object:Gem::Dependency
83
+ name: legion-logging
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: 1.3.2
89
+ type: :runtime
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: 1.3.2
96
+ - !ruby/object:Gem::Dependency
97
+ name: legion-settings
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: 1.3.14
103
+ type: :runtime
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: 1.3.14
110
+ - !ruby/object:Gem::Dependency
111
+ name: legion-transport
112
+ requirement: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: 1.3.9
117
+ type: :runtime
118
+ prerelease: false
119
+ version_requirements: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: 1.3.9
26
124
  description: Connects LegionIO to HashiCorp Vault
27
125
  email:
28
126
  - matthewdiverson@gmail.com
@@ -46,6 +144,7 @@ files:
46
144
  - lib/legion/extensions/vault/helpers/client.rb
47
145
  - lib/legion/extensions/vault/runners/kv.rb
48
146
  - lib/legion/extensions/vault/runners/leases.rb
147
+ - lib/legion/extensions/vault/runners/namespaces.rb
49
148
  - lib/legion/extensions/vault/runners/pki.rb
50
149
  - lib/legion/extensions/vault/runners/system.rb
51
150
  - lib/legion/extensions/vault/runners/token.rb