Project

minestrone

0.0
The project is in a healthy, maintained state
Minestrone is a utility and framework for executing commands on a remote machine, via SSH.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Runtime

~> 0.5
>= 0
>= 3.0
>= 3.0
>= 7.2
 Project Readme

Minestrone ๐Ÿฒ

Minestrone is a simplified fork of old Capistrano 2.x. A kind ofโ€ฆ mini-capistrano.

Project description

Minestrone is a tool for deploying Ruby applications to a server, based on the code of the classic deploy tool Capistrano, the older 2.x version, but simplified and cleaned up, with various features removed that I decided I'm never going to need myself. The focus is on deploying Ruby apps to a single host from Git over SSH. It keeps the core deploy DSL with compatibility maintained where possible, the git remote cache and copy strategies, release rotation with rollbacks, and the logging/formatting code.

What is removed

  • server roles, multiple servers and "primary" server designation โ€“ you only define a single server hostname and everything happens there
  • support for any parallel execution
  • multiple stages
  • SSH gateways
  • password authentication for SSH and Git
  • Windows support
  • REPL shell
  • legacy SCMs โ€“ only :git and :none are left
  • most deploy strategies โ€“ only :remote_cache and :copy are left
  • any legacy/deprecated code from Capistrano 1.x era or for ancient versions of Ruby

Other API changes

  • default deploy path is /var/www/#{application}
  • server method in the DSL only accepts a single string + options
  • Ruby 3.0+ is required

Project status

Warning

This project is an early, untested alpha version. Most of the work stripping out various parts from the old codebase was done using Codex AI coding agent (with manual code reviews to some degree). Use with caution.