How does the networking work again? #47
Description
Hello,
Sorry for the noise, but even after looking at #15 , I couldn't understand how the networking layer is working, and what should I change if I want to make slight modifications.
For context, I'm currently attempting to fork the project to be able to run a Prometheus (server) instance in wasm. It seems weird, but basically the goal is to try and build a browser-based Prometheus that would connect directly to programs running locally on the host.
So the main objective for me, after building a new buildroot image that embeds prometheus
instead of embedding postgres
, is to have a way for a program in the v86 image actually sending network requests to what I see as e.g. localhost:9092
. From what I understand, I need to activate the websockproxy docker image in order to escape the emulator and have meaningful network interactions with the exterior, but I don't understand where to start to modify this:
- Is the
10.5.6.133
address baked in the state of the emulator, or should I also run ifconfig to figure out the IP I should use? - Is this local IP address actually pre-written in the docker image that contains the nginx proxy?
- Does the docker image included in websockproxy subfolder actually contain a nginx reverse proxy?
- If I want to target an address that's usually accessible from the host on
localhost:9092
, what should the emulator use as an IP address to reach out to this interface? - If I want to reach the network interface of the emulator what should I do? Typically prometheus exposes an API and a web UI, the UI is reached by hitting any interface on port 9090, what IP should I put in the host browser in order to reach that UI within the emulator?
Sorry if the questions aren't clear, I can always try and make them more precise if need be.
Thanks for your time and for setting up this repo, it's been a fun ride :)