Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Sequencer] New network integration #1294

Merged
merged 34 commits into from
Apr 11, 2024
Merged

[Sequencer] New network integration #1294

merged 34 commits into from
Apr 11, 2024

Conversation

rob-maron
Copy link
Contributor

@rob-maron rob-maron commented Apr 1, 2024

Closes #1299

This PR:

TL;DR: Updates the sequencer to use the combined network (Libp2p and Push CDN).

Specifically:

  • Removes code related to the original CDN
  • Adds binaries, environment variables, and containers for the new CDN
  • Adds environment variables and setup for the Libp2p implementation
  • Has some miscellaneous HotShot-update-related items
  • Removes Cap'n'Proto dependencies

Comment on lines +401 to +410
let cdn_network = PushCdnNetwork::new(
network_params.cdn_endpoint,
vec!["Global".into(), "DA".into()],
KeyPair {
public_key: WrappedSignatureKey(my_config.public_key),
private_key: my_config.private_key.clone(),
},
)
.await
.with_context(|| "Failed to create CDN network")?;
Copy link
Contributor Author

@rob-maron rob-maron Apr 1, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have in-progress CDN changes to make the initial connection be lazily initialized, but they aren't in yet.

@rob-maron rob-maron marked this pull request as ready for review April 3, 2024 17:29
/// The user-facing address to advertise
#[arg(
long,
default_value = "local_ip:1738",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Took a brief look at the push cdn code. So local_ip is a magic value that will be resolved to a local IP? What will it choose if there are multiple network interfaces? Would we ever not want this to be set to local_ip?

Copy link
Contributor Author

@rob-maron rob-maron Apr 8, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yessir, downstream it is resolved to whatever local_ip::local_ip_address() returns. I made it like this so it's easier to specify it if it's unknown and not set (e.g. in AWS).

If there are multiple networking interfaces, my thought is to use 0.0.0.0 to bind to all of them. For example, we would want it (public_advertise_address specifically) to be 0.0.0.0 on a fully public deployment that does not use load balancers

@rob-maron
Copy link
Contributor Author

cc @imabdulbasit for builder-related changes

docker/cdn-broker.Dockerfile Show resolved Hide resolved
docker-compose.yaml Show resolved Hide resolved
sequencer/src/bin/orchestrator.rs Outdated Show resolved Hide resolved
docker-compose.yaml Outdated Show resolved Hide resolved
docker-compose.yaml Outdated Show resolved Hide resolved
sequencer/src/bin/cdn-broker.rs Show resolved Hide resolved
@rob-maron rob-maron requested a review from jbearer April 10, 2024 13:28
docker-compose.yaml Outdated Show resolved Hide resolved
docker-compose.yaml Outdated Show resolved Hide resolved
@rob-maron rob-maron requested a review from jbearer April 11, 2024 07:01
@rob-maron rob-maron merged commit f32e7ea into main Apr 11, 2024
15 of 16 checks passed
@rob-maron rob-maron deleted the rm/network-integration branch April 11, 2024 14:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add new CDN and Libp2p implementations
3 participants