lex-vault 0.1.1 → 0.1.2

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: 7b64ee5124e946ca67ce79cccbaf7154ba0de72e3930ac122b2d94478878b12c
4
+ data.tar.gz: b8c7066362daa9d948946aa867c7993a5e70596798e1b085f7b7bfba4c794785
5
5
  SHA512:
6
- metadata.gz: 3acba66a47135b50d2ad6f755a6c4e8cb57c851d081b2d26960f6234007d39cd2b01a319b08b5c6e567527155ea196383fd1fd094a66b846a555769416b8abd2
7
- data.tar.gz: ea741b3b6707dbbe48b4f2f3961d4264747e268048f64396a62ea3d5f6bfc3bbeb3157c3888f9e4ee33944127564fd01c989ed7136774ca3186f4ab5b2fa33c2
6
+ metadata.gz: 4bfcdd1d4955fb03574a3277d7470fce3203ffe4e2b63206ee048bab13ea8bff3cf0b008c1b72e40346117a0162edb68c5c764353448c509350d618794c123bd
7
+ data.tar.gz: 8050b1e901e7749b84fc3b7faa7b56893901e643263ac1591292a6f0a115316f509d862a7817b3d689b6f73b3b57a6be39b5a91f89270828fa98f848de300569
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.1.2] - 2026-03-21
4
+
5
+ ### Added
6
+ - `Runners::Namespaces` with `list_namespaces`, `get_namespace`, `create_namespace`, `delete_namespace` for Vault Enterprise namespace CRUD
7
+
3
8
  ## [0.1.1] - 2026-03-18
4
9
 
5
10
  ### 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
 
@@ -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.2'
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.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esity
@@ -46,6 +46,7 @@ files:
46
46
  - lib/legion/extensions/vault/helpers/client.rb
47
47
  - lib/legion/extensions/vault/runners/kv.rb
48
48
  - lib/legion/extensions/vault/runners/leases.rb
49
+ - lib/legion/extensions/vault/runners/namespaces.rb
49
50
  - lib/legion/extensions/vault/runners/pki.rb
50
51
  - lib/legion/extensions/vault/runners/system.rb
51
52
  - lib/legion/extensions/vault/runners/token.rb