eryph-clientruntime 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 +4 -4
- data/eryph-clientruntime.gemspec +2 -2
- data/eryph-compute.gemspec +2 -2
- data/lib/eryph/clientruntime/endpoint_lookup.rb +2 -53
- data/lib/eryph/clientruntime/version.rb +1 -1
- data/packages/clientruntime/CHANGELOG.md +13 -0
- metadata +3 -3
- data/CHANGELOG.md +0 -47
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 50b746e8ef07b27f2d6e00d9ba661bbb4a61625e5132bdf1e8487ed2f92ec2aa
|
4
|
+
data.tar.gz: f7dbd1dfd5b7d28e28effbcfcfdbad8a423cfa8c87a48c24742e84956ebc7e56
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3ce826886ed17b78b4af6df4812a7979227785edc8012603ca5c7449aa438a19340de827dfabf654651ae3781ebcb8d2fe2585a36dea1a70f599f6615ffb5c55
|
7
|
+
data.tar.gz: d081a4ef56ddafc86e630b213da8221ffc6372fae4a81d10c924e13e9e949591204187d58c9b2fb6317ee4ff8ad3b9a7278b1caa5227cf9968b1013898e7e3fd
|
data/eryph-clientruntime.gemspec
CHANGED
@@ -15,7 +15,7 @@ Gem::Specification.new do |s|
|
|
15
15
|
|
16
16
|
s.metadata = {
|
17
17
|
'bug_tracker_uri' => 'https://github.com/eryph-org/ruby-client/issues',
|
18
|
-
'changelog_uri' => 'https://github.com/eryph-org/ruby-client/blob/main/CHANGELOG.md',
|
18
|
+
'changelog_uri' => 'https://github.com/eryph-org/ruby-client/blob/main/packages/clientruntime/CHANGELOG.md',
|
19
19
|
'source_code_uri' => 'https://github.com/eryph-org/ruby-client',
|
20
20
|
'homepage_uri' => 'https://eryph.io',
|
21
21
|
'documentation_uri' => 'https://www.eryph.io/docs',
|
@@ -32,7 +32,7 @@ Gem::Specification.new do |s|
|
|
32
32
|
'lib/eryph/clientruntime.rb',
|
33
33
|
'lib/eryph/clientruntime/**/*',
|
34
34
|
'README.md',
|
35
|
-
'CHANGELOG.md',
|
35
|
+
'packages/clientruntime/CHANGELOG.md',
|
36
36
|
'LICENSE',
|
37
37
|
'*.gemspec'
|
38
38
|
].select { |f| File.file?(f) }
|
data/eryph-compute.gemspec
CHANGED
@@ -15,7 +15,7 @@ Gem::Specification.new do |s|
|
|
15
15
|
|
16
16
|
s.metadata = {
|
17
17
|
'bug_tracker_uri' => 'https://github.com/eryph-org/ruby-client/issues',
|
18
|
-
'changelog_uri' => 'https://github.com/eryph-org/ruby-client/blob/main/CHANGELOG.md',
|
18
|
+
'changelog_uri' => 'https://github.com/eryph-org/ruby-client/blob/main/packages/compute-client/CHANGELOG.md',
|
19
19
|
'source_code_uri' => 'https://github.com/eryph-org/ruby-client',
|
20
20
|
'homepage_uri' => 'https://eryph.io',
|
21
21
|
'documentation_uri' => 'https://www.eryph.io/docs',
|
@@ -34,7 +34,7 @@ Gem::Specification.new do |s|
|
|
34
34
|
s.files = Dir[
|
35
35
|
'lib/**/*',
|
36
36
|
'README.md',
|
37
|
-
'CHANGELOG.md',
|
37
|
+
'packages/compute-client/CHANGELOG.md',
|
38
38
|
'LICENSE',
|
39
39
|
'*.gemspec'
|
40
40
|
].select { |f| File.file?(f) }
|
@@ -126,33 +126,10 @@ module Eryph
|
|
126
126
|
return result
|
127
127
|
end
|
128
128
|
|
129
|
-
#
|
130
|
-
|
129
|
+
# No fallback - if runtime info not found, return empty hash
|
130
|
+
{}
|
131
131
|
end
|
132
132
|
|
133
|
-
# Fallback endpoint discovery for eryph-zero when runtime file is not available
|
134
|
-
# @return [Hash] endpoint name -> URL mapping
|
135
|
-
def fallback_zero_endpoints
|
136
|
-
endpoints = {}
|
137
|
-
|
138
|
-
# Try common local endpoints for eryph-zero
|
139
|
-
zero_candidates = [
|
140
|
-
'https://localhost:8080',
|
141
|
-
'https://127.0.0.1:8080',
|
142
|
-
'http://localhost:8080',
|
143
|
-
'http://127.0.0.1:8080',
|
144
|
-
]
|
145
|
-
|
146
|
-
zero_candidates.each do |candidate_url|
|
147
|
-
next unless test_zero_endpoint(candidate_url)
|
148
|
-
|
149
|
-
endpoints['identity'] = candidate_url
|
150
|
-
endpoints['compute'] = "#{candidate_url}/compute"
|
151
|
-
break
|
152
|
-
end
|
153
|
-
|
154
|
-
endpoints
|
155
|
-
end
|
156
133
|
|
157
134
|
# Get endpoints for eryph-local configuration
|
158
135
|
# This discovers running eryph-local instances from runtime lock files
|
@@ -193,34 +170,6 @@ module Eryph
|
|
193
170
|
{}
|
194
171
|
end
|
195
172
|
|
196
|
-
# Test if a URL hosts an eryph-zero instance
|
197
|
-
# @param base_url [String] base URL to test
|
198
|
-
# @return [Boolean] true if eryph-zero is detected
|
199
|
-
def test_zero_endpoint(base_url)
|
200
|
-
# This is a simplified test - in a full implementation you might:
|
201
|
-
# 1. Make an HTTP request to check for eryph-zero health endpoint
|
202
|
-
# 2. Check for specific response headers or content
|
203
|
-
# 3. Verify SSL certificates if applicable
|
204
|
-
|
205
|
-
# In test environments, don't activate fallback endpoints
|
206
|
-
# This prevents tests from accidentally finding "running" services
|
207
|
-
# when they're testing the "not running" scenario
|
208
|
-
return false if @reader.environment.instance_of?(::TestEnvironment)
|
209
|
-
|
210
|
-
# For now, we'll just check if the URL format is valid
|
211
|
-
# In production, this might make actual HTTP requests
|
212
|
-
begin
|
213
|
-
uri = URI.parse(base_url)
|
214
|
-
# Check if scheme, host, and explicit port are present
|
215
|
-
has_scheme = !uri.scheme.nil?
|
216
|
-
has_host = !uri.host.nil? && !uri.host.empty?
|
217
|
-
has_explicit_port = base_url.include?(':') && base_url.match(/:(\d+)/)
|
218
|
-
|
219
|
-
!(has_scheme && has_host && has_explicit_port).nil?
|
220
|
-
rescue URI::InvalidURIError
|
221
|
-
false
|
222
|
-
end
|
223
|
-
end
|
224
173
|
end
|
225
174
|
end
|
226
175
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eryph-clientruntime
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eryph Team
|
@@ -37,7 +37,6 @@ executables: []
|
|
37
37
|
extensions: []
|
38
38
|
extra_rdoc_files: []
|
39
39
|
files:
|
40
|
-
- CHANGELOG.md
|
41
40
|
- LICENSE
|
42
41
|
- README.md
|
43
42
|
- eryph-clientruntime.gemspec
|
@@ -51,12 +50,13 @@ files:
|
|
51
50
|
- lib/eryph/clientruntime/local_identity_provider_info.rb
|
52
51
|
- lib/eryph/clientruntime/token_provider.rb
|
53
52
|
- lib/eryph/clientruntime/version.rb
|
53
|
+
- packages/clientruntime/CHANGELOG.md
|
54
54
|
homepage: https://github.com/eryph-org/ruby-client
|
55
55
|
licenses:
|
56
56
|
- MIT
|
57
57
|
metadata:
|
58
58
|
bug_tracker_uri: https://github.com/eryph-org/ruby-client/issues
|
59
|
-
changelog_uri: https://github.com/eryph-org/ruby-client/blob/main/CHANGELOG.md
|
59
|
+
changelog_uri: https://github.com/eryph-org/ruby-client/blob/main/packages/clientruntime/CHANGELOG.md
|
60
60
|
source_code_uri: https://github.com/eryph-org/ruby-client
|
61
61
|
homepage_uri: https://eryph.io
|
62
62
|
documentation_uri: https://www.eryph.io/docs
|
data/CHANGELOG.md
DELETED
@@ -1,47 +0,0 @@
|
|
1
|
-
# Changelog
|
2
|
-
|
3
|
-
All notable changes to the Eryph Ruby client libraries will be documented in this file.
|
4
|
-
|
5
|
-
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
6
|
-
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
7
|
-
|
8
|
-
## [Unreleased]
|
9
|
-
|
10
|
-
### Added
|
11
|
-
- Initial release of Eryph Ruby compute client
|
12
|
-
- OAuth2 authentication with JWT support
|
13
|
-
- **Automatic credential discovery** - Tries multiple configurations (default → zero → local) without requiring explicit config name
|
14
|
-
- **Client ID-based discovery** - Find specific client across all configurations
|
15
|
-
- **Enhanced Client constructor** - Support for `client_id` parameter and automatic discovery
|
16
|
-
- System client credential detection for eryph-zero
|
17
|
-
- Complete Compute API coverage via OpenAPI generation
|
18
|
-
- Configuration-based endpoint management
|
19
|
-
- SSL/TLS configuration support
|
20
|
-
- Comprehensive error handling and logging
|
21
|
-
- **Cross-platform admin privilege detection** - Windows Administrator and Linux root support
|
22
|
-
|
23
|
-
### Changed
|
24
|
-
|
25
|
-
### Deprecated
|
26
|
-
|
27
|
-
### Removed
|
28
|
-
|
29
|
-
### Fixed
|
30
|
-
|
31
|
-
### Security
|
32
|
-
|
33
|
-
## [0.1.0] - 2025-01-24
|
34
|
-
|
35
|
-
### Added
|
36
|
-
- Initial release of `eryph-clientruntime` gem with authentication and configuration management
|
37
|
-
- Initial release of `eryph-compute` gem with complete Compute API coverage
|
38
|
-
- Support for Windows DPAPI credential decryption
|
39
|
-
- Automatic endpoint discovery from running eryph-zero instances
|
40
|
-
- Generated API client with proper authentication
|
41
|
-
- Monorepo structure with separate versioning for runtime and compute client using changesets
|
42
|
-
- Examples and documentation for common usage patterns
|
43
|
-
- Integration with @changesets/cli for version management
|
44
|
-
- Automated version synchronization between NPM packages and Ruby gems
|
45
|
-
|
46
|
-
[Unreleased]: https://github.com/eryph-org/ruby-client/compare/v0.1.0...HEAD
|
47
|
-
[0.1.0]: https://github.com/eryph-org/ruby-client/releases/tag/v0.1.0
|