anycable-thruster 0.1.16-aarch64-linux → 0.1.18-aarch64-linux

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: f5f81441311357e450fb77000b4ca0bfd1ffb097bc5127a8ad4efe40937a7937
4
- data.tar.gz: 3e44dea2f31c660f2be094528c07a1610296d642d314ad51158fbeab813694bb
3
+ metadata.gz: 295bc6055807b0e7ec94da08aea93800c82cee096b1a265a9016eaaf83665109
4
+ data.tar.gz: 7dc881c21d43070619810a9404846ad80ce9935c439cb61ee7433b9520b87139
5
5
  SHA512:
6
- metadata.gz: ab756487986e66e1801c035c5ce39129d185431e630d8984b387529f6f522bd09f42a088acc0f369a609357ff5a9a595aac79370f185a72fd151ab5ce5c592fe
7
- data.tar.gz: 90d64ec2f1468ee14473b077874b3631d08891806ef76329563539664a5cd8cadc53f1ea82acae3c3813bc9eb201b188c6fe080a033249fa3952f6f98ae5173f
6
+ metadata.gz: c832d94c7f03f859d6311b62a867f1c018aad253bce1af0c0b5eb7a5ec038966aa440a6f7e5d010c68f8c18b5153633453408111e72e6cba74f931ecf5206766
7
+ data.tar.gz: 5d5e9ebd1746d03ab0783f8c4718f689190ac7dd10f874db7be5449ed9080d387d8bbf22a10a3b97774ad73749985eaa510677e3160fc67371a0b216fd1bdcf5
data/README.md CHANGED
@@ -26,6 +26,40 @@ ANYCABLE_DEBUG=true thrust bin/rails s
26
26
  ANYCABLE_OPT="-debug" thrust bin/rails s
27
27
  ```
28
28
 
29
+ ## Using a custom AnyCable binary
30
+
31
+ AnyCable Thruster can launch an external AnyCable-compatible binary (e.g., **AnyCable Pro**) instead of the one bundled with the gem.
32
+ Set `ANYCABLE_THRUSTER_BIN_PATH` to either a **full path** or a **command name** (looked up in `$PATH`).
33
+ If the variable is not set, Thruster falls back to the bundled per-platform binary.
34
+
35
+ ### Local usage
36
+
37
+ If you have `anycable-thruster` available in your `$PATH`:
38
+
39
+ ```sh
40
+ # Thruster will exec the given binary and pass through all CLI args
41
+ ANYCABLE_THRUSTER_BIN_PATH=anycable-thruster thrust bin/rails server
42
+
43
+ #You may also use an absolute path if you prefer:
44
+ ANYCABLE_THRUSTER_BIN_PATH=/usr/local/bin/anycable-thruster thrust bin/rails server
45
+ ```
46
+
47
+ ### Heroku (with the AnyCable Go buildpack)
48
+
49
+ **Configure the AnyCable Go buildpack to fetch the Thruster binary:**
50
+ - `HEROKU_ANYCABLE_GO_BINARY_NAME=anycable-thruster`
51
+
52
+ In Procfile:
53
+
54
+ ```
55
+ # resolves via PATH
56
+ web: ANYCABLE_THRUSTER_BIN_PATH=anycable-thruster thrust bin/rails server
57
+
58
+ # resolve absolute path at runtime
59
+ # web: ANYCABLE_THRUSTER_BIN_PATH=$(which anycable-thruster) thrust bin/rails server
60
+ ```
61
+
62
+ For full buildpack options see the buildpack [README](https://github.com/anycable/heroku-anycable-go).
29
63
  ----
30
64
 
31
65
  > [!NOTE]
@@ -123,6 +157,7 @@ environment variables that you can set.
123
157
  | `EAB_KID` | The EAB key identifier to use when provisioning TLS certificates, if required. | None |
124
158
  | `EAB_HMAC_KEY` | The Base64-encoded EAB HMAC key to use when provisioning TLS certificates, if required. | None |
125
159
  | `FORWARD_HEADERS` | Whether to forward X-Forwarded-* headers from the client. | Disabled when running with TLS; enabled otherwise |
160
+ | `LOG_REQUESTS` | Log all requests. Set to `0` or `false` to disable request logging | Enabled |
126
161
  | `DEBUG` | Set to `1` or `true` to enable debug logging. | Disabled |
127
162
 
128
163
  To prevent naming clashes with your application's own environment variables,
Binary file
data/exe/thrust CHANGED
@@ -1,11 +1,26 @@
1
1
  #! /usr/bin/env ruby
2
2
 
3
- PLATFORM = [ :cpu, :os ].map { |m| Gem::Platform.local.send(m) }.join("-")
3
+ ENV_KEY = "ANYCABLE_THRUSTER_BIN_PATH"
4
+ CUSTOM_ANYCABLE_PATH = ENV[ENV_KEY].to_s
5
+
6
+ if CUSTOM_ANYCABLE_PATH != ""
7
+ begin
8
+ exec(CUSTOM_ANYCABLE_PATH, *ARGV)
9
+ rescue Errno::ENOENT
10
+ warn("ERROR: #{ENV_KEY}=#{CUSTOM_ANYCABLE_PATH.inspect} not found in PATH or as a file.")
11
+ exit 1
12
+ rescue SystemCallError => e
13
+ warn("ERROR: #{ENV_KEY}=#{CUSTOM_ANYCABLE_PATH.inspect} failed: #{e.class}: #{e.message}")
14
+ exit 1
15
+ end
16
+ end
17
+
18
+ PLATFORM = %i[cpu os].map { |m| Gem::Platform.local.send(m) }.join("-")
4
19
  EXECUTABLE = File.expand_path(File.join(__dir__, PLATFORM, "thrust"))
5
20
 
6
21
  if File.exist?(EXECUTABLE)
7
22
  exec(EXECUTABLE, *ARGV)
8
23
  else
9
- STDERR.puts("ERROR: Unsupported platform: #{PLATFORM}")
24
+ warn("ERROR: Unsupported platform: #{PLATFORM}")
10
25
  exit 1
11
26
  end
@@ -2,7 +2,7 @@ require_relative "../../thruster/version"
2
2
 
3
3
  module AnyCable
4
4
  module Thruster
5
- VERSION = "0.1.16"
5
+ VERSION = "0.1.18"
6
6
 
7
7
  # Very basic validation to ensure the versions are in sync
8
8
  if ::Thruster::VERSION.split(".").take(2) != VERSION.split(".").take(2)
@@ -1,3 +1,3 @@
1
1
  module Thruster
2
- VERSION = "0.1.13"
2
+ VERSION = "0.1.15"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: anycable-thruster
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.16
4
+ version: 0.1.18
5
5
  platform: aarch64-linux
6
6
  authors:
7
7
  - Kevin McConnell
@@ -9,7 +9,7 @@ authors:
9
9
  - Igor Platonov
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2025-06-04 00:00:00.000000000 Z
12
+ date: 1980-01-02 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: A zero-config HTTP/2 proxy for lightweight production deployments with
15
15
  AnyCable real-time server included
@@ -46,7 +46,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  requirements: []
49
- rubygems_version: 3.6.5
49
+ rubygems_version: 3.6.9
50
50
  specification_version: 4
51
51
  summary: Zero-config HTTP/2 proxy with embedded AnyCable
52
52
  test_files: []