Skip to content

Latest commit

 

History

History
55 lines (34 loc) · 2.91 KB

File metadata and controls

55 lines (34 loc) · 2.91 KB

PastureStack load-balancer-controller

PastureStack is an independent community effort to preserve, audit, and modernize the Rancher 1.6 ecosystem. It is not affiliated with or endorsed by Rancher Labs or SUSE.

This branch contains the compatibility runtime used by PastureStack Server to operate HAProxy load-balancer services. It is a GitHub fork of rancher/lb-controller and preserves the upstream Git history, authorship, dates, tags, Apache License 2.0 text, and copyright notices.

Runtime image

PastureStack Server creates this image automatically when a user adds a load-balancer service:

ghcr.io/pasturestack/load-balancer-service:v0.9.27

Release deployments pin the image by digest. The image is not intended to be started by itself because the control plane supplies metadata, API credentials, service links, port rules, and health-check configuration.

Compatibility

The controller accepts role-specific credentials when the orchestration engine supplies them:

  • CATTLE_ENVIRONMENT_ADMIN_ACCESS_KEY
  • CATTLE_ENVIRONMENT_ADMIN_SECRET_KEY
  • CATTLE_AGENT_ACCESS_KEY
  • CATTLE_AGENT_SECRET_KEY

It also accepts the generic CATTLE_ACCESS_KEY and CATTLE_SECRET_KEY pair used by older compatible control-plane paths. Role-specific values always take precedence. Secret values are never logged.

The HAProxy logging helper keeps its configuration under the standard /etc/rsyslog.d path and does not require a daemon PID file. Logging initialization is validated independently before HAProxy configuration is applied.

Protocol-critical CATTLE_* variables, io.rancher.* labels, metadata paths, API types, and provider identifiers remain compatibility interfaces. They do not represent PastureStack branding or affiliation.

Build and test

The disposable build environment uses Ubuntu 26.04 and a pinned Go toolchain. The shipped runtime uses Alpine 3.24 with only the commands and libraries required by the controller and source-built HAProxy 3.4 LTS:

make ci

The build produces ghcr.io/pasturestack/load-balancer-service:<version>. The obsolete Kubernetes bootstrap sidecar is not part of the maintained product.

The Go runtime now uses Go Modules with four current external modules. The Rancher 1.6 API, event, and metadata wire contracts required by Server are maintained as bounded internal compatibility packages instead of abandoned third-party dependencies.

GitHub workflows run CodeQL plus the same module, race-test, govulncheck, reproducibility, Trivy, SBOM, and image checks used for releases.

Security and provenance

See ORIGIN.md for the preserved upstream boundary and maintenance policy, COMPATIBILITY.md for the supported runtime contract, and SECURITY.md for reporting guidance.

The root LICENSE remains authoritative. PastureStack does not claim ownership of upstream work.