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.25-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.25-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.25-py3-none-manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for ray_haproxy-2.8.25-py3-none-manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 51671f11afb571ed5b37042f9287daf48de235f2d32ad18b732ee9587e9ad076
MD5 4d5b265131f3b341b191001c9b83fa72
BLAKE2b-256 b748bef71a3bd4fa4b467299a9b859fac0a7660eefbc56d47b4b0f2b7c34491a

See more details on using hashes here.

Provenance

The following attestation bundles were made for ray_haproxy-2.8.25-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.25-py3-none-manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for ray_haproxy-2.8.25-py3-none-manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 a63902c2fe7eb51fbcb502980228d743b79da6cecab230c4c24674517b1ac3ac
MD5 1c954333b7b09d6fa31ee7ef1ff4e52c
BLAKE2b-256 31784cdca49514f94ced71525c5662e0b62fc64d625f4536910304dc71c680e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for ray_haproxy-2.8.25-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