Unverified Commit 3d408352 authored by Russell Cohen's avatar Russell Cohen Committed by GitHub
Browse files

Use rustls for reqwest (#2403)

* Use rustls for reqwest

This also adds a CI check to ensure that we can build the SDK on MUSL

* Fix MUSL build in image

* Fix build image
parent 530386e5
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -12,6 +12,13 @@ ARG rust_nightly_version=nightly-2022-11-16
FROM ${base_image} AS bare_base_image
RUN yum -y updateinfo

FROM bare_base_image as musl_toolchain
RUN yum -y install tar gzip gcc make
RUN curl https://musl.libc.org/releases/musl-1.2.3.tar.gz -o musl-1.2.3.tar.gz \
  && ls \
  && tar xvzf musl-1.2.3.tar.gz \ 
  && (cd musl-1.2.3 && ./configure && make install) 

#
# Rust & Tools Installation Stage
#
@@ -51,6 +58,7 @@ RUN set -eux; \
    rustup component add rustfmt; \
    rustup component add clippy; \
    rustup toolchain install ${rust_nightly_version} --component clippy; \
    rustup target add x86_64-unknown-linux-musl; \
    cargo --version; \
    cargo +${rust_nightly_version} --version;

@@ -106,6 +114,8 @@ ARG maturin_version=0.14.1
ARG rust_nightly_version
RUN cargo +${rust_nightly_version} -Z sparse-registry install maturin --locked --version ${maturin_version}



#
# Final image
#
@@ -138,6 +148,8 @@ COPY --chown=build:build --from=cargo_minimal_versions /opt/cargo/bin/cargo-mini
COPY --chown=build:build --from=cargo_check_external_types /opt/cargo/bin/cargo-check-external-types /opt/cargo/bin/cargo-check-external-types
COPY --chown=build:build --from=maturin /opt/cargo/bin/maturin /opt/cargo/bin/maturin
COPY --chown=build:build --from=install_rust /opt/rustup /opt/rustup
COPY --chown=build:build --from=musl_toolchain /usr/local/musl/ /usr/local/musl/
ENV PATH=$PATH:/usr/local/musl/bin/
ENV PATH=/opt/cargo/bin:$PATH \
    CARGO_HOME=/opt/cargo \
    RUSTUP_HOME=/opt/rustup \
+407 −254

File changed.

Preview size limit exceeded, changes collapsed.

+5 −0
Original line number Diff line number Diff line
# run build-bundle on musl to verify that everything works
cargo run -- build-bundle \
  --sdk-release-tag release-2022-12-14 \
  --canary-path ../canary-lambda \
  --rust-version stable --musl
+3 −3
Original line number Diff line number Diff line
@@ -53,7 +53,7 @@ tracing-subscriber = { version = "0.3", features = ["fmt", "env-filter"] }
uuid = { version = "0.8", features = ["v4"] }
tokio-stream = "0"
tracing-texray = "0.1.1"
reqwest = "0.11.14"
reqwest = { version = "0.11.14", features = ["rustls-tls"], default-features = false }
"#;

const REQUIRED_SDK_CRATES: &[&str] = &[
@@ -429,7 +429,7 @@ tracing-subscriber = { version = "0.3", features = ["fmt", "env-filter"] }
uuid = { version = "0.8", features = ["v4"] }
tokio-stream = "0"
tracing-texray = "0.1.1"
reqwest = "0.11.14"
reqwest = { version = "0.11.14", features = ["rustls-tls"], default-features = false }
aws-config = { path = "some/sdk/path/aws-config" }
aws-sdk-s3 = { path = "some/sdk/path/s3" }
aws-sdk-ec2 = { path = "some/sdk/path/ec2" }
@@ -492,7 +492,7 @@ tracing-subscriber = { version = "0.3", features = ["fmt", "env-filter"] }
uuid = { version = "0.8", features = ["v4"] }
tokio-stream = "0"
tracing-texray = "0.1.1"
reqwest = "0.11.14"
reqwest = { version = "0.11.14", features = ["rustls-tls"], default-features = false }
aws-config = "0.46.0"
aws-sdk-s3 = "0.20.0"
aws-sdk-ec2 = "0.19.0"