Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
5243da3
feat(networking): add native mTLS support for fabric inter-node commu…
rushabhvaria Apr 30, 2026
94668bf
test(networking): add unit tests for fabric mTLS configuration
rushabhvaria Apr 30, 2026
ed472f7
Merge pull request #1 from rushabhvaria/feature/native-mtls-fabric
rushabhvaria Apr 30, 2026
355e9a0
test(networking): add integration tests for fabric mTLS
rushabhvaria Apr 30, 2026
7e7ee4b
Merge pull request #2 from rushabhvaria/feature/mtls-integration-tests
rushabhvaria Apr 30, 2026
1d7417e
feat(networking): add SAN-based authorization for fabric mTLS
rushabhvaria May 1, 2026
0b9cf7e
refactor(networking): rename allowed-sans to allowed-subject-names an…
rushabhvaria May 1, 2026
394547d
Merge pull request #3 from rushabhvaria/feature/mtls-san-authorization
rushabhvaria May 1, 2026
abfb621
feat(networking): require allowed-subject-names when mTLS client auth…
rushabhvaria May 1, 2026
b893562
Merge pull request #4 from rushabhvaria/feature/mtls-require-allowed-…
rushabhvaria May 1, 2026
e7b998e
Merge branch 'restatedev:main' into main
rushabhvaria May 4, 2026
734908c
refactor(networking): deduplicate connection handler in net_util
rushabhvaria May 4, 2026
0b44967
Merge pull request #5 from rushabhvaria/fix/mtls-dedup-connection-han…
rushabhvaria May 4, 2026
8cd560e
fix(networking): address review feedback on mTLS implementation (#7)
rushabhvaria May 18, 2026
87495d3
Merge branch 'restatedev:main' into main
rushabhvaria May 18, 2026
f2ea1c5
Merge branch 'restatedev:main' into main
rushabhvaria Jul 8, 2026
78ab3f7
Merge branch 'main' of https://github.com/restatedev/restate
rushabhvaria Jul 20, 2026
72e4b62
fix(networking): replace hand-rolled glob matcher with wildmatch crate
rushabhvaria Jul 20, 2026
297b41c
Merge pull request #8 from rushabhvaria/fix/mtls-glob-backtracking
rushabhvaria Jul 20, 2026
00eba57
fix(networking): make fabric advertised address TLS-aware at every ca…
rushabhvaria Jul 20, 2026
1d54f13
Merge pull request #9 from rushabhvaria/fix/mtls-advertised-address-tls
rushabhvaria Jul 20, 2026
38edc68
fix(networking): move TLS sniff and handshake out of the accept loop
rushabhvaria Jul 20, 2026
15f849a
Merge pull request #10 from rushabhvaria/fix/mtls-accept-loop
rushabhvaria Jul 20, 2026
c7ff97e
feat(networking): client-side subject verification via tonic's built-…
rushabhvaria Jul 20, 2026
f4af3e0
Merge pull request #11 from rushabhvaria/fix/mtls-client-verify-tonic
rushabhvaria Jul 20, 2026
40af3c6
refactor(networking): TaskCenter-managed cert reloader, simpler CA-on…
rushabhvaria Jul 20, 2026
65d2e2c
Merge pull request #12 from rushabhvaria/fix/mtls-nits
rushabhvaria Jul 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
126 changes: 125 additions & 1 deletion Cargo.lock

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

4 changes: 4 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -222,6 +222,7 @@ prost-dto = { version = "0.0.4" }
prost-types = { version = "0.14.1" }
quote = "1"
rand = "0.10.1"
rcgen = "0.13"
regex = { version = "1.12" }
reqwest = { version = "0.12", default-features = false, features = [
"json",
Expand Down Expand Up @@ -264,6 +265,7 @@ tokio = { version = "1.48.0", default-features = false, features = [
"macros",
"parking_lot",
] }
tokio-rustls = { version = "0.26", default-features = false, features = ["ring"] }
tokio-stream = "0.1.17"
tokio-util = { version = "0.7.17" }
toml = { version = "0.9" }
Expand All @@ -290,6 +292,8 @@ utoipa = { version = "5.4" }
utoipa-axum = "0.2"
uuid = { version = "1.19.0", features = ["v7", "serde"] }
vergen = { version = "8.0.0", default-features = false }
wildmatch = "2.6.1"
x509-parser = "0.16"
xxhash-rust = { version = "0.8", features = ["xxh3"] }
zstd = { version = "0.13" }

Expand Down
2 changes: 1 addition & 1 deletion crates/admin/src/service.rs
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ where
TaskCenter::with_current(|tc| opts.advertised_address(tc.address_book()))
);

net_util::run_hyper_server(self.listeners, service, || ())
net_util::run_hyper_server(self.listeners, service, || (), None)
.await
.map_err(Into::into)
}
Expand Down
8 changes: 7 additions & 1 deletion crates/core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,13 @@ static_assertions = { workspace = true }
strum = { workspace = true }
thiserror = { workspace = true }
tokio = { workspace = true, features = ["tracing"] }
tokio-rustls = { workspace = true }
tokio-stream = { workspace = true, features = ["net"] }
tokio-util = { workspace = true, features = ["net"] }
tonic = { workspace = true, features = ["transport", "codegen", "gzip", "zstd", "router"] }
tonic = { workspace = true, features = ["transport", "codegen", "gzip", "zstd", "router", "tls-ring"] }
rustls = { workspace = true }
wildmatch = { workspace = true }
x509-parser = { workspace = true }
tonic-prost = { workspace = true }
tonic-reflection = { workspace = true }
tower = { workspace = true }
Expand All @@ -82,6 +86,8 @@ restate-metadata-store = { workspace = true, features = ["test-util"] }
restate-test-util = { workspace = true }

googletest = { workspace = true }
rcgen = { workspace = true }
tempfile = { workspace = true }
test-log = { workspace = true }
tracing-subscriber = { workspace = true }
tracing-test = { workspace = true }
Expand Down
4 changes: 3 additions & 1 deletion crates/core/src/identification.rs
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,9 @@ fn collect_advertised_addresses(

// fabric
push_advertised(
config.common.advertised_address(address_book),
config
.common
.advertised_address(address_book, config.networking.tls.is_some()),
&mut addresses,
);

Expand Down
Loading
Loading