explaingit

abyo-software/ferro-stash

Analysis updated 2026-05-18

1RustAudience · ops devopsComplexity · 4/5LicenseSetup · moderate

TLDR

A Rust-native Logstash replacement that runs your existing pipeline.conf files unchanged, without a JVM, using a fraction of the memory and starting in under a second.

Mindmap

mindmap
  root((FerroStash))
    What it does
      Run Logstash configs
      No JVM required
      Single static binary
    Pipeline model
      Inputs: Kafka, file, TCP
      Filters: grok, mutate, JSON
      Outputs: Elasticsearch, S3
    Performance
      8-13x less memory
      10ms cold start
      1.5-3.2x throughput
    Deployment
      Self-hosted binary
      AWS Marketplace AMI
      Kubernetes container
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Replace a Logstash instance to cut memory use from ~1 GB to tens of MB per pipeline without changing config files.

USE CASE 2

Run existing Logstash pipeline.conf files without any Java installation or JVM on the host.

USE CASE 3

Pack more log-shipping sidecars on a single server by swapping the JVM for a 14 MB static binary.

USE CASE 4

Run FerroStash beside your live Logstash pipeline to compare output before committing to migration.

What is it built with?

RustmrubyKafkaElasticsearchRedisAWS

How does it compare?

abyo-software/ferro-stashariasbruno/glyphbradmyrick/rusty-tuber
Stars111
LanguageRustRustRust
Setup difficultymoderateeasymoderate
Complexity4/52/53/5
Audienceops devopsdevelopergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires existing Logstash pipeline.conf files, the README recommends running beside your current pipeline to validate output before switching.

Use freely for any purpose, including commercial use, as long as you include the license and copyright notice.

In plain English

FerroStash is a data pipeline engine written in Rust that reads existing Logstash configuration files without changes and without a Java Virtual Machine. Logstash is a widely used tool for collecting, transforming, and routing log data and events, but it runs on the JVM and typically uses around 1 GB of memory at idle and takes many seconds to start. FerroStash reads the same pipeline.conf format and produces the same output events, but compiles to a single static binary of about 14 MB that starts in under a second and holds tens of megabytes of memory instead of hundreds. The pipeline model follows the same input, filter, and output pattern as Logstash. Supported inputs include file, TCP, HTTP, Syslog, Kafka, Beats, and Redis. Filters include grok, mutate, JSON, key-value parsing, dissect, and date. Outputs cover Elasticsearch, Kafka, S3, HTTP, file, Datadog, and more. If your existing pipeline uses Ruby filter blocks, FerroStash can run those using an embedded Ruby interpreter called mruby, so you can migrate without rewriting custom logic. There is also a native script filter using a subset of the Painless scripting language, which the README benchmarks at roughly 3.6 times the throughput of Logstash's Ruby path. The project includes benchmarks run against Logstash 9.4.2 on an AWS instance, showing 1.5 to 3.2 times higher throughput depending on the filter, 8 to 13 times lower memory use, and a cold start of about 10 milliseconds compared to 7 to 30 seconds for the JVM. The README is careful to label these as single-environment numbers, not universal guarantees. Output compatibility is verified field-for-field against Logstash 9.4.2 across 24 test fixtures. This is a first stable release from a single developer with no public production deployments reported yet. The README recommends running FerroStash alongside your current pipeline and comparing outputs before trusting it with important data. The test suite includes over 1,400 tests. An AWS Marketplace listing provides a pre-built AMI and a Kubernetes container billed through your AWS account. The open-source build under Apache 2.0 is the full engine. The full README is longer than what was shown.

Copy-paste prompts

Prompt 1
I have a Logstash pipeline.conf using grok and mutate filters writing to Elasticsearch. Show me how to run it with FerroStash and verify the output matches.
Prompt 2
My Logstash pipeline has a ruby {} filter with custom field manipulation. Will FerroStash's mruby support run it as-is, and what are the known gaps?
Prompt 3
I want to deploy FerroStash as a sidecar in Kubernetes to forward logs from my app. What is the minimal setup and how do I point it at my existing config file?
Prompt 4
How do I run the FerroStash benchmark suite against my own hardware to compare throughput and memory with my current Logstash setup?
Prompt 5
I need an output plugin that FerroStash doesn't include yet. Where in the Rust codebase would I add it, and how are existing output plugins structured?

Frequently asked questions

What is ferro-stash?

A Rust-native Logstash replacement that runs your existing pipeline.conf files unchanged, without a JVM, using a fraction of the memory and starting in under a second.

What language is ferro-stash written in?

Mainly Rust. The stack also includes Rust, mruby, Kafka.

What license does ferro-stash use?

Use freely for any purpose, including commercial use, as long as you include the license and copyright notice.

How hard is ferro-stash to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is ferro-stash for?

Mainly ops devops.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub abyo-software on gitmyhub

Verify against the repo before relying on details.