awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
fvbock avatar

fvbock/endless

0
View on GitHub↗
4,162 stars·343 forks·Go·MIT·18 views

Endless

Endless is a zero-downtime server wrapper and process manager for Go HTTP servers. It replaces standard library listeners to coordinate process transitions and socket management, allowing binaries to be updated without dropping active network connections.

The project enables zero-downtime restarts by forking a new child process to take over network sockets before the parent process shuts down. It manages secure traffic flow by wrapping servers with TLS encryption layers and supports coordination for both standard network ports and Unix sockets.

The system handles the server lifecycle through signal-driven management, executing specific setup and cleanup functions during restarts. It ensures continuous availability through socket-handoff coordination and provides graceful shutdown mechanisms that drain active requests or terminate hanging connections after a defined grace period.

Features

  • Zero-Downtime Upgrades - Provides a mechanism for updating service binaries without dropping active connections through socket handover.
  • Zero-Downtime Binaries Upgrades - Replaces Go service binaries without dropping network connections by handing over sockets to a new process.
  • Socket Handoffs - Transfers listening network ports between process instances to prevent dropping incoming requests during updates.
  • Go Server Process Managers - Provides lifecycle control for Go applications, coordinating process transitions and monitoring system signals.
  • Signal-Driven Process Spawning - Uses operating system signals to trigger the spawning of new process instances for seamless binary upgrades.
  • System Signal Handling - Defines custom routines to handle operating system signals for application state management and cleanup.
  • Binary Swaps - Enables updating server binaries by forking a new process to take over network sockets before the parent exits.
  • HTTP Server Implementations - Provides a custom HTTP server listener implementation that manages system signals and graceful process handovers.
  • Connection Termination - Force-terminates lingering network connections after a defined grace period during server shutdown.
  • Graceful Shutdowns - Ensures clean termination of Go servers by allowing in-flight requests to complete within a grace period.
  • Unix Socket Handoffs - Coordinates Unix socket transitions between parent and child processes to ensure continuous request handling.
  • High Availability Server Networking - Ensures continuous service availability by running multiple server instances on different ports from a single binary.
  • Multi-Port Listeners - Manages multiple server listeners on different ports within a single binary to facilitate coordinated restarts.
  • Independent Server Instance Hosting - Supports running multiple independent server instances with distinct sockets from a single binary to coordinate restarts.
  • TLS Servers - Implements a secure TLS server that maintains encrypted traffic flow during binary swaps and restarts.
  • TLS Session Wrapping - Wraps standard HTTP servers with TLS encryption layers while preserving the ability to perform process rotations.
  • Security & HTTPS - Manages TLS certificates and encryption protocols to maintain secure communication during seamless binary swaps.
  • TLS Traffic Encryption - Secures communication channels using TLS certificates while maintaining stability during server restarts.
  • Connection Draining - Implements network connection draining to allow active HTTP requests to finish before the server process terminates.

Star history

Star history chart for fvbock/endlessStar history chart for fvbock/endless

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Endless

Similar open-source projects, ranked by how many features they share with Endless.
  • cloudflare/tableflipcloudflare avatar

    cloudflare/tableflip

    3,155View on GitHub↗

    Tableflip is a zero-downtime restart library and system utility designed to transfer network sockets and open file descriptors between process instances. It serves as a process lifecycle manager that coordinates the handoff of TCP, UDP, and Unix domain sockets from a parent process to a child process to maintain active sessions during service upgrades. The tool facilitates seamless restarts by utilizing file-based process ID tracking and system signals to trigger the spawning of new process instances. It ensures continuous service availability by handing over network listeners and using readi

    Gogogolanggraceful-restarts
    View on GitHub↗3,155
  • facebookarchive/gracefacebookarchive avatar

    facebookarchive/grace

    4,882View on GitHub↗

    Grace is a lifecycle controller and process manager for Go applications designed to coordinate server transitions and implement system-level socket activation. It functions as a tool for managing secure HTTP servers and their transport layer security configurations across multiple ports. The project enables zero-downtime deployments by handing over network sockets to successor processes, allowing existing requests to complete before an old process shuts down. It also provides socket activation management, which allows servers to start lazily only upon receiving connections through an external

    Go
    View on GitHub↗4,882
  • mosn/mosnmosn avatar

    mosn/mosn

    4,517View on GitHub↗

    Mosn is a multi-protocol network proxy designed for cloud-native service meshes, API gateway management, and distributed load balancing. It forwards layer four and layer seven traffic across diverse network protocols to ensure interoperability between distributed cloud components. The project is distinguished by its ability to perform zero-downtime proxy updates, replacing the running binary while maintaining existing network connections. It further supports dynamic proxy extension, allowing custom request processing logic to be added via external plugins or compiled Go modules without restar

    Godata-planeproxyservice-mesh
    View on GitHub↗4,517
  • cloudflare/pingoracloudflare avatar

    cloudflare/pingora

    26,833View on GitHub↗

    Pingora is a Rust-based framework for building high-performance network services, including HTTP reverse proxies, layer seven load balancers, and TLS termination proxies. It serves as an asynchronous network library designed to intercept and route HTTP, gRPC, and WebSocket traffic between clients and upstream backend servers. The project enables zero-downtime service updates by handing over listening sockets between processes during binary or configuration upgrades. It utilizes a programmable multi-phase pipeline to modify request and response bodies and headers, and it provides a pluggable T

    Rust
    View on GitHub↗26,833
See all 30 alternatives to Endless→

Frequently asked questions

What does fvbock/endless do?

Endless is a zero-downtime server wrapper and process manager for Go HTTP servers. It replaces standard library listeners to coordinate process transitions and socket management, allowing binaries to be updated without dropping active network connections.

What are the main features of fvbock/endless?

The main features of fvbock/endless are: Zero-Downtime Upgrades, Zero-Downtime Binaries Upgrades, Socket Handoffs, Go Server Process Managers, Signal-Driven Process Spawning, System Signal Handling, Binary Swaps, HTTP Server Implementations.

What are some open-source alternatives to fvbock/endless?

Open-source alternatives to fvbock/endless include: cloudflare/tableflip — Tableflip is a zero-downtime restart library and system utility designed to transfer network sockets and open file… facebookarchive/grace — Grace is a lifecycle controller and process manager for Go applications designed to coordinate server transitions and… mosn/mosn — Mosn is a multi-protocol network proxy designed for cloud-native service meshes, API gateway management, and… cloudflare/pingora — Pingora is a Rust-based framework for building high-performance network services, including HTTP reverse proxies,… boostorg/beast — Beast is a C++ library for implementing low-level HTTP and WebSocket clients and servers. It functions as an… chyingp/nodejs-learning-guide — This project is a learning guide and collection of study notes designed to teach Node.js backend development. It…