-
Notifications
You must be signed in to change notification settings - Fork 1
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
Provide a local development ("local devnet") configuration as a start. #446
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
JesseAbram
reviewed
Oct 24, 2023
vitropy
commented
Oct 24, 2023
Can you make a separate PR for the RustFmt stuff? |
vitropy
force-pushed
the
vi/local-devnet-chain-spec
branch
from
October 24, 2023 20:28
7828d13
to
5637ab1
Compare
vitropy
force-pushed
the
vi/local-devnet-chain-spec
branch
from
October 25, 2023 20:32
c63eb20
to
fd6ad40
Compare
vitropy
force-pushed
the
vi/local-devnet-chain-spec
branch
from
October 26, 2023 06:39
fd6ad40
to
b674ecf
Compare
vitropy
changed the title
Generate custom chain spec for local devnet setups in Docker Compose.
Provide a local development ("local devnet") configuration as a start.
Oct 26, 2023
JesseAbram
approved these changes
Oct 26, 2023
This (finally?) provides a "local devnet" configuration intended to replace the need for developers who are working with multiple components of an Entropy network (in development/testing mode) to handle those components independently. I.e., instead of invoking the `entropy` and `server` binaries individually, the entire build and start up routine is now encapsulated inside a `docker compose build && docker compose up` invocation. If this works well, this will also become the basis on which tests in CI can spin up an Entropy network to test against, as well. There are a number of things to note about this change, most of which are thoroughly commented inline, but some that deserve special call out: 1. Static comilation with GNU libc is not actually fully static. :( We still need to include the `libnss_files` and `libnss_dns` shared objects from the container image's `build` stage in order for the `entropy` binary to successfully make DNS queries. This wasn't necessary before, because those code paths were never called by an Entropy network only using IP addresses (or `127.0.0.1`, locally). However, the `local-devnet` chain introduced here cannot know IP addresses ahead of time, so we need name resolution and thus hit this very, very annoying bug. 1. The new `--chain local-devnet` option introduced here is specifically for use in combination with the Docker Compose `docker-compose.yaml` configuration provided here, as well. It'll fail with another setup. As an aside, this is my first Rust contribution. Be gentle. <3
vitropy
force-pushed
the
vi/local-devnet-chain-spec
branch
from
October 26, 2023 15:56
b674ecf
to
cffa672
Compare
HCastano
reviewed
Oct 26, 2023
I saw it. It was those changes and lint checks, but both are already resolved now and |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This (finally?) provides a "local devnet" configuration intended to
replace the need for developers who are working with multiple components
of an Entropy network (in development/testing mode) to handle those
components independently. I.e., instead of invoking the
entropy
andserver
binaries individually, the entire build and start up routine isnow encapsulated inside a
docker compose build && docker compose up
invocation. If this works well, this will also become the basis on which
tests in CI can spin up an Entropy network to test against, as well.
There are a number of things to note about this change, most of which
are thoroughly commented inline, but some that deserve special call out:
We still need to include the
libnss_files
andlibnss_dns
sharedobjects from the container image's
build
stage in order for theentropy
binary to successfully make DNS queries. This wasn'tnecessary before, because those code paths were never called by an
Entropy network only using IP addresses (or
127.0.0.1
, locally).However, the
local-devnet
chain introduced here cannot know IPaddresses ahead of time, so we need name resolution and thus hit
this very, very annoying bug.
--chain local-devnet
option introduced here is specificallyfor use in combination with the Docker Compose
docker-compose.yaml
configuration provided here, as well. It'll fail with another setup.
As an aside, this is my first Rust contribution. Be gentle. <3