A Go service that polls RSS / Atom / JSON feeds, detects new and updated items,
and publishes a canonical change envelope to one or more of sixteen sinks
(Postgres, Kafka, RabbitMQ, SQS, SNS, DynamoDB, GCP Pub/Sub, NATS, Azure
Service Bus, Azure Cosmos DB, Dapr, stdout, HTTP/webhook, gRPC, feed,
composite). It is designed to run as a
long-lived daemon (serve) or as a single-shot job (run-once), and it can
scale to multiple instances behind a shared coordinator (Postgres advisory
locks, Redis lease, or DynamoDB lease) without leader election.
Architecture:
feeds → fetcher/detector → state store → sinks, with a coordinator gating poll cycles across instances. See the interactive pipeline canvas (opens in Obsidian).
Full documentation lives in docs/. Start there, or jump in:
Get started
- Getting Started — build and run your first poll.
How-to
- Configure Feeds · Load Feeds Dynamically
- Choose a Sink · drivers: postgres · kafka · sqs · sns · dynamodb · gcp_pubsub · amqp091 · amqp10 · rabbitmq_stream · nats · azureservicebus · cosmosdb · dapr_pubsub · stdout · http · grpc · feed · composite
- Run Multiple Instances
- Run with Docker · Deploy in Production
- Secure Connections (TLS)
- Docker Compose examples — copy-pasteable stacks (minimal, Kafka, RabbitMQ, Postgres, horizontal scaling, observability).
Reference
Understand it
Develop
Contributions are welcome — see CONTRIBUTING.md for the workflow and CODE_OF_CONDUCT.md for the ground rules. Please report security issues privately per SECURITY.md rather than as public issues.
Before a first pull request is merged, contributors sign the Contributor License Agreement — a bot handles it, and you keep your copyright.
rss2msg is source-available, not open source. It is distributed under the Business Source License 1.1.
You may use, modify, and redistribute it freely, including for commercial
purposes — the one exception is that you may not offer rss2msg to third parties
as a hosted or managed "Feed-to-Message Service" without a separate commercial
license. Each released version converts to the Apache License 2.0
on its Change Date, four years after that version is released. See LICENSE
for the exact terms; for commercial-licensing questions, contact info@iambod.dev.