async-service-supervisor-envoy 0.3.0 → 0.3.1

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: 15171bea49a1422dc4ef04dc7f04f904dcc28e050e97365d905c15348e19877d
4
- data.tar.gz: 9ccfbff50bda3608571165db4dc9b12f46668cb1b84063d8515ef0f7f3059157
3
+ metadata.gz: 8cc76c3df4e361de12ad49143c31e5faca1228296ae3e0ca3eb698e5b7b97d16
4
+ data.tar.gz: 941d1d35f6780ec586f57ee50c31228d12c325c9675a5a2d75c5bc6d455652f5
5
5
  SHA512:
6
- metadata.gz: e8ea8643b3ae68cdb1e318e2dbae4a3b51d8c3609b7e6c1f73713828c7c76aa9539a586f810e2a91371a39b766da44471fee0b66cb22d9dcdc66d3fce7f91bfd
7
- data.tar.gz: 593ec4b29fd5b582b8727fcf18552263bc286666348de95bb43dcd772e283413c28a2fdc6801d6759791266efb5253ea4f29d494aa78ea3affe922b64fd70f94
6
+ metadata.gz: e45791d7ab2c2e3dbfd3ca22adf5f1df7dbd4bcc25a2e4a9c9cd9ec923e4bcc5d0817c7753d3ed756b175beb6e014be279e9663ffef75bc53b608e6908adfba8
7
+ data.tar.gz: 0b2dd096da3c2535f7de470b2d1f2bcb4674f33f05035936ce878a76137bc4a9872e95617bc57e2ea3793de19c55e1a966067bcef78fb251766dc27dc17f4c4b
checksums.yaml.gz.sig CHANGED
Binary file
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Released under the MIT License.
4
+ # Copyright, 2026, by Samuel Williams.
5
+
6
+ # Get the running Envoy monitor status from the supervisor.
7
+ def status
8
+ envoy_status
9
+ end
10
+
11
+ # Get the clusters currently published by the running Envoy monitor.
12
+ def clusters
13
+ fetch_clusters
14
+ end
15
+
16
+ # Get a compact endpoint list from the running Envoy monitor.
17
+ def endpoints
18
+ fetch_clusters.flat_map do |cluster, entries|
19
+ entries.map do |entry|
20
+ entry.merge(cluster: cluster)
21
+ end
22
+ end
23
+ end
24
+
25
+ private
26
+
27
+ def supervisor_status
28
+ context["async:service:supervisor:status"].call
29
+ end
30
+
31
+ def envoy_status
32
+ status = supervisor_status
33
+ monitor = status.find do |entry|
34
+ entry[:type] == "Async::Service::Supervisor::Envoy::Monitor"
35
+ end
36
+
37
+ unless monitor
38
+ raise "No Async::Service::Supervisor::Envoy::Monitor status found."
39
+ end
40
+
41
+ monitor
42
+ end
43
+
44
+ def fetch_clusters
45
+ status = envoy_status
46
+ status.fetch(:data).fetch(:clusters)
47
+ end
@@ -11,7 +11,7 @@ module Async
11
11
  module Supervisor
12
12
  # @namespace
13
13
  module Envoy
14
- VERSION = "0.3.0"
14
+ VERSION = "0.3.1"
15
15
  end
16
16
  end
17
17
  end
data/readme.md CHANGED
@@ -25,6 +25,10 @@ Please see the [project documentation](https://socketry.github.io/async-service-
25
25
 
26
26
  Please see the [project releases](https://socketry.github.io/async-service-supervisor-envoy/releases/index) for all releases.
27
27
 
28
+ ### v0.3.1
29
+
30
+ - Add Bake tasks for inspecting Envoy monitor status, clusters, and endpoints.
31
+
28
32
  ### v0.3.0
29
33
 
30
34
  - Add supervisor-driven out-of-band ORCA load reporting for independently addressable workers.
data/releases.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Releases
2
2
 
3
+ ## v0.3.1
4
+
5
+ - Add Bake tasks for inspecting Envoy monitor status, clusters, and endpoints.
6
+
3
7
  ## v0.3.0
4
8
 
5
9
  - Add supervisor-driven out-of-band ORCA load reporting for independently addressable workers.
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: async-service-supervisor-envoy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
@@ -112,6 +112,7 @@ executables: []
112
112
  extensions: []
113
113
  extra_rdoc_files: []
114
114
  files:
115
+ - bake/async/service/supervisor/envoy.rb
115
116
  - code.md
116
117
  - context/getting-started.md
117
118
  - context/index.yaml
metadata.gz.sig CHANGED
Binary file