L. C. Hsieh created SPARK-60526:
-----------------------------------
Summary: Use the Apache product name, fix docs that point outside
the repository, and tidy the Dockerfile before the first release
Key: SPARK-60526
URL: https://issues.apache.org/jira/browse/SPARK-60526
Project: Spark
Issue Type: Sub-task
Components: Connect
Affects Versions: connect-gateway-0.1.0
Reporter: L. C. Hsieh
Small cleanups found while preparing the first release. None changes runtime
behaviour.
Product name
The ASF name is "Apache Spark Connect Gateway", but two user-visible strings
say "Open-source Spark Connect Gateway":
- crates/gateway/src/main.rs: the clap `about` text, shown by
`gateway --help`;
- deploy/helm/scg/Chart.yaml: the chart description.
The README title is the bare repository name.
Documentation
- README.md links to ../plans/IMPLEMENTATION-PLAN-OSS-Spark-Connect-Gateway.md
and ../plans/OPEN_SOURCE_SPARK_CONNECT_GATEWAY_ANALYSIS.md, and refers to
"the plan repo". Those files are outside this repository, so the links
are broken for every reader of the Apache repo and of a source release.
- The README describes the feature set as "Production-ready". That is a
strong claim for a first 0.1.0 release and should be reworded.
Dockerfile
- The builder stage is `rust:1.82-slim`, but rust-toolchain.toml pins
1.99.0, so rustup silently installs a second toolchain during the build.
The tag should name the toolchain that is actually used.
- The builder tag does not name a Debian release, while the runtime stage
is distroless/cc-debian12 (bookworm). The binary requires the glibc
symbol versions of the builder's glibc (currently GLIBC_2.34, against
2.36 at runtime). If the rust image's default Debian moved past bookworm,
the binary could require a glibc newer than the runtime image has and
fail at startup. Pin the builder to bookworm and say why next to it.
- `libssl-dev` is installed in the builder, but nothing in the dependency
graph uses openssl-sys: TLS is rustls with ring. Remove it.
How this was established: gateway was built for linux/amd64 in
rust:1-slim-bookworm with the pinned toolchain. readelf 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, and it
runs in gcr.io/distroless/cc-debian12:nonroot.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]