lex-vault 0.1.0 → 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: 526747f6bb118dd5ab02d67692f4ee8bc76420f3a061ae05a31efab4ec8617ca
4
- data.tar.gz: 7310bf9354246b6997d10e208d9dae190fd205bfea113a67d88676f98f8cd3a6
3
+ metadata.gz: 7b64ee5124e946ca67ce79cccbaf7154ba0de72e3930ac122b2d94478878b12c
4
+ data.tar.gz: b8c7066362daa9d948946aa867c7993a5e70596798e1b085f7b7bfba4c794785
5
5
  SHA512:
6
- metadata.gz: 359d0220a0aaf429cb445e91e6faca5a7ff9e8720efd37ca5e61145af56b3db118370f1e9fb994495e8c6efbef5cbb33a2d91e64e4dab66d5372798a8c6b4563
7
- data.tar.gz: dba4904895ccf4637fafc5a3bc35fc9a27d448b410ffbfb0d47c6bca1d5c659ac23d00c6fc81d13362e46509c8d1449c3d00077edb159f066176488311bcd888
6
+ metadata.gz: 4bfcdd1d4955fb03574a3277d7470fce3203ffe4e2b63206ee048bab13ea8bff3cf0b008c1b72e40346117a0162edb68c5c764353448c509350d618794c123bd
7
+ data.tar.gz: 8050b1e901e7749b84fc3b7faa7b56893901e643263ac1591292a6f0a115316f509d862a7817b3d689b6f73b3b57a6be39b5a91f89270828fa98f848de300569
data/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
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
+
8
+ ## [0.1.1] - 2026-03-18
9
+
10
+ ### Changed
11
+ - deleted gemfile.lock, updated claude.md
12
+
3
13
  ## [0.1.0] - 2026-03-13
4
14
 
5
15
  ### Added
data/CLAUDE.md CHANGED
@@ -10,6 +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.1
13
14
 
14
15
  ## Architecture
15
16
 
@@ -35,10 +36,12 @@ Legion::Extensions::Vault
35
36
 
36
37
  ## Connection
37
38
 
38
- 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.
39
40
 
40
41
  ## Testing
41
42
 
43
+ 44 specs across 8 spec files.
44
+
42
45
  ```bash
43
46
  bundle install
44
47
  bundle exec rspec
@@ -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.0'
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.0
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esity
@@ -38,7 +38,6 @@ files:
38
38
  - CLAUDE.md
39
39
  - Dockerfile
40
40
  - Gemfile
41
- - Gemfile.lock
42
41
  - LICENSE
43
42
  - README.md
44
43
  - lex-vault.gemspec
@@ -47,6 +46,7 @@ files:
47
46
  - lib/legion/extensions/vault/helpers/client.rb
48
47
  - lib/legion/extensions/vault/runners/kv.rb
49
48
  - lib/legion/extensions/vault/runners/leases.rb
49
+ - lib/legion/extensions/vault/runners/namespaces.rb
50
50
  - lib/legion/extensions/vault/runners/pki.rb
51
51
  - lib/legion/extensions/vault/runners/system.rb
52
52
  - lib/legion/extensions/vault/runners/token.rb
data/Gemfile.lock DELETED
@@ -1,98 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- lex-vault (0.1.0)
5
- faraday (>= 2.0)
6
-
7
- GEM
8
- remote: https://rubygems.org/
9
- specs:
10
- addressable (2.8.9)
11
- public_suffix (>= 2.0.2, < 8.0)
12
- ast (2.4.3)
13
- bigdecimal (4.0.1)
14
- diff-lcs (1.6.2)
15
- docile (1.4.1)
16
- faraday (2.14.1)
17
- faraday-net_http (>= 2.0, < 3.5)
18
- json
19
- logger
20
- faraday-net_http (3.4.2)
21
- net-http (~> 0.5)
22
- json (2.19.1)
23
- json-schema (6.2.0)
24
- addressable (~> 2.8)
25
- bigdecimal (>= 3.1, < 5)
26
- language_server-protocol (3.17.0.5)
27
- lint_roller (1.1.0)
28
- logger (1.7.0)
29
- mcp (0.8.0)
30
- json-schema (>= 4.1)
31
- net-http (0.9.1)
32
- uri (>= 0.11.1)
33
- parallel (1.27.0)
34
- parser (3.3.10.2)
35
- ast (~> 2.4.1)
36
- racc
37
- prism (1.9.0)
38
- public_suffix (7.0.5)
39
- racc (1.8.1)
40
- rainbow (3.1.1)
41
- rake (13.3.1)
42
- regexp_parser (2.11.3)
43
- rspec (3.13.2)
44
- rspec-core (~> 3.13.0)
45
- rspec-expectations (~> 3.13.0)
46
- rspec-mocks (~> 3.13.0)
47
- rspec-core (3.13.6)
48
- rspec-support (~> 3.13.0)
49
- rspec-expectations (3.13.5)
50
- diff-lcs (>= 1.2.0, < 2.0)
51
- rspec-support (~> 3.13.0)
52
- rspec-mocks (3.13.8)
53
- diff-lcs (>= 1.2.0, < 2.0)
54
- rspec-support (~> 3.13.0)
55
- rspec-support (3.13.7)
56
- rspec_junit_formatter (0.6.0)
57
- rspec-core (>= 2, < 4, != 2.12.0)
58
- rubocop (1.85.1)
59
- json (~> 2.3)
60
- language_server-protocol (~> 3.17.0.2)
61
- lint_roller (~> 1.1.0)
62
- mcp (~> 0.6)
63
- parallel (~> 1.10)
64
- parser (>= 3.3.0.2)
65
- rainbow (>= 2.2.2, < 4.0)
66
- regexp_parser (>= 2.9.3, < 3.0)
67
- rubocop-ast (>= 1.49.0, < 2.0)
68
- ruby-progressbar (~> 1.7)
69
- unicode-display_width (>= 2.4.0, < 4.0)
70
- rubocop-ast (1.49.1)
71
- parser (>= 3.3.7.2)
72
- prism (~> 1.7)
73
- ruby-progressbar (1.13.0)
74
- simplecov (0.22.0)
75
- docile (~> 1.1)
76
- simplecov-html (~> 0.11)
77
- simplecov_json_formatter (~> 0.1)
78
- simplecov-html (0.13.2)
79
- simplecov_json_formatter (0.1.4)
80
- unicode-display_width (3.2.0)
81
- unicode-emoji (~> 4.1)
82
- unicode-emoji (4.2.0)
83
- uri (1.1.1)
84
-
85
- PLATFORMS
86
- arm64-darwin-25
87
- ruby
88
-
89
- DEPENDENCIES
90
- lex-vault!
91
- rake
92
- rspec
93
- rspec_junit_formatter
94
- rubocop
95
- simplecov
96
-
97
- BUNDLED WITH
98
- 2.6.9