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
facebookarchive avatar

facebookarchive/graceArchived

0
View on GitHub↗
godoc.org/github.com/facebookgo/grace↗

Grace

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 activation system.

The system covers high-availability infrastructure and network orchestration, including the ability to isolate public traffic from internal administrative services through multi-port listener management. It further manages resource handoffs and secure transport layer configurations to maintain continuous service availability.

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

Features

  • Zero-Downtime Upgrades - Provides a mechanism for updating Go server binaries without dropping active network connections.
  • Graceful Application Restarts - Facilitates graceful application restarts that allow existing requests to complete while new processes take over.
  • Socket-Activated Orchestration - Implements socket-activated orchestration to defer server startup until a network connection is received.
  • Go Network Programming - Provides advanced control over HTTP server socket lifecycles and TLS connections in Go.
  • Descriptor Passing - Transfers active network socket file descriptors between process instances to ensure zero-downtime.
  • TLS Servers - Provides an orchestrator for managing multiple secure HTTP servers and their TLS configurations across various ports.
  • Zero-Downtime Socket Handovers - Implements zero-downtime socket handovers between processes during server binary updates.
  • Go Server Process Managers - Acts as a lifecycle controller for Go applications to coordinate server transitions via system signals.
  • Process Signal Management - Monitors system signals to trigger controlled, graceful transitions between server instances.
  • Lazy Process Activation - Triggers server process initialization only upon the receipt of a connection via socket activation.
  • Secure HTTP Lifecycles - Manages the lifecycle of secure HTTP servers across multiple ports with integrated transport layer security.
  • High Availability Deployments - Maintains continuous service availability by ensuring active connections are not dropped during restarts.
  • High Availability Infrastructure - Ensures high availability by handing over network listeners between processes during updates.
  • Multi-Port Listeners - Supports binding to multiple network ports to isolate public traffic from administrative services.
4,882 stars·420 forks·Go·MIT·22 views

Star history

Star history chart for facebookarchive/graceStar history chart for facebookarchive/grace

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Projects sharing features with Grace

These projects share indexed features with Grace. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • 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
  • fvbock/endlessfvbock avatar

    fvbock/endless

    4,162View on GitHub↗

    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

    Go
    View on GitHub↗4,162
  • 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
  • puma/pumapuma avatar

    puma/puma

    7,878View on GitHub↗

    Puma is a concurrent HTTP server for Ruby applications that implements the Rack interface. It operates as a clustered web server, using a combination of worker processes and threads to handle multiple simultaneous web connections via TCP ports or UNIX domain sockets. The server features a master-worker process model that utilizes multiple CPU cores and employs copy-on-write preloading to reduce memory usage. It supports zero-downtime restarts through socket-handover capabilities, allowing application updates without dropping pending network requests. The project includes a token-authenticate

    Rubymultithreadingrackruby
    View on GitHub↗7,878
Compare all 30 related projects→

Frequently asked questions

What does facebookarchive/grace do?

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.

What are the main features of facebookarchive/grace?

The main features of facebookarchive/grace are: Zero-Downtime Upgrades, Graceful Application Restarts, Socket-Activated Orchestration, Go Network Programming, Descriptor Passing, TLS Servers, Zero-Downtime Socket Handovers, Go Server Process Managers.

Which projects share features with facebookarchive/grace?

Projects with overlapping indexed features include: cloudflare/tableflip — Tableflip is a zero-downtime restart library and system utility designed to transfer network sockets and open file… fvbock/endless — Endless is a zero-downtime server wrapper and process manager for Go HTTP servers. It replaces standard library… cloudflare/pingora — Pingora is a Rust-based framework for building high-performance network services, including HTTP reverse proxies,… puma/puma — Puma is a concurrent HTTP server for Ruby applications that implements the Rack interface. It operates as a clustered… systemd/systemd — systemd is a comprehensive system and service manager for Linux that orchestrates the entire operating system… opencontainers/runtime-spec — The project provides an open container runtime specification and standardized schema for defining container…