viirya opened a new pull request, #53:
URL: https://github.com/apache/spark-connect-gateway/pull/53

   ### What changes were proposed in this pull request?
   
   Cleanups found while preparing the first release. None changes runtime
   behaviour.
   
   **Product name.** Use "Apache Spark Connect Gateway" in the two user-visible
   places that said "Open-source Spark Connect Gateway" -- the clap `about` text
   shown by `gateway --help` (`crates/gateway/src/main.rs`) and the Helm chart
   description (`deploy/helm/scg/Chart.yaml`) -- and as the README title, which
   was the bare repository name.
   
   **Links outside the repository.** `README.md` and `docs/architecture.md`
   linked to documents under `../plans/`, which is not part of this repository.
   Both now point at the SPIP that proposed the project,
   [SPARK-58455](https://issues.apache.org/jira/browse/SPARK-58455), which 
states
   the problem and links to the design document. In the README the two link
   definitions for those files are replaced by one for the SPIP; every remaining
   reference-style link is both defined and used.
   
   The README also called the feature set "Production-ready"; it now just lists
   the features.
   
   **Dockerfile.**
   
   - The builder was `rust:1.82-slim` while `rust-toolchain.toml` pins 1.99.0,
     so rustup installed a second toolchain on every build. It is now
     `rust:1.99.0-slim-bookworm`; rustup only adds the `rustfmt` and `clippy`
     components `rust-toolchain.toml` lists.
   - The builder now names its Debian release, with a comment explaining why it
     must match the runtime image (see below).
   - `libssl-dev` and `pkg-config` are no longer installed. Nothing in the
     dependency graph uses `openssl-sys` -- TLS is rustls with ring -- and
     `pkg-config` was only there to locate libssl.
   
   ### Why are the changes needed?
   
   The ASF name for the product is "Apache Spark Connect Gateway", and it is 
what
   users see in `--help` and in the chart.
   
   The `../plans/` links are broken for every reader of the Apache repository 
and
   of a source release.
   
   The Debian pin matters because of how glibc versions work. The runtime stage
   is `distroless/cc-debian12` (bookworm), and the binary requires the glibc
   symbol versions of the glibc it was *linked* against in the builder. glibc is
   only backward compatible, so if the unpinned `rust:*-slim` tag moved to a 
newer
   Debian, the build could produce a binary that fails to start on the runtime
   image with ``version `GLIBC_x.yy' not found``. Pinning the builder to 
bookworm
   keeps both stages on the same release; the comment says to move them 
together.
   
   ### Does this PR introduce _any_ user-facing change?
   
   Yes, cosmetic only: `gateway --help` prints "Apache Spark Connect Gateway"
   instead of "Open-source Spark Connect Gateway", and the Helm chart 
description
   changes the same way. No configuration, API, or behaviour change.
   
   ### How was this patch tested?
   
   - `cargo fmt --all -- --check` and `cargo clippy --workspace --all-targets --
     -D warnings` -- clean.
   - `cargo test --workspace` -- 204 passed, 0 failed.
   - `gateway --help` prints the new name; `helm lint deploy/helm/scg` passes.
   - The image was built for linux/amd64 from this Dockerfile without
     `libssl-dev` or `pkg-config`, and the resulting image runs `gateway
     --version` and `gateway --help`.
   
   How the Dockerfile facts were established: `gateway` was built for
   linux/amd64 with the pinned toolchain on bookworm. `readelf -d` shows it 
needs
   only `libc.so.6`, `libm.so.6`, `libgcc_s.so.1` and `ld-linux-x86-64.so.2` (no
   libssl, no libstdc++), with `GLIBC_2.34` as the highest required symbol
   version against 2.36 in `distroless/cc-debian12`. The 
`rust:1.99.0-slim-bookworm`
   image ships `cargo`, `rustc` and `rust-std` only, which is why rustup still
   adds `rustfmt` and `clippy`.
   
   The e2e jobs build the image from this Dockerfile as well, so CI exercises it
   independently.
   
   ### Was this patch authored or co-authored using generative AI tooling?
   
   Yes, co-authored with Claude Code.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to