Date: Thu, 2 Jan 2025 16:30:28 GMT From: Po-Chuan Hsieh <sunpoet@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: 37ff6fafd3d9 - main - www/rubygem-thruster: Add rubygem-thruster 0.1.9 Message-ID: <202501021630.502GUSU1048703@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by sunpoet: URL: https://cgit.FreeBSD.org/ports/commit/?id=37ff6fafd3d9c9aca4b9d6547f20852ce00659be commit 37ff6fafd3d9c9aca4b9d6547f20852ce00659be Author: Po-Chuan Hsieh <sunpoet@FreeBSD.org> AuthorDate: 2025-01-02 16:28:34 +0000 Commit: Po-Chuan Hsieh <sunpoet@FreeBSD.org> CommitDate: 2025-01-02 16:28:34 +0000 www/rubygem-thruster: Add rubygem-thruster 0.1.9 Thruster is an HTTP/2 proxy for simple production-ready deployments of Rails applications. It runs alongside the Puma webserver to provide a few additional features that help your app run efficiently and safely on the open Internet: - HTTP/2 support - Automatic TLS certificate management with Let's Encrypt - Basic HTTP caching of public assets - X-Sendfile support and compression, to efficiently serve static files Thruster aims to be as zero-config as possible. It has no configuration file, and most features are automatically enabled with sensible defaults. The goal is that simply running your Puma server with Thruster should be enough to get a production-ready setup. The only exception to this is TLS provisioning: in order for Thruster to provision TLS certificates, it needs to know which domain those certificates should be for. So to use TLS, you need to set the TLS_DOMAIN environment variable. If you don't set this variable, Thruster will run in HTTP-only mode. Thruster also wraps the Puma process so that you can use it without managing multiple processes yourself. This is particularly useful when running in a containerized environment, where you typically won't have a process manager available to coordinate the processes. Instead you can use Thruster as your CMD, and it will manage Puma for you. Thruster was originally created for the ONCE project, where we wanted a no-fuss way to serve a Rails application from a single container, directly on the open Internet. We've since found it useful for simple deployments of other Rails applications. --- www/Makefile | 1 + www/rubygem-thruster/Makefile | 19 +++++++++++++++++++ www/rubygem-thruster/distinfo | 3 +++ www/rubygem-thruster/pkg-descr | 28 ++++++++++++++++++++++++++++ 4 files changed, 51 insertions(+) diff --git a/www/Makefile b/www/Makefile index 6a5c65ecabbc..9a313baca7ad 100644 --- a/www/Makefile +++ b/www/Makefile @@ -2346,6 +2346,7 @@ SUBDIR += rubygem-tailwindcss-rails-rails71 SUBDIR += rubygem-task_list SUBDIR += rubygem-thin + SUBDIR += rubygem-thruster SUBDIR += rubygem-tinyatom SUBDIR += rubygem-tinymce-rails SUBDIR += rubygem-toml-rb diff --git a/www/rubygem-thruster/Makefile b/www/rubygem-thruster/Makefile new file mode 100644 index 000000000000..e9fb70793352 --- /dev/null +++ b/www/rubygem-thruster/Makefile @@ -0,0 +1,19 @@ +PORTNAME= thruster +PORTVERSION= 0.1.9 +CATEGORIES= www rubygems +MASTER_SITES= RG + +MAINTAINER= sunpoet@FreeBSD.org +COMMENT= Zero-config HTTP/2 proxy for lightweight production deployments +WWW= https://github.com/basecamp/thruster + +LICENSE= MIT +LICENSE_FILE= ${WRKSRC}/MIT-LICENSE + +USES= gem + +NO_ARCH= yes + +PLIST_FILES= bin/thrust + +.include <bsd.port.mk> diff --git a/www/rubygem-thruster/distinfo b/www/rubygem-thruster/distinfo new file mode 100644 index 000000000000..04d3391c4dcb --- /dev/null +++ b/www/rubygem-thruster/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1735802496 +SHA256 (rubygem/thruster-0.1.9.gem) = 8ef3e143012ce2a3b7b6a876cc1878dff8b865f2e95a70561326eca92b0c7f01 +SIZE (rubygem/thruster-0.1.9.gem) = 7680 diff --git a/www/rubygem-thruster/pkg-descr b/www/rubygem-thruster/pkg-descr new file mode 100644 index 000000000000..9c687024e3d1 --- /dev/null +++ b/www/rubygem-thruster/pkg-descr @@ -0,0 +1,28 @@ +Thruster is an HTTP/2 proxy for simple production-ready deployments of Rails +applications. It runs alongside the Puma webserver to provide a few additional +features that help your app run efficiently and safely on the open Internet: +- HTTP/2 support +- Automatic TLS certificate management with Let's Encrypt +- Basic HTTP caching of public assets +- X-Sendfile support and compression, to efficiently serve static files + +Thruster aims to be as zero-config as possible. It has no configuration file, +and most features are automatically enabled with sensible defaults. The goal is +that simply running your Puma server with Thruster should be enough to get a +production-ready setup. + +The only exception to this is TLS provisioning: in order for Thruster to +provision TLS certificates, it needs to know which domain those certificates +should be for. So to use TLS, you need to set the TLS_DOMAIN environment +variable. If you don't set this variable, Thruster will run in HTTP-only mode. + +Thruster also wraps the Puma process so that you can use it without managing +multiple processes yourself. This is particularly useful when running in a +containerized environment, where you typically won't have a process manager +available to coordinate the processes. Instead you can use Thruster as your CMD, +and it will manage Puma for you. + +Thruster was originally created for the ONCE project, where we wanted a no-fuss +way to serve a Rails application from a single container, directly on the open +Internet. We've since found it useful for simple deployments of other Rails +applications.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202501021630.502GUSU1048703>