Skip site navigation (1)Skip section navigation (2)
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>