-
Notifications
You must be signed in to change notification settings - Fork 693
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
“Try Valkey” - An In-Browser Valkey Server and CLI #1412
Comments
@valkey-io/core-team + @stockholmux this projects is aiming at introducing a great utility to be used in our website, but having it automatically generating images for web embedding for each release is also planned. can you take a look (and please play with the linked demo, it is sooooo cool :) ) and provide your feedback? |
🌩️ |
This is incredible! Let's put it on the start page of the website! 🍭 Automated builds can come later. |
😍 This is pretty slick. I did get a sneak peak at the proof of concept and this has progressed extremely fast from that, especially with the UI/UX which is now totally usable. A few questions @zarkash-aws and @ranshid:
One minor nit we'll need to clear up - looks like it's installing some cookies. I suspect these are from CDN assets or something but we've tried to keep valkey.io a cookie-free zone (for GDPR and other reasons). We'll also need to document this tool well because I'm sure it has hundreds of uses. |
It is an amazing web demo, I like to play it, but I have 2 small questions:
Anyway, great work Thanks |
Just a comment on this. We try to avoid cookies, but if the demo needs it, we can just mention that in the "press any key to start" message, that you consent by using it. GDPR doesn't require an annoying banner for legitimate cookies required for the functionality (such as login session cookie when a user logs in). The annoying banner is just for illegitimate activities like user tracking. |
The project we are building on currently only supports X86 as it emulates a PENTIUM 4 cpu using WASM and not WASM64. AFAIK there are no current plans by the project owners to support 64bit emulator, but that is something we can look for in the future.
That was just for the demo. IMO in the future we will create automation to release new image with every valkey version release, much like the process we take for containers release.
Currently we only created a single client. It is possible to create multiple clients and have them run on different tty's I suppose, but we will have to check that.
Since this emulator runs OS (Alpine in this case) it is possible to run any tool we want which would operate on this 32bit OS (ubuntu is also possible). However I do not think this is meant for performance benchmarking but mainly as a sandbox to experience with new featuresand commands.
Yes. CTRL-C currently also bring down the server. we will have to fix that (it pains me when testing subscribe in-and-out mode). @zarkash-aws lets manage an open issues list in the top comment. |
My browser was killed by the OS because it was consuming too much memory over several hours. I had the the "try valkey" in a tab. Is it eating memory? If it does, then perhaps we should make it shut down automatically if it's idle for a long time, like hours. |
Thanks!!
|
@zuiderkwast which browser did you use? for example my chrome can basically consume so much memory doing nothing my computer sometimes go into SWAP :) |
Firefox. Maybe I have swap disabled, I don't know. :D It might be another tab that consumed memory. I have no proof. |
@zarkash-aws lets take this action item - sounds important to handle if correct |
@ranshid We discussed on another thread, but I think the next step is to move this project to its own repo that uploads it to our asset s3 bucket (you can talk to @roshkhatri who set it up for this repo) and then open a PR with rendering the site on the main website. Do you have any concerns with that? |
Correct this is currently the effort @zarkash-aws is working on |
Abstract:
This proposal introduces a web-based environment for Valkey customers to interact with Valkey-CLI’s commands. The project aims to provide an intuitive and interactive platform for exploring Valkey's functionalities without requiring local setup or additional server infrastructure.
Motivation:
New users often prefer to evaluate a tool before committing to a full download and installation, but setting up a local environment or server infrastructure for testing can be complex and time-consuming. This feature aims to solve this by providing an easy-to-use, in-browser Valkey CLI that requires no local setup, enabling users to quickly explore Valkey’s capabilities. By lowering the entry barrier, this solution will encourage more users to try Valkey and ultimately increase adoption.
Design Considerations:
We aimed for the project to meet the following design considerations:
Specification:
The proposed solution leverages a v86 virtual machine (VM) that operates entirely within the web browser. This approach is designed to be lightweight, flexible, and entirely self-contained.
Try it out: https://zarkash-aws.github.io/try-valkey.github.io/
In-Browser Execution
Preconfigured VM Image
The VM's reliance on a preconfigured image allows for a variety of flexible configurations:
UX/UI:
Other Alternatives We’ve Considered:
Workflows:
To keep the in-browser environment up to date with new versions of Valkey, we plan to automate the image creation whenever a new Valkey version is released. This can be achieved similarly to how Docker images are updated. When a new major, minor, or patch release of Valkey is available, the release workflow will automatically trigger the creation of a new VM image. This process will follow a pattern similar to the Docker update, where the relevant commits are merged, and versioning information is updated. Once the new version is released, the workflow will automatically trigger the creation of a new VM image, which will include the updated Valkey server and CLI. The image will then be compressed, and made available for use in the web-based environment, ensuring that the latest version of Valkey is ready for users in the browser.
Open Issues:
The text was updated successfully, but these errors were encountered: