Skip to content

Distributed multi-channel notification orchestrator built with Go. Centralizes and delivers alerts and events across Slack, Gotify, ntfy, Discord, and more, with intelligent routing, retry, and observability.

Notifications You must be signed in to change notification settings

MrSnakeDoc/navire

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 

Repository files navigation

Status License

🚒 Navire – Multi-Channel Notification Orchestrator (MVP – Work in Progress)

Navire will be a distributed, multi-channel notification orchestrator written in Go.
Its mission: to centralize, manage, and deliver notifications across multiple platforms, such as Slack, Gotify, ntfy, and Discord, through a unified API with intelligent routing, priority management, and delivery guarantees.

⚠️ Status: MVP - Work in Progress
This project is currently under active development and not yet production-ready.

πŸ“Œ Current goal: Building the Core API and Dispatch worker MVP.
βœ… Planned milestone: v0.0.1 – Basic multi-channel delivery with Slack, Gotify, ntfy, and Discord.


🌐 Overview

Modern systems rely on dozens of notification channels for deployments, alerts, security incidents, and routine updates. Managing these integrations separately is painful, fragile, and hard to scale.

Navire solves this by acting as a central orchestrator that:

  • Exposes a single /notify API for sending events
  • Dynamically routes notifications based on priority, type, and tenant rules
  • Handles retry, backoff, deduplication, and rate limiting
  • Integrates seamlessly with multiple delivery platforms
  • Runs in Docker/Kubernetes environments with high availability in mind

🧠 Core Features

  • πŸ”₯ Unified API – One endpoint to rule them all (POST /notify)
  • πŸ“‘ Multi-channel delivery – Slack, Gotify, ntfy, Discord, and more
  • βš™οΈ Intelligent routing – Priority, type, and recipient-based delivery
  • ♻️ Retry & backoff – Automatic retries with exponential strategies
  • 🧩 Pub/Sub agnostic – Works with Redis Streams, Kafka, NATS, RabbitMQ, etc.
  • πŸ” Token-based security – Stateless validation and tenant isolation
  • πŸ“Š Observability-first – Built-in metrics, structured logging, and tracing
  • πŸ› οΈ Container-native – Designed for Docker and Kubernetes from day one

πŸ—οΈ Architecture

The system will be built on a modular, scalable architecture:

[Client] β†’ [Core API] β†’ [Pub/Sub] β†’ [Dispatch Workers] β†’ [Notifiers]

  • Core API – Handles validation, routing logic, authentication, and templating.
  • Pub/Sub Layer – Decouples ingestion from delivery. Pub/Sub backend is pluggable.
  • Dispatch Workers – Concurrently send notifications to configured channels.
  • Notifiers – Platform-specific adapters for Slack, Gotify, ntfy, Discord, etc.

πŸ“Š Roadmap

Check out the Technical Overview for a full architecture breakdown and future roadmap.


πŸ“œ License

This project will be released under the AGPLv3 license once the MVP reaches version v0.0.1.


🀝 Contributing

Contributions will be welcome once the MVP is open-sourced. Stay tuned!


πŸ“¬ Contact

For updates, discussions, and technical deep-dives, follow the project here on GitHub.

About

Distributed multi-channel notification orchestrator built with Go. Centralizes and delivers alerts and events across Slack, Gotify, ntfy, Discord, and more, with intelligent routing, retry, and observability.

Topics

Resources

Stars

Watchers

Forks