anycable-thruster 0.1.3 → 0.1.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +23 -22
- data/lib/anycable/thruster/version.rb +1 -1
- data/lib/thruster/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 92320dad9bfbb6931b0e5ab1a4a9b7c076f546b4682bac26007567eff20865e0
|
4
|
+
data.tar.gz: 67323df8e9ca85844e2d13622048d55ac9a05a53eeb4d3f8773585c13a51da39
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9c6cf86268081b2decc747520aafe283491d9d4f266984d6c114fbe3e992e42c2eea9349adacf40ffb7fe526737d8a111b455bbdc0ce68a4480e4d835c6e2f1c
|
7
|
+
data.tar.gz: 5747f32c7acc4dd287e9e1b5b1399a5e93ed9c3e2c0b7a9254bb3f0c5030a8804a7d359cd27784658a5a6ec0ffe152152426634316b2cb5f216adaf6230c9da7
|
data/README.md
CHANGED
@@ -36,7 +36,7 @@ applications. It runs alongside the Puma webserver to provide a few additional
|
|
36
36
|
features that help your app run efficiently and safely on the open Internet:
|
37
37
|
|
38
38
|
- HTTP/2 support
|
39
|
-
- Automatic
|
39
|
+
- Automatic TLS certificate management with Let's Encrypt
|
40
40
|
- Basic HTTP caching of public assets
|
41
41
|
- X-Sendfile support and compression, to efficiently serve static files
|
42
42
|
|
@@ -45,9 +45,9 @@ and most features are automatically enabled with sensible defaults. The goal is
|
|
45
45
|
that simply running your Puma server with Thruster should be enough to get a
|
46
46
|
production-ready setup.
|
47
47
|
|
48
|
-
The only exception to this is
|
49
|
-
provision
|
50
|
-
should be for. So to use
|
48
|
+
The only exception to this is TLS provisioning: in order for Thruster to
|
49
|
+
provision TLS certificates, it needs to know which domain those certificates
|
50
|
+
should be for. So to use TLS, you need to set the `TLS_DOMAIN` environment
|
51
51
|
variable. If you don't set this variable, Thruster will run in HTTP-only mode.
|
52
52
|
|
53
53
|
Thruster also wraps the Puma process so that you can use it without managing
|
@@ -90,10 +90,10 @@ with `thrust`. For example:
|
|
90
90
|
$ thrust bin/rails server
|
91
91
|
```
|
92
92
|
|
93
|
-
Or with automatic
|
93
|
+
Or with automatic TLS:
|
94
94
|
|
95
95
|
```sh
|
96
|
-
$
|
96
|
+
$ TLS_DOMAIN=myapp.example.com thrust bin/rails server
|
97
97
|
```
|
98
98
|
|
99
99
|
|
@@ -103,27 +103,28 @@ In most cases, Thruster should work out of the box with no additional
|
|
103
103
|
configuration. But if you need to customize its behavior, there are a few
|
104
104
|
environment variables that you can set.
|
105
105
|
|
106
|
-
| Variable Name | Description
|
107
|
-
|
108
|
-
| `
|
106
|
+
| Variable Name | Description | Default Value |
|
107
|
+
|-----------------------|---------------------------------------------------------|---------------|
|
108
|
+
| `TLS_DOMAIN` | Comma-separated list of domain names to use for TLS provisioning. If not set, TLS will be disabled. | None |
|
109
109
|
| `TARGET_PORT` | The port that your Puma server should run on. Thruster will set `PORT` to this value when starting your server. | 3000 |
|
110
|
-
| `CACHE_SIZE` | The size of the HTTP cache in bytes.
|
111
|
-
| `MAX_CACHE_ITEM_SIZE` | The maximum size of a single item in the HTTP cache in bytes.
|
112
|
-
| `X_SENDFILE_ENABLED` | Whether to enable X-Sendfile support. Set to `0` or `false` to disable.
|
110
|
+
| `CACHE_SIZE` | The size of the HTTP cache in bytes. | 64MB |
|
111
|
+
| `MAX_CACHE_ITEM_SIZE` | The maximum size of a single item in the HTTP cache in bytes. | 1MB |
|
112
|
+
| `X_SENDFILE_ENABLED` | Whether to enable X-Sendfile support. Set to `0` or `false` to disable. | Enabled |
|
113
113
|
| `MAX_REQUEST_BODY` | The maximum size of a request body in bytes. Requests larger than this size will be refused; `0` means no maximum size is enforced. | `0` |
|
114
|
-
| `STORAGE_PATH` | The path to store Thruster's internal state. Provisioned
|
114
|
+
| `STORAGE_PATH` | The path to store Thruster's internal state. Provisioned TLS certificates will be stored here, so that they will not need to be requested every time your application is started. | `./storage/thruster` |
|
115
115
|
| `BAD_GATEWAY_PAGE` | Path to an HTML file to serve when the backend server returns a 502 Bad Gateway error. If there is no file at the specific path, Thruster will serve an empty 502 response instead. Because Thruster boots very quickly, a custom page can be a useful way to show that your application is starting up. | `./public/502.html` |
|
116
|
-
| `HTTP_PORT` | The port to listen on for HTTP traffic.
|
117
|
-
| `HTTPS_PORT` | The port to listen on for HTTPS traffic.
|
116
|
+
| `HTTP_PORT` | The port to listen on for HTTP traffic. | 80 |
|
117
|
+
| `HTTPS_PORT` | The port to listen on for HTTPS traffic. | 443 |
|
118
118
|
| `HTTP_IDLE_TIMEOUT` | The maximum time in seconds that a client can be idle before the connection is closed. | 60 |
|
119
|
-
| `HTTP_READ_TIMEOUT` | The maximum time in seconds that a client can take to send the request headers. | 30 |
|
120
|
-
| `HTTP_WRITE_TIMEOUT` | The maximum time in seconds during which the client must read the response.
|
121
|
-
| `ACME_DIRECTORY` | The URL of the ACME directory to use for
|
122
|
-
| `EAB_KID` | The EAB key identifier to use when provisioning
|
123
|
-
| `EAB_HMAC_KEY` | The Base64-encoded EAB HMAC key to use when provisioning
|
124
|
-
| `
|
119
|
+
| `HTTP_READ_TIMEOUT` | The maximum time in seconds that a client can take to send the request headers and body. | 30 |
|
120
|
+
| `HTTP_WRITE_TIMEOUT` | The maximum time in seconds during which the client must read the response. | 30 |
|
121
|
+
| `ACME_DIRECTORY` | The URL of the ACME directory to use for TLS certificate provisioning. | `https://acme-v02.api.letsencrypt.org/directory` (Let's Encrypt production) |
|
122
|
+
| `EAB_KID` | The EAB key identifier to use when provisioning TLS certificates, if required. | None |
|
123
|
+
| `EAB_HMAC_KEY` | The Base64-encoded EAB HMAC key to use when provisioning TLS certificates, if required. | None |
|
124
|
+
| `FORWARD_HEADERS` | Whether to forward X-Forwarded-* headers from the client. | Disabled when running with TLS; enabled otherwise |
|
125
|
+
| `DEBUG` | Set to `1` or `true` to enable debug logging. | Disabled |
|
125
126
|
|
126
127
|
To prevent naming clashes with your application's own environment variables,
|
127
128
|
Thruster's environment variables can optionally be prefixed with `THRUSTER_`.
|
128
|
-
For example, `
|
129
|
+
For example, `TLS_DOMAIN` can also be written as `THRUSTER_TLS_DOMAIN`. Whenever
|
129
130
|
a prefixed variable is set, it will take precedence over the unprefixed version.
|
data/lib/thruster/version.rb
CHANGED
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.
|
4
|
+
version: 0.1.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kevin McConnell
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: exe
|
12
12
|
cert_chain: []
|
13
|
-
date: 2024-
|
13
|
+
date: 2024-10-16 00:00:00.000000000 Z
|
14
14
|
dependencies: []
|
15
15
|
description: A zero-config HTTP/2 proxy for lightweight production deployments with
|
16
16
|
AnyCable real-time server included
|
@@ -47,7 +47,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
47
47
|
- !ruby/object:Gem::Version
|
48
48
|
version: '0'
|
49
49
|
requirements: []
|
50
|
-
rubygems_version: 3.
|
50
|
+
rubygems_version: 3.5.18
|
51
51
|
signing_key:
|
52
52
|
specification_version: 4
|
53
53
|
summary: Zero-config HTTP/2 proxy with embedded AnyCable
|