There are more and more devices with no Adobe Flash plugin support in web browser (new Android and Apple phones and tables, etc.). The aim of this project is to replace Flash testdrive in SUSE Studio with HTML5 client.

So our current implementation bases on our project from a previous Cloud workshop which uses noVNC.

The main issue is still the multiple keyboard layout conversion, but even the currently used Flash implementation has similar issues.

Our implementation is not perfect but it has some advantages over the Flash implementation for example:

   * Running on basically every device which is shipped with a modern HTML5 browser (no plugins needed)
   * Being able to enter AltGr key combinations via a button
   * Allowing umlauts if the correct keyboard layouts are used
   * Support of encrypted Testdrive connections if officially signed SSL certificates are available

I have created a pull request against Studio

The development host is http://acubens.arch.suse.de:3000/ .

Jan has created a patch against QEMU to be able to change the keyboard layout via the console instead of just using the cmd parameter.

I have pushed some changes upstream to noVNC but I am not sure if they want to use it. I need to discuss this with them since noVNC does not only target Linux.

Looking for hackers with the skills:

ruby javascript

This project is part of:

Hack Week 11

Activity

  • about 11 years ago: thardeck added keyword "ruby" to this project.
  • about 11 years ago: thardeck added keyword "javascript" to this project.
  • about 11 years ago: cschum liked this project.
  • about 11 years ago: jordimassaguerpla liked this project.
  • about 11 years ago: jdelvare liked this project.
  • about 11 years ago: dmdiss liked this project.
  • about 11 years ago: bmwiedemann liked this project.
  • about 11 years ago: thardeck joined this project.
  • about 11 years ago: JKrupa2 started this project.
  • about 11 years ago: JKrupa2 originated this project.

  • Comments

    • bmwiedemann
      about 11 years ago by bmwiedemann | Reply

      you want to look into how SUSE Cloud (via openstack-horizon) does it with noVNC using a websocket-proxy process

      • thardeck
        about 11 years ago by thardeck | Reply

        QEMU does already support Websockets with TLS encryption so we don't need the extra proxy.

    Similar Projects

    Recipes catalog and calculator in Rails 8 by gfilippetti

    My wife needs a website to catalog and sell the products of her upcoming bakery, and I need to learn and practice modern Rails. So I'm using this Hack Week to build a modern store using the latest Ruby on Rails best practices, ideally up to the deployment.

    TO DO

    • Index page
    • Product page
    • Admin area -- Supplies calculator based on orders -- Orders notification
    • Authentication
    • Payment
    • Deployment

    Day 1

    As my Rails knowledge was pretty outdated and I had 0 experience with Turbo (wich I want to use in the app), I started following a turbo-rails course. I completed 5 of 11 chapters.

    Day 2

    Continued the course until chapter 8 and added live updates & an empty state to the app. I should finish the course on day 3 and start my own project with the knowledge from it.

    Hackweek 24

    For this Hackweek I'll continue this project, focusing on a Catalog/Calculator for my wife's recipes so she can use for her Café.

    Day 1


    RMT.rs: High-Performance Registration Path for RMT using Rust by gbasso

    Description

    The SUSE Repository Mirroring Tool (RMT) is a critical component for managing software updates and subscriptions, especially for our Public Cloud Team (PCT). In a cloud environment, hundreds or even thousands of new SUSE instances (VPS/EC2) can be provisioned simultaneously. Each new instance attempts to register against an RMT server, creating a "thundering herd" scenario.

    We have observed that the current RMT server, written in Ruby, faces performance issues under this high-concurrency registration load. This can lead to request overhead, slow registration times, and outright registration failures, delaying the readiness of new cloud instances.

    This Hackweek project aims to explore a solution by re-implementing the performance-critical registration path in Rust. The goal is to leverage Rust's high performance, memory safety, and first-class concurrency handling to create an alternative registration endpoint that is fast, reliable, and can gracefully manage massive, simultaneous request spikes.

    The new Rust module will be integrated into the existing RMT Ruby application, allowing us to directly compare the performance of both implementations.

    Goals

    The primary objective is to build and benchmark a high-performance Rust-based alternative for the RMT server registration endpoint.

    Key goals for the week:

    1. Analyze & Identify: Dive into the SUSE/rmt Ruby codebase to identify and map out the exact critical path for server registration (e.g., controllers, services, database interactions).
    2. Develop in Rust: Implement a functionally equivalent version of this registration logic in Rust.
    3. Integrate: Explore and implement a method for Ruby/Rust integration to "hot-wire" the new Rust module into the RMT application. This may involve using FFI, or libraries like rb-sys or magnus.
    4. Benchmark: Create a benchmarking script (e.g., using k6, ab, or a custom tool) that simulates the high-concurrency registration load from thousands of clients.
    5. Compare & Present: Conduct a comparative performance analysis (requests per second, latency, success/error rates, CPU/memory usage) between the original Ruby path and the new Rust path. The deliverable will be this data and a summary of the findings.

    Resources

    • RMT Source Code (Ruby):
      • https://github.com/SUSE/rmt
    • RMT Documentation:
      • https://documentation.suse.com/sles/15-SP7/html/SLES-all/book-rmt.html
    • Tooling & Stacks:
      • RMT/Ruby development environment (for running the base RMT)
      • Rust development environment (rustup, cargo)
    • Potential Integration Libraries:
      • rb-sys: https://github.com/oxidize-rb/rb-sys
      • Magnus: https://github.com/matsadler/magnus
    • Benchmarking Tools:
      • k6 (https://k6.io/)
      • ab (ApacheBench)


    Kudos aka openSUSE Recognition Platform by lkocman

    Description

    I started the Kudos application shortly after Leap 16.0 to create a simple, friendly way to recognize people for their work and contributions to openSUSE. There’s so much more to our community than just submitting requests in OBS or gitea we have translations (not only in Weblate), wiki edits, forum and social media moderation, infrastructure maintenance, booth participation, talks, manual testing, openQA test suites, and more!

    Goals

    • Kudos under github.com/openSUSE/kudos with build previews aka netlify

    • Have a kudos.opensuse.org instance running in production

    • Build an easy-to-contribute recognition platform for the openSUSE communit a place where everyone can send and receive appreciation for their work, across all areas of contribution.

    • In the future, we could even explore reward options such as vouchers for t-shirts or other community swag, small tokens of appreciation to make recognition more tangible.

    Resources

    (Do not create new badge requests during hackweek, unless you'll make the badge during hackweek)