Skip to main content

HAProxy binary distribution for Ray Serve

Project description

Pre-built HAProxy binary distribution for Ray Serve.

The wheel bundles the HAProxy binary together with its vendored shared libraries (libssl, libcrypto, libpcre, liblua) so that Ray Serve can use HAProxy without requiring a system-level installation.

Installation

pip install "ray[serve,haproxy]"

Or directly:

pip install ray-haproxy

Platform support

  • Linux x86_64 (manylinux_2_17_x86_64)

  • Linux arm64 (manylinux_2_17_aarch64)

Usage

from ray_haproxy import get_haproxy_binary
print(get_haproxy_binary())  # /path/to/ray_haproxy/bin/haproxy

Binary resolution order:

  1. RAY_SERVE_HAPROXY_BINARY environment variable (explicit override)

  2. Bundled binary inside this package

  3. haproxy on the system PATH

Vendored shared libraries

The wheel bundles HAProxy and the shared libraries it depends on that are not guaranteed to exist on all Linux systems. At build time, the script ci/build/build-haproxy-dist.sh compiles HAProxy inside a manylinux2014 container, then uses ldd to discover every .so the binary needs. Libraries on the PEP 599 manylinux2014 allowlist (libc, libz, libpthread, etc.) are skipped — they are guaranteed present on any compatible system. Everything else is copied into lib/ and the binary’s RPATH is patched to $ORIGIN/lib so it finds its vendored copies at runtime.

Library

Source

Why

OpenSSL 3.0.x (libssl, libcrypto)

Built from source

manylinux2014 ships OpenSSL 1.1.1 (EOL Sept 2023). We build 3.0.x (LTS, EOL Sept 2026) to get current security patches.

Lua 5.4.x

Built from source

HAProxy 2.8 requires Lua 5.3+. manylinux2014 only has Lua 5.1.

PCRE (libpcre, libpcreposix)

manylinux2014 system package

Discovered by ldd, not on the PEP 599 allowlist. Vendored automatically.

libxcrypt (libcrypt.so.2)

manylinux2014 system package

Discovered by ldd. libcrypt.so.1 (glibc) is on the allowlist, but libcrypt.so.2 (libxcrypt) is not. Must be vendored — omitting it causes the binary to fail on systems that only have libcrypt.so.1.

Libraries not vendored (on the PEP 599 allowlist): libc, libm, libdl, librt, libpthread, libz, libgcc_s, libresolv, libcrypt.so.1.

License

HAProxy is distributed under the GNU General Public License v2. See LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ray_haproxy-2.8.21-py3-none-manylinux_2_17_x86_64.whl (4.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

ray_haproxy-2.8.21-py3-none-manylinux_2_17_aarch64.whl (4.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

File details

Details for the file ray_haproxy-2.8.21-py3-none-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for ray_haproxy-2.8.21-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 f155c8a92a73b4477f8b59f1d9e45b69d5a800f48b579be097cfa67cc53f65f0
MD5 97636436ad5ba43044895d7abf89f52b
BLAKE2b-256 f0cfea3c2d93d748d01a762c1c9fdafc072af74280c41d713ea1aa09f0ac8120

See more details on using hashes here.

Provenance

The following attestation bundles were made for ray_haproxy-2.8.21-py3-none-manylinux_2_17_x86_64.whl:

Publisher: release.yml on ray-project/ray-haproxy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ray_haproxy-2.8.21-py3-none-manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for ray_haproxy-2.8.21-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 b09cea2a2f11abae71018f06a2d2b00f095f493e021b31ff2c452bebb89f786c
MD5 aa64427bed1febb60460548c739c505c
BLAKE2b-256 e309b5c9aabf41a96ef9f7ad681adc30dd3174920ae4dbf92fab8d7912a7f273

See more details on using hashes here.

Provenance

The following attestation bundles were made for ray_haproxy-2.8.21-py3-none-manylinux_2_17_aarch64.whl:

Publisher: release.yml on ray-project/ray-haproxy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page