Skip to content

gen0sec/proxy-protocol

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

proxy-protocol

This implements the PROXY protocol created by HAProxy in Rust.

Licence

This is licensed under either:

at your discretion.

Contributing

All contributions must be submitted under both licences and cannot have any additional terms or conditions.

Release Process

proxy-protocol is published to the private gen0sec Cargo registry (https://crates-internal.g0s.dev). Releases are driven by vX.Y.Z git tags — .github/workflows/release.yaml handles build, publish, and GitHub Release creation.

One-time setup

  • Repo secret: GEN0SEC_CARGO_TOKEN — bearer token for the registry.

  • release GitHub environment (Settings → Environments → New) for optional manual approval gating before publish.

  • Local cargo config (~/.cargo/config.toml) for developers:

    [registries.gen0sec]
    index = "sparse+https://crates-internal.g0s.dev/api/v1/crates/"
    credential-provider = ["cargo:token"]
    token = "<your_token>"

Cutting a release

cargo install cargo-release
cargo release patch --execute   # or minor / major / 1.2.3

cargo-release bumps Cargo.toml + Cargo.lock, commits, creates vX.Y.Z, and pushes; CI publishes on the tag push. [package.metadata.release] publish = false keeps the local command from publishing — that is left to CI.

CI jobs on v* tag

  1. verify-version — fails if tag does not match Cargo.toml.
  2. package-cratecargo package --registry gen0sec --locked, uploads proxy-protocol-X.Y.Z.crate.
  3. publishrelease environment-gated cargo publish with retry/timeout hardening.
  4. gh-release — downloads .crate, generates SHA256 sidecars, creates a GitHub Release.

Required Cargo.toml metadata

The gen0sec registry enforces these [package] fields, missing ones cause a 400 Bad Request:

name, description, repository, license, authors, categories, keywords, links, readme.

About

HAProxy PROXY protocol implementation in Rust.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Rust 100.0%