thruster 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +89 -0
  3. data/lib/thruster/version.rb +1 -1
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a72adc8f0d2c62b2f8c2402f7daf85b0545fb29982312ab24e08e70b566be674
4
- data.tar.gz: 9e205fcf6f18b0fb2771c925bc9867b3ce6d22fc27be76a085469a24bbf20102
3
+ metadata.gz: 6a72eabb5626727dbccb8452ef46245b247799f124a3d9b15d6fec24e90073bd
4
+ data.tar.gz: 4194baa09484971ac4eaf6c4f68ac4125df90a036027faa0de4475d3f5c696c1
5
5
  SHA512:
6
- metadata.gz: 7edde5602e1b89afc816e3461cd414a77726130865012de2522f4aa33fec99f553d8eb795638e78f5ffe1a947f2819771dea01a9b7d161d878f87ba5a981880c
7
- data.tar.gz: e082a10addeed303f5880d003f873e7457af404cb8f95938f1a4b946b987250235b4309699c6652d523e0024d8eb28049b9c2690d705c5d12d4b40e29fb6a8e3
6
+ metadata.gz: c6803bb2b2c49cade42867a28125633e4cbc565c6f0a0c4f83b537c35fec06a23e9bbdf31421ebc366f06bab27be214996f97e41a01f813d27da00db5522aeb5
7
+ data.tar.gz: adf6bf63dd03f5657739af23049db384a46c8a698e4ead96ca10a99a7e3137b3ca185b0e09ce2b77ccb3f4672695c1064c8e21b6de76f77ba7770e19aecac559
data/README.md CHANGED
@@ -1,2 +1,91 @@
1
1
  # Thruster
2
2
 
3
+ Thruster is an HTTP/2 proxy for simple production-ready deployments of Rails
4
+ applications. It runs alongside the Puma webserver to provide a few additional
5
+ features to help your app run efficiently and safely on the open Internet:
6
+
7
+ - Automatic SSL certificate management with Let's Encrypt
8
+ - HTTP/2 support
9
+ - Basic HTTP caching
10
+ - X-Sendfile support for efficient file serving
11
+ - Automatic GZIP compression
12
+
13
+ Thruster tries to be as zero-config as possible, so most features are
14
+ automatically enabled with sensible defaults.
15
+
16
+ One exception to that is the `SSL_DOMAIN` environment variable, which is
17
+ required to enable SSL provisioning. If `SSL_DOMAIN` is not set, Thruster will
18
+ operate in HTTP-only mode.
19
+
20
+ ## Installation
21
+
22
+ Add this line to your application's Gemfile:
23
+
24
+ ```ruby
25
+ gem 'thruster'
26
+ ```
27
+
28
+ Or install it globally:
29
+
30
+ ```sh
31
+ $ gem install thruster
32
+ ```
33
+
34
+ ## Usage
35
+
36
+ To run your Puma application inside Thruster, prefix your usual command string
37
+ with `thrust`. For example:
38
+
39
+ ```sh
40
+ $ thrust bin/rails server
41
+ ```
42
+
43
+ Or with automatic SSL:
44
+
45
+ ```sh
46
+ $ SSL_DOMAIN=myapp.example.com thrust bin/rails server
47
+ ```
48
+
49
+ ## Custom configuration
50
+
51
+ Thruster provides a number of environment variables that can be used to
52
+ customize its behavior:
53
+
54
+ - `SSL_DOMAIN` - The domain name to use for SSL provisioning. If not set, SSL
55
+ will be disabled.
56
+
57
+ - `TARGET_PORT` - The port that your Puma server should run on. Defaults to
58
+ 3000. Thruster will set `PORT` to this when starting your server.
59
+
60
+ - `CACHE_SIZE` - The size of the HTTP cache in bytes. Defaults to 64MB.
61
+
62
+ - `MAX_CACHE_ITEM_SIZE` - The maximum size of a single item in the HTTP cache
63
+ in bytes. Defaults to 1MB.
64
+
65
+ - `X_SENDFILE_ENABLED` - Whether to enable X-Sendfile support. Defaults to
66
+ enabled; set to `0` or `false` to disable.
67
+
68
+ - `MAX_REQUEST_BODY` - The maximum size of a request body in bytes. Requests
69
+ larger than this size will be refused; `0` means no maximum size. Defaults to
70
+ `0`.
71
+
72
+ - `STORAGE_PATH` - The path to store Thruster's internal state. Defaults to
73
+ `./storage/thruster`.
74
+
75
+ - `BAD_GATEWAY_PAGE` - Path to an HTML file to serve when the backend server
76
+ returns a 502 Bad Gateway error. Defaults to `./public/502.html`. If there is
77
+ no file at the specific path, Thruster will serve an empty 502 response
78
+ instead.
79
+
80
+ - `HTTP_PORT` - The port to listen on for HTTP traffic. Defaults to 80.
81
+
82
+ - `HTTPS_PORT` - The port to listen on for HTTPS traffic. Defaults to 443.
83
+
84
+ - `HTTP_IDLE_TIMEOUT` - The maximum time in seconds that a client can be idle
85
+ before the connection is closed. Defaults to 60.
86
+
87
+ - `HTTP_READ_TIMEOUT` - The maximum time in seconds that a client can take to
88
+ send the request headers. Defaults to 30.
89
+
90
+ - `HTTP_WRITE_TIMEOUT` - The maximum time in seconds during which the client
91
+ must read the response. Defaults to 30.
@@ -1,3 +1,3 @@
1
1
  module Thruster
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: thruster
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin McConnell
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-02-14 00:00:00.000000000 Z
11
+ date: 2024-02-28 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A zero-config HTTP/2 proxy for lightweight production deployments
14
14
  email: kevin@37signals.com