Core API for the eBPF load balancer. Provides high-level functions for initialization, configuration, and management.
Core API for the eBPF load balancer. Provides high-level functions for initialization, configuration, and management.
(add-proxy! proxy-config)Add a new proxy configuration at runtime. Now supports weighted load balancing with TargetGroup records.
Add a new proxy configuration at runtime. Now supports weighted load balancing with TargetGroup records.
(add-source-route! proxy-name source target)Add a source route to a proxy. target can be:
Add a source route to a proxy.
target can be:
- Single target: {:ip "10.0.0.1" :port 8080}
- Weighted targets: [{:ip "10.0.0.1" :port 8080 :weight 50}
{:ip "10.0.0.2" :port 8080 :weight 50}](attach-interfaces! interfaces)Attach proxy programs to network interfaces.
Attach proxy programs to network interfaces.
(clear-connections!)Clear all tracked connections.
Clear all tracked connections.
(detach-interfaces! interfaces)Detach proxy programs from network interfaces.
Detach proxy programs from network interfaces.
(disable-stats!)Disable statistics collection.
Disable statistics collection.
(enable-stats!)Enable statistics collection.
Enable statistics collection.
(get-all-health-status)Get health status for all proxies.
Get health status for all proxies.
(get-connection-count)Get the number of active connections.
Get the number of active connections.
(get-connection-stats)Get aggregated connection statistics.
Get aggregated connection statistics.
(get-connections)Get all active connections.
Get all active connections.
(get-health-status proxy-name)Get health status for a specific proxy.
Get health status for a specific proxy.
(get-state)Get the current proxy state.
Get the current proxy state.
(health-check-enabled?)Check if health checking is enabled.
Check if health checking is enabled.
(init! config
&
{:keys [max-routes max-connections ringbuf-size]
:or
{max-routes 10000 max-connections 100000 ringbuf-size (* 256 1024)}})Initialize the eBPF reverse proxy.
Parameters: config - Configuration object (from config/parse-config or config/load-config-file)
Options: :max-routes - Maximum number of source routes :max-connections - Maximum concurrent connections :ringbuf-size - Ring buffer size for stats
Returns the proxy state map.
Initialize the eBPF reverse proxy. Parameters: config - Configuration object (from config/parse-config or config/load-config-file) Options: :max-routes - Maximum number of source routes :max-connections - Maximum concurrent connections :ringbuf-size - Ring buffer size for stats Returns the proxy state map.
(list-attached-interfaces)List currently attached interfaces.
List currently attached interfaces.
(print-config)Print current configuration.
Print current configuration.
(print-connections)Print active connections.
Print active connections.
(print-health-status)Print health status for all proxies.
Print health status for all proxies.
(print-status)Print current load balancer status.
Print current load balancer status.
(remove-proxy! proxy-name)Remove a proxy configuration at runtime.
Remove a proxy configuration at runtime.
(remove-source-route! proxy-name source)Remove a source route from a proxy.
Remove a source route from a proxy.
(running?)Check if the proxy is currently running.
Check if the proxy is currently running.
(shutdown!)Shutdown the reverse proxy and release all resources.
Shutdown the reverse proxy and release all resources.
(start-stats-stream!)Start streaming statistics events.
Start streaming statistics events.
(stats-enabled?)Check if statistics collection is enabled.
Check if statistics collection is enabled.
(stop-stats-stream!)Stop streaming statistics events.
Stop streaming statistics events.
(subscribe-to-stats)Subscribe to the stats stream. Returns a channel.
Subscribe to the stats stream. Returns a channel.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |