Skip to content

Commit

Permalink
chore: switch client from openssl to rustls (#1365)
Browse files Browse the repository at this point in the history
<!-- Please make sure there is an issue that this PR is correlated to. -->

## Changes

<!-- If there are frontend changes, please include screenshots. -->
  • Loading branch information
NathanFlurry committed Nov 18, 2024
1 parent 6a8189a commit b1d1156
Show file tree
Hide file tree
Showing 6 changed files with 92 additions and 110 deletions.
6 changes: 2 additions & 4 deletions docker/dev-full/client.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,8 @@ RUN \
mv target/debug/rivet-client target/debug/rivet-isolate-v8-runner target/debug/rivet-container-runner /app/dist/

# MARK: Runner
#
# Requires OpenSSL 1.1, so we pin this to Debian 11 instead of 12 (which uses OpenSSL 3).
FROM debian:11-slim
RUN DEBIAN_FRONTEND=noninteractive apt-get update -y && apt-get install -y --no-install-recommends ca-certificates openssl
FROM debian:12-slim
RUN DEBIAN_FRONTEND=noninteractive apt-get update -y && apt-get install -y --no-install-recommends ca-certificates
COPY --from=builder /app/dist/rivet-client /app/dist/rivet-isolate-v8-runner /app/dist/rivet-container-runner /usr/local/bin/
ENTRYPOINT ["rivet-client"]
CMD ["-c", "/etc/rivet-client/config.json"]
Expand Down
2 changes: 1 addition & 1 deletion packages/common/global-error/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ async-trait = "0.1"
formatted-error = { path = "../formatted-error" }
types-proto = { path = "../types-proto/core", optional = true }
http = "0.2"
reqwest = "0.11"
reqwest = { version = "0.11", default-features = false }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
thiserror = "1.0"
2 changes: 1 addition & 1 deletion packages/common/util/core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ ipnet = { version = "2.7", features = ["serde"] }
lazy_static = "1.4"
rand = "0.8"
regex = "1.4"
reqwest = "0.11"
reqwest = { version = "0.11", default-features = false }
rivet-config = { version = "0.1.0", path = "../../config" }
rivet-util-macros = { path = "../macros" }
serde = { version = "1.0", features = ["derive"] }
Expand Down
176 changes: 73 additions & 103 deletions packages/infra/client/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 14 additions & 0 deletions packages/infra/client/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Rivet Client

## Projects

- **manager** The binary responsible for talking to the Rivet Server. This will spawn a runner based on the flavor (isolate or container).
- **isolate-v8-runner** Runs actors using V8 isolates.
- **container-runner** Runs actors as containers.
- **runner-protocol** Shared types for the runner's protocol.
- **echo** Used as a test binary for testing pegboard-manager.

## rustls and OpenSSL

We opt to use rustls instead of OpenSSL in all client binaries in the interest of portability.

Loading

0 comments on commit b1d1156

Please sign in to comment.