<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Praxis</title><link>https://praxis.fast/praxis/</link><description>Recent content on Praxis</description><generator>Hugo</generator><language>en</language><atom:link href="https://praxis.fast/praxis/index.xml" rel="self" type="application/rss+xml"/><item><title>Praxis v0.7.2 capabilities and support</title><link>https://praxis.fast/praxis/capabilities/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/capabilities/</guid><description>&lt;p&gt;This page describes the &lt;strong&gt;Praxis v0.7.2 default release&lt;/strong&gt;, pinned to commit &lt;a href="https://github.com/praxis-proxy/praxis/tree/1de023cba3fee967f828c9ff35f27596f8f6792c"&gt;&lt;code&gt;1de023cba3fee967f828c9ff35f27596f8f6792c&lt;/code&gt;&lt;/a&gt;. A custom build can omit defaults or add experimental features; check its build and configuration before relying on a capability.&lt;/p&gt;&#10;&lt;h2 id="protocols"&gt;Protocols&lt;/h2&gt;&#10;&lt;table tabindex="0" aria-label="Praxis v0.7.2 capabilities and support, table 1"&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&lt;th&gt;Capability&lt;/th&gt;&lt;th&gt;v0.7.2 status&lt;/th&gt;&lt;th&gt;Notes&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&lt;td&gt;HTTP reverse proxying&lt;/td&gt;&lt;td&gt;Supported&lt;/td&gt;&lt;td&gt;HTTP/1 and HTTP/2 are handled through the selected Pingora adapter. SSE and gRPC workloads pass through the HTTP proxy; the &lt;code&gt;grpc_detection&lt;/code&gt; filter classifies content types for pipeline conditions.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&lt;td&gt;TCP forwarding&lt;/td&gt;&lt;td&gt;Supported&lt;/td&gt;&lt;td&gt;TCP listeners forward opaque streams and can use TCP filters. TCP forwarding uses a separate listener mode. Praxis v0.7.2 does not implement HTTP CONNECT tunneling.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&lt;td&gt;WebSocket upgrades&lt;/td&gt;&lt;td&gt;Supported&lt;/td&gt;&lt;td&gt;The HTTP proxy preserves validated WebSocket upgrade responses. WebSocket frames pass through without message-aware filtering.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&lt;td&gt;HTTP/3 / QUIC&lt;/td&gt;&lt;td&gt;Not implemented&lt;/td&gt;&lt;td&gt;The v0.7.2 architecture describes the adapter as planned.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&lt;td&gt;HTTP CONNECT tunnel&lt;/td&gt;&lt;td&gt;Not implemented&lt;/td&gt;&lt;td&gt;The open &lt;a href="https://github.com/praxis-proxy/praxis/issues/781"&gt;CONNECT design issue&lt;/a&gt; says the current reverse proxy rejects CONNECT. Use a purpose-built forward proxy if clients require &lt;code&gt;HTTP_PROXY&lt;/code&gt; or &lt;code&gt;HTTPS_PROXY&lt;/code&gt; tunneling.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="configurable-operations"&gt;Configurable operations&lt;/h2&gt;&#10;&lt;table tabindex="0" aria-label="Praxis v0.7.2 capabilities and support, table 2"&gt;&#10; &lt;thead&gt;&#10; &lt;tr&gt;&lt;th&gt;Capability&lt;/th&gt;&lt;th&gt;Default-build status&lt;/th&gt;&lt;th&gt;Enabled by default?&lt;/th&gt;&#10; &lt;/tr&gt;&#10; &lt;/thead&gt;&#10; &lt;tbody&gt;&#10; &lt;tr&gt;&lt;td&gt;YAML listeners, routing, and load balancing&lt;/td&gt;&lt;td&gt;Supported&lt;/td&gt;&lt;td&gt;The server can start with a built-in local status response; upstream routing needs a router, a load balancer, and configured clusters.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&lt;td&gt;Downstream TLS and upstream TLS&lt;/td&gt;&lt;td&gt;Supported&lt;/td&gt;&lt;td&gt;Configure certificates and TLS settings per listener or cluster. Upstream certificate verification is enabled by default; HTTPS is not implicitly enabled on every listener.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&lt;td&gt;TCP TLS and client-certificate checks&lt;/td&gt;&lt;td&gt;Supported&lt;/td&gt;&lt;td&gt;Configure a TCP/HTTP TLS listener and the relevant certificate or peer-identity settings. SPIFFE-specific identity support requires the &lt;code&gt;spiffe&lt;/code&gt; feature.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&lt;td&gt;CORS, rate limiting, ACL, CSRF, and guardrails&lt;/td&gt;&lt;td&gt;Supported filters&lt;/td&gt;&lt;td&gt;No. Add the needed filters to the configured chain; the default config does not apply these policies.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&lt;td&gt;Endpoint health checks and admin health endpoints&lt;/td&gt;&lt;td&gt;Supported&lt;/td&gt;&lt;td&gt;The default build includes &lt;code&gt;admin-api&lt;/code&gt;; configure &lt;code&gt;admin.address&lt;/code&gt; and health checks as needed. The default config binds admin to loopback.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&lt;td&gt;Config-file reload&lt;/td&gt;&lt;td&gt;Supported&lt;/td&gt;&lt;td&gt;&lt;code&gt;config-reload&lt;/code&gt; is enabled in the default build. Some changes, including listener topology and protocol type, need a restart.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&lt;td&gt;OpenTelemetry tracing&lt;/td&gt;&lt;td&gt;Build-feature dependent&lt;/td&gt;&lt;td&gt;Off by default; compile with &lt;code&gt;otel&lt;/code&gt; and configure an exporter.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;tr&gt;&lt;td&gt;Iterative request routing and SPIFFE peer identity&lt;/td&gt;&lt;td&gt;Experimental build features&lt;/td&gt;&lt;td&gt;Off by default. Enabling experimental features produces a startup warning; do not assume they are part of the standard binary.&lt;/td&gt;&#10; &lt;/tr&gt;&#10; &lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;Use &lt;a href="https://praxis.fast/praxis/v0.7.2/operating/build-features/"&gt;the complete build-feature reference (Praxis v0.7.2)&lt;/a&gt; and &lt;a href="https://praxis.fast/praxis/v0.7.2/filters/reference/"&gt;the filter reference (Praxis v0.7.2)&lt;/a&gt; for exact fields and feature gates. The &lt;a href="https://praxis.fast/guides/operate/"&gt;operator guides&lt;/a&gt; link to TLS, health, security, metrics, and reload instructions.&lt;/p&gt;</description></item></channel></rss>