feat(examples): Introduce Chromium CDP#151
Open
razvand wants to merge 4 commits into
Open
Conversation
e1b1e5b to
7ba0200
Compare
Introduce Chromium running as a browser service using CDP (Chrome DevTools Protocol). It uses Node Playwright to start the browser and the Node `http-proxy` module to proxy websocket communication. Add: * `Kraftfile`: build / run rules * `Dockerfile`: placeholder to extract the filesystem * `package.json` / `package-lock.json`: Node package requirements * `server.js`: Node-based websocket proxy * `wrapper.sh`: helper script to start the Node proxy service (and the browser) * `README.md`: document how to use * `.dockerignore` / `.gitignore`: ignore generated files * `test/`: CDP test client (in Python using Playwright) Signed-off-by: Razvan Deaconescu <razvand@unikraft.io>
7ba0200 to
5792db8
Compare
Introduce an echo-reply WebSocket server to be deployed on Unikraft Cloud with Node. It uses the `node:21` image. Add: * `Kraftfile`: build / run rules * `Dockerfile`: placeholder to extract the filesystem * `package.json` / `package-lock.json`: NPM configuration file * `server.js`: implementation of Node WebSocket server * `README.md`: document how to use * `.dockerignore` / `.gitignore`: ignore generated files * workflow files in `../.github/workflows/` Update top-level `README.md` to feature the example. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io>
Install `wscat` globally using `npm install -g wscat`, as instructed: https://www.npmjs.com/package/wscat Signed-off-by: Razvan Deaconescu <razvand@unikraft.io>
Use `websocat` instead of `wscat` as the WebSocket client, as it can be used non-interactively. Signed-off-by: Razvan Deaconescu <razvand@unikraft.io>
Contributor
|
@razvand can you rebase this just in case so I can get to reviewing? I can see that the tests failed but those were because of the missing token and/or metro on the fork. If that is the case, we can merge and see afterwards if tests pass |
This file contains hidden or 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
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.
Introduce Chromium running as a browser service using CDP (Chrome DevTools Protocol). It uses Node Playwright to start the browser and the Node
http-proxymodule to proxy websocket communication.Add:
Kraftfile: build / run rulesDockerfile: placeholder to extract the filesystempackage.json/package-lock.json: Node package requirementsproxy.js: Node-based websocket proxywrapper.sh: helper script to start the Node proxy service (and the browser)README.md: document how to use.dockerignore/.gitignore: ignore generated filestest/: CDP test client (in Python using Playwright)