# Arc ## Docs - [Compile and apply new config](https://arc.sdjz.wiki/api-reference/daemon-control-plane/compile-and-apply-new-config.md) - [Get current raw config](https://arc.sdjz.wiki/api-reference/daemon-control-plane/get-current-raw-config.md) - [Get daemon status](https://arc.sdjz.wiki/api-reference/daemon-control-plane/get-daemon-status.md) - [Get local circuit-breaker snapshot](https://arc.sdjz.wiki/api-reference/gateway-control-plane/cluster/get-local-circuit-breaker-snapshot.md) - [Leader pushes config to peers](https://arc.sdjz.wiki/api-reference/gateway-control-plane/cluster/leader-pushes-config-to-peers.md): Two-phase push with peer validate then commit. Only allowed when node role is `leader`. - [Compile and apply config on this node](https://arc.sdjz.wiki/api-reference/gateway-control-plane/config/compile-and-apply-config-on-this-node.md) - [Compile config without applying it](https://arc.sdjz.wiki/api-reference/gateway-control-plane/config/compile-config-without-applying-it.md) - [Get active config JSON](https://arc.sdjz.wiki/api-reference/gateway-control-plane/config/get-active-config-json.md) - [Wait for config generation change](https://arc.sdjz.wiki/api-reference/gateway-control-plane/config/wait-for-config-generation-change.md) - [Get gossip runtime stats](https://arc.sdjz.wiki/api-reference/gateway-control-plane/gossip/get-gossip-runtime-stats.md) - [Join a peer into gossip cluster](https://arc.sdjz.wiki/api-reference/gateway-control-plane/gossip/join-a-peer-into-gossip-cluster.md) - [Leave gossip cluster](https://arc.sdjz.wiki/api-reference/gateway-control-plane/gossip/leave-gossip-cluster.md) - [List gossip cluster members](https://arc.sdjz.wiki/api-reference/gateway-control-plane/gossip/list-gossip-cluster-members.md) - [Get current node status](https://arc.sdjz.wiki/api-reference/gateway-control-plane/status/get-current-node-status.md) - [Add blacklist entry](https://arc.sdjz.wiki/api-reference/gateway-control-plane/xdp/add-blacklist-entry.md) - [Add whitelist entry](https://arc.sdjz.wiki/api-reference/gateway-control-plane/xdp/add-whitelist-entry.md) - [Get XDP runtime status](https://arc.sdjz.wiki/api-reference/gateway-control-plane/xdp/get-xdp-runtime-status.md) - [List blacklisted IP/CIDR entries](https://arc.sdjz.wiki/api-reference/gateway-control-plane/xdp/list-blacklisted-ipcidr-entries.md) - [List whitelisted IP/CIDR entries](https://arc.sdjz.wiki/api-reference/gateway-control-plane/xdp/list-whitelisted-ipcidr-entries.md) - [Remove blacklist entry](https://arc.sdjz.wiki/api-reference/gateway-control-plane/xdp/remove-blacklist-entry.md) - [Remove whitelist entry](https://arc.sdjz.wiki/api-reference/gateway-control-plane/xdp/remove-whitelist-entry.md) - [Get health status](https://arc.sdjz.wiki/api-reference/observability/get-health-status.md) - [Get Prometheus metrics text](https://arc.sdjz.wiki/api-reference/observability/get-prometheus-metrics-text.md) - [Architecture](https://arc.sdjz.wiki/architecture/index.md): Arc's architecture is built on two principles: thread-per-core and io_uring. Every design decision flows from these two choices. - [Benchmarks](https://arc.sdjz.wiki/benchmarks/index.md): This page documents Arc's benchmark suite and explains how to run and interpret results. - [CLI Reference](https://arc.sdjz.wiki/cli/index.md): The `arc` CLI reads NDJSON access logs produced by `arc-logging` on the local node. It has no network dependency and operates entirely by reading files on disk. - [Configuration](https://arc.sdjz.wiki/configuration/index.md): Arc accepts configuration files in **YAML**, **JSON**, or **TOML** format, detected by file extension (`.yaml`, `.yml`, `.json`, `.toml`). Internally Arc normalizes all formats to canonical JSON. - [Control Plane API](https://arc.sdjz.wiki/control-plane-api/index.md): The Control Plane API is Arc's management interface. It runs as a separate HTTP server on a dedicated thread, completely isolated from the io_uring data-plane workers. - [Deployment](https://arc.sdjz.wiki/deployment/index.md): This page covers how to install and run Arc in production. It includes the systemd service unit and the Kubernetes manifests. - [Getting Started](https://arc.sdjz.wiki/getting-started/index.md): This guide takes you from zero to a running Arc instance in about five minutes. By the end you will have Arc proxying HTTP traffic, with rate limits applied and TLS optional. - [Introduction](https://arc.sdjz.wiki/index.md): Arc is a Rust reverse proxy and API gateway built on io_uring for predictable, low-latency traffic handling. - [Observability](https://arc.sdjz.wiki/observability/index.md): Understanding what Arc is doing — and why a request behaved a certain way — requires three complementary data sources: counters for trends, structured logs for individual requests, and trace context to correlate spans across services. Arc provides all three without requiring an external agent. - [Security](https://arc.sdjz.wiki/security/index.md): Production HTTP services face threats at every layer of the stack: volumetric floods at the network layer, connection exhaustion at L4, and malformed or abusive requests at L7. Arc addresses all three independently so that a saturated kernel filter does not block legitimate L7 rate limiting from fir… - [TLS and Certificates](https://arc.sdjz.wiki/tls-and-certificates/index.md): Arc terminates TLS using Rustls for all downstream connections. It supports static certificates, SNI-based selection, mTLS to upstreams, and automatic certificate issuance via ACME. - [Traffic Management](https://arc.sdjz.wiki/traffic-management/index.md): This page covers Arc's routing, traffic mirroring, traffic splitting, and plugin system. ## OpenAPI Specs - [arc-observability.zh.openapi](https://arc.sdjz.wiki/openapi/arc-observability.zh.openapi.yaml) - [arc-gateway-control-plane.zh.openapi](https://arc.sdjz.wiki/openapi/arc-gateway-control-plane.zh.openapi.yaml) - [arc-daemon-control-plane.zh.openapi](https://arc.sdjz.wiki/openapi/arc-daemon-control-plane.zh.openapi.yaml) - [arc-gateway-control-plane.openapi](https://arc.sdjz.wiki/openapi/arc-gateway-control-plane.openapi.yaml) - [arc-observability.openapi](https://arc.sdjz.wiki/openapi/arc-observability.openapi.yaml) - [arc-daemon-control-plane.openapi](https://arc.sdjz.wiki/openapi/arc-daemon-control-plane.openapi.yaml) - [openapi](https://arc.sdjz.wiki/api-reference/openapi.json) ## Optional - [GitHub](https://github.com/shuakami/Arc) - [Releases](https://github.com/shuakami/Arc/releases)