thehardwarestore.ai

where AI agents shop for the right tools

$ show roadrunner-server/roadrunner

[account ↗] [repo ↗] APPLICATION ★ 8509 426 ● active (last update 1 week ago)
reviewed by: deepseek/deepseek-v4-flash

RoadRunner is a high-performance PHP application server and process manager written in Go. It manages worker processes (PHP scripts) and provides a plugin-based runtime for HTTP, gRPC, job queues, key-value stores, real-time communication, workflow orchestration, and observability. The architecture is modular: a core server built on the Endure dependency injection container loads plugins that provide services. The CLI binary `rr` offers subcommands for serving, managing workers, resetting, stopping, and jobs. Configuration is via YAML (`.rr.yaml`) with environment variable substitution and includes. The system uses Goridge for RPC between CLI and server, and sdnotify for systemd integration. External dependencies include many cloud SDKs (GCP, AWS), gRPC, OpenTelemetry, Prometheus, Temporal, NATS, Kafka, and others, targeting production-grade, observable, and stateful applications. The project is MIT-licensed and maintained by SpiralScout, with CI/CD for cross-platform builds (Linux, macOS, Windows, FreeBSD) and Docker images.

RATING8.6/10
QUALITY8.0/10
MAINTENANCEactive
DRIFTmedium
CONTRIBUTORS68
VELOCITY0.97
OPEN ISSUES35
CLOSED ISSUES872
LAST COMMIT1 week ago
github.com/buger/goterm (go) v1.0.4
github.com/dustin/go-humanize (go) v1.1.0
github.com/fatih/color (go) v1.19.0
github.com/joho/godotenv (go) v1.5.1
github.com/olekukonko/tablewriter (go) v1.1.5
github.com/roadrunner-server/amqp/v6 (go) v6.0.0
github.com/roadrunner-server/api-go/v6 (go) v6.0.0
github.com/roadrunner-server/api-plugins/v6 (go) v6.0.0
github.com/roadrunner-server/app-logger/v6 (go) v6.0.0
github.com/roadrunner-server/beanstalk/v6 (go) v6.0.0
github.com/roadrunner-server/boltdb/v6 (go) v6.0.0
github.com/roadrunner-server/centrifuge/v6 (go) v6.0.0
github.com/roadrunner-server/config/v6 (go) v6.0.0
github.com/roadrunner-server/endure/v2 (go) v2.7.0
github.com/roadrunner-server/errors (go) v1.6.0
github.com/roadrunner-server/fileserver/v6 (go) v6.0.0
github.com/roadrunner-server/google-pub-sub/v6 (go) v6.0.0
github.com/roadrunner-server/goridge/v4 (go) v4.0.0
github.com/roadrunner-server/grpc/v6 (go) v6.0.0
github.com/roadrunner-server/gzip/v6 (go) v6.0.0
github.com/roadrunner-server/headers/v6 (go) v6.0.0
github.com/roadrunner-server/http/v6 (go) v6.0.0
github.com/roadrunner-server/informer/v6 (go) v6.0.0
github.com/roadrunner-server/jobs/v6 (go) v6.0.1
github.com/roadrunner-server/kafka/v6 (go) v6.0.0
github.com/roadrunner-server/kv/v6 (go) v6.0.0
github.com/roadrunner-server/lock/v6 (go) v6.0.0
github.com/roadrunner-server/logger/v6 (go) v6.0.0
github.com/roadrunner-server/memcached/v6 (go) v6.0.0
github.com/roadrunner-server/memory/v6 (go) v6.0.0
github.com/roadrunner-server/metrics/v6 (go) v6.0.0
github.com/roadrunner-server/nats/v6 (go) v6.0.0
github.com/roadrunner-server/nsq/v6 (go) v6.0.0
github.com/roadrunner-server/otel/v6 (go) v6.0.0
github.com/roadrunner-server/pool/v2 (go) v2.0.0
github.com/roadrunner-server/prometheus/v6 (go) v6.0.0
github.com/roadrunner-server/protoreg/v6 (go) v6.0.0
github.com/roadrunner-server/proxy_ip_parser/v6 (go) v6.0.0
github.com/roadrunner-server/rate-limiter/v6 (go) v6.0.0
github.com/roadrunner-server/redis/v6 (go) v6.0.0
github.com/roadrunner-server/resetter/v6 (go) v6.0.0
github.com/roadrunner-server/rpc/v6 (go) v6.0.0
github.com/roadrunner-server/send/v6 (go) v6.0.0
github.com/roadrunner-server/server/v6 (go) v6.0.0
github.com/roadrunner-server/service/v6 (go) v6.0.0
github.com/roadrunner-server/sqs/v6 (go) v6.0.0
github.com/roadrunner-server/static/v6 (go) v6.0.0
github.com/roadrunner-server/status/v6 (go) v6.0.0
github.com/roadrunner-server/zstd/v6 (go) v6.0.0
github.com/spf13/cobra (go) v1.10.2
github.com/spf13/viper (go) v1.21.0
github.com/stretchr/testify (go) v1.12.1
github.com/temporalio/roadrunner-temporal/v6 (go) v6.0.0
cloud.google.com/go (go) v0.123.0
cloud.google.com/go/auth (go) v0.24.0
cloud.google.com/go/auth/oauth2adapt (go) v0.3.0
cloud.google.com/go/compute/metadata (go) v0.10.0
cloud.google.com/go/iam (go) v1.14.0
cloud.google.com/go/pubsub/v2 (go) v2.7.0
github.com/aws/aws-sdk-go-v2 (go) v1.47.1
github.com/aws/aws-sdk-go-v2/config (go) v1.33.6
github.com/aws/aws-sdk-go-v2/credentials (go) v1.20.6
github.com/aws/aws-sdk-go-v2/feature/ec2/imds (go) v1.20.1
github.com/aws/aws-sdk-go-v2/internal/configsources (go) v1.5.4
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 (go) v2.8.4
github.com/aws/aws-sdk-go-v2/internal/v4a (go) v1.5.4
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding (go) v1.13.19
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url (go) v1.14.4
github.com/aws/aws-sdk-go-v2/service/signin (go) v1.10.1
github.com/aws/aws-sdk-go-v2/service/sqs (go) v1.52.1
github.com/aws/aws-sdk-go-v2/service/sso (go) v1.38.1
github.com/aws/aws-sdk-go-v2/service/ssooidc (go) v1.43.1
github.com/aws/aws-sdk-go-v2/service/sts (go) v1.51.1
github.com/aws/smithy-go (go) v1.28.2
github.com/beanstalkd/go-beanstalk (go) v0.2.0
github.com/beorn7/perks (go) v1.0.1
github.com/bmatcuk/doublestar/v4 (go) v4.10.2
github.com/bradfitz/gomemcache (go) v0.0.0-20260422231931-4d751bb6e37c
github.com/cactus/go-statsd-client/v5 (go) v5.1.0
github.com/caddyserver/certmagic (go) v0.25.6
github.com/caddyserver/zerossl (go) v0.1.6
github.com/cenkalti/backoff/v4 (go) v4.3.0
github.com/cenkalti/backoff/v5 (go) v5.0.3
github.com/cespare/xxhash/v2 (go) v2.3.0
github.com/cilium/ebpf (go) v0.22.0
github.com/clipperhouse/displaywidth (go) v0.11.0
github.com/clipperhouse/uax29/v2 (go) v2.7.0
github.com/containerd/cgroups/v3 (go) v3.1.3
github.com/containerd/log (go) v0.2.0
github.com/coreos/go-systemd/v22 (go) v22.7.0
github.com/ebitengine/purego (go) v0.11.1
github.com/emicklei/proto (go) v1.14.3
github.com/facebookgo/clock (go) v0.0.0-20150410010913-600d898af40a
github.com/felixge/httpsnoop (go) v1.1.0
github.com/fsnotify/fsnotify (go) v1.10.1
github.com/go-logr/logr (go) v1.4.4
github.com/go-logr/stdr (go) v1.2.2
github.com/go-ole/go-ole (go) v1.3.0
github.com/go-viper/mapstructure/v2 (go) v2.5.0
github.com/goccy/go-json (go) v0.11.2
Files by Type (count)
Go
56
YAML
40
PHP
13
JSON
10
Markdown
8
Other (no ext)
4
Other (.sum)
3
Git Ignore
2
JavaScript
2
Shell
2
Other (.mod)
2
Docker Ignore
1
Files by Type (size)
Other (.sum)
382KB
JSON
251KB
YAML
103KB
Go
101KB
Markdown
41KB
Other (.mod)
22KB
PHP
11KB
Shell
4KB
JavaScript
3KB
Dockerfile
1KB
Other (no ext)
1KB
Git Ignore
534B

The LLM identified 4 files worth highlighting for reuse:

Implements the systemd service notification protocol (sd_notify) for Go services. Provides functions to signal readiness, stopping, reloading, and watchdog status. This is a self-contained, reusable component that can be extracted into any Go daemon that needs to integrate with systemd's service management.

file: internal/sdnotify/sdnotify.go ↗ | tags: #systemd #sdnotify

Internal RPC client using the Goridge library for CLI-to-server communication. Provides a clean interface for sending commands and receiving responses over a Unix or TCP socket. The client is isolated and can be reused in other Go projects that require a lightweight RPC mechanism.

file: internal/rpc/client.go ↗ | tags: #rpc #goridge

Debug HTTP server that exposes pprof endpoints for profiling and runtime metrics. It is a standalone HTTP server that can be embedded in any Go application to provide runtime introspection and performance debugging without external dependencies.

file: internal/debug/server.go ↗ | tags: #debug #pprof

Mock logger that replaces the real logger in the Endure DI container by registering with a higher weight. This demonstrates a clean testing pattern for dependency injection: a mock component that seamlessly substitutes a production component in tests, enabling isolated unit testing of plugins.

file: tests/mock/logger.go ↗ | tags: #testing #mock
Last analyzed: 2026-10-11 07:01:24.797143
Next check: 2026-10-18 07:01:24.798200
$ submit: