For events like engineering summit or hackweeks, it would be nice to have a SUSE instance of workadventu.re, and have our own maps, wired with (open)SUSE's jitsi!

I am looking for folks willing to help on those 3 teams:

  • Hosting workadventure (before and seeing it how it scales during hackweek)
  • Integrating with our other tools (rocket chat, jitsi)
  • Building maps.

What does it involve:

  • contribute to workadventu.re upstream code (fixing self-hosting issues first, improving features like "interactions", management API, documentation)
  • integrate with different teams at SUSE to make it official
  • build maps using tiled
  • Enjoy the workadventure instance at SUSE!

We are syncing on rocket chat, channel #workadventure-at-suse. Don't hesitate to join us!

The idea for this project would be to prepare the hackweek by working on the hosting and the maps, then see how it scales during hackweek. We'll need your help not only to build but also to TEST and USE it during hackweek. Have fun with us!

Looking for hackers with the skills:

kubernetes nodejs social k3s

This project is part of:

Hack Week 20

Activity

  • almost 4 years ago: jevrard added keyword "k3s" to this project.
  • almost 4 years ago: jevrard added keyword "social" to this project.
  • almost 4 years ago: jevrard added keyword "kubernetes" to this project.
  • almost 4 years ago: jevrard added keyword "nodejs" to this project.
  • almost 4 years ago: lcaparroz liked this project.
  • almost 4 years ago: rsimai liked this project.
  • almost 4 years ago: digitaltomm left this project.
  • almost 4 years ago: dleidi liked this project.
  • almost 4 years ago: AZhou liked this project.
  • almost 4 years ago: kstreitova joined this project.
  • almost 4 years ago: asettle liked this project.
  • almost 4 years ago: dgedon liked this project.
  • almost 4 years ago: pagarcia liked this project.
  • almost 4 years ago: lnussel liked this project.
  • almost 4 years ago: ybonatakis joined this project.
  • almost 4 years ago: ybonatakis liked this project.
  • almost 4 years ago: mlnoga liked this project.
  • almost 4 years ago: kstreitova liked this project.
  • almost 4 years ago: rbueker joined this project.
  • almost 4 years ago: dancermak liked this project.
  • almost 4 years ago: dfaggioli liked this project.
  • almost 4 years ago: fos liked this project.
  • almost 4 years ago: hennevogel liked this project.
  • almost 4 years ago: digitaltomm joined this project.
  • almost 4 years ago: digitaltomm left this project.
  • All Activity

    Comments

    • digitaltomm
      almost 4 years ago by digitaltomm | Reply

      I'd like to help integrating the office maps that we created, for example: http://geekos.prv.suse.net/locations/NUE

      • jevrard
        almost 4 years ago by jevrard | Reply

        Awesome @digitaltomm ! We are building a crew that helps on this, feel free to join us in our chats on RC! #workadventure-at-suse

    • mlnoga
      almost 4 years ago by mlnoga | Reply

      @SaraStephens has a somewhat related HackWeek idea of creating a game for SUSECon. Please be introduced.

    • jevrard
      almost 4 years ago by jevrard | Reply

      Hello everyone! This hackweek idea is progressing! If you want to participate, don't hesitate to join our rocket chat channel, or contact us here!

    • dleidi
      almost 4 years ago by dleidi | Reply

      In case of need for more inspiration, I am aware of this instead gather.town

      • jevrard
        almost 4 years ago by jevrard | Reply

        gather.town is not open source! :(

        • jevrard
          almost 4 years ago by jevrard | Reply

          It's still a good inspiration :) @dleidi do you have something particular in mind?

          • dleidi
            almost 4 years ago by dleidi | Reply

            I like the idea of feeling to be in the same office even if you are not. In these days where we are all remotes, there are people missing human interaction (not me though, I've always been remote, but still I am aware of this common feeling), and those guys are used to standup, go to the desk of the colleague, and ask questions or do some jokes. Of course this is not meant to "interrupt other while working", but more in the mood of acting in the same way office workers are used to. Like feeling we are back in the University study room or so :) , or even for huge meeging like workshops or kickoff: you could have an office with multiple rooms where someone is having conversations/presentations, and you can join just by passing by, more for brainstorming and sharing ideas every now and then, without the need of turning the audio on and off manually everytime or re-joining mumble rooms or Teams having meeting links or so, if you know what I mean. Imagine hackweek (just to name one) where everyone is at home: such a visual room/office would help feeling closer and having fun together, instead of alone. Just my 2c

        • dleidi
          almost 4 years ago by dleidi | Reply

          Yeah, that's a shame, I know :/

    Similar Projects

    Harvester Packer Plugin by mrohrich

    Description

    Hashicorp Packer is an automation tool that allows automatic customized VM image builds - assuming the user has a virtualization tool at their disposal. To make use of Harvester as such a virtualization tool a plugin for Packer needs to be written. With this plugin users could make use of their Harvester cluster to build customized VM images, something they likely want to do if they have a Harvester cluster.

    Goals

    Write a Packer plugin bridging the gap between Harvester and Packer. Users should be able to create customized VM images using Packer and Harvester with no need to utilize another virtualization platform.

    Resources

    Hashicorp documentation for building custom plugins for Packer https://developer.hashicorp.com/packer/docs/plugins/creation/custom-builders

    Source repository of the Harvester Packer plugin https://github.com/m-ildefons/harvester-packer-plugin


    Multi-pod, autoscalable Elixir application in Kubernetes using K8s resources by socon

    Description

    Elixir / Erlang use their own solutions to create clusters that work together. Kubernetes provide its own orchestration. Due to the nature of the BEAM, it looks a very promising technology for applications that run in Kubernetes and requite to be always on, specifically if they are created as web pages using Phoenix.

    Goals

    • Investigate and provide solutions that work in Phoenix LiveView using Kubernetes resources, so a multi-pod application can be used
    • Provide an end to end example that creates and deploy a container from source code.

    Resources

    https://github.com/dwyl/phoenix-liveview-counter-tutorial https://github.com/propedeutica/elixir-k8s-counter


    Setup Kanidm as OIDC provider on Kubernetes by jkuzilek

    Description

    I am planning to upgrade my homelab Kubernetes cluster to the next level and need an OIDC provider for my services, including K8s itself.

    Goals

    • Successfully configure and deploy Kanidm on homelab cluster
    • Integrate with K8s auth
    • Integrate with other services (Envoy Gateway, Container Registry, future deployment of Forgejo?)

    Resources


    kubectl clone: Seamlessly Clone Kubernetes Resources Across Multiple Rancher Clusters and Projects by dpunia

    Description

    kubectl clone is a kubectl plugin that empowers users to clone Kubernetes resources across multiple clusters and projects managed by Rancher. It simplifies the process of duplicating resources from one cluster to another or within different namespaces and projects, with optional on-the-fly modifications. This tool enhances multi-cluster resource management, making it invaluable for environments where Rancher orchestrates numerous Kubernetes clusters.

    Goals

    1. Seamless Multi-Cluster Cloning
      • Clone Kubernetes resources across clusters/projects with one command.
      • Simplifies management, reduces operational effort.

    Resources

    1. Rancher & Kubernetes Docs

      • Rancher API, Cluster Management, Kubernetes client libraries.
    2. Development Tools

      • Kubectl plugin docs, Go programming resources.

    Building and Installing the Plugin

    1. Set Environment Variables: Export the Rancher URL and API token:
    • export RANCHER_URL="https://rancher.example.com"
    • export RANCHER_TOKEN="token-xxxxx:xxxxxxxxxxxxxxxxxxxx"
    1. Build the Plugin: Compile the Go program:
    • go build -o kubectl-clone ./pkg/
    1. Install the Plugin: Move the executable to a directory in your PATH:
    • mv kubectl-clone /usr/local/bin/

    Ensure the file is executable:

    • chmod +x /usr/local/bin/kubectl-clone
    1. Verify the Plugin Installation: Test the plugin by running:
    • kubectl clone --help

    You should see the usage information for the kubectl-clone plugin.

    Usage Examples

    1. Clone a Deployment from One Cluster to Another:
    • kubectl clone --source-cluster c-abc123 --type deployment --name nginx-deployment --target-cluster c-def456 --new-name nginx-deployment-clone
    1. Clone a Service into Another Namespace and Modify Labels:


    Technical talks at universities by agamez

    Description

    This project aims to empower the next generation of tech professionals by offering hands-on workshops on containerization and Kubernetes, with a strong focus on open-source technologies. By providing practical experience with these cutting-edge tools and fostering a deep understanding of open-source principles, we aim to bridge the gap between academia and industry.

    For now, the scope is limited to Spanish universities, since we already have the contacts and have started some conversations.

    Goals

    • Technical Skill Development: equip students with the fundamental knowledge and skills to build, deploy, and manage containerized applications using open-source tools like Kubernetes.
    • Open-Source Mindset: foster a passion for open-source software, encouraging students to contribute to open-source projects and collaborate with the global developer community.
    • Career Readiness: prepare students for industry-relevant roles by exposing them to real-world use cases, best practices, and open-source in companies.

    Resources

    • Instructors: experienced open-source professionals with deep knowledge of containerization and Kubernetes.
    • SUSE Expertise: leverage SUSE's expertise in open-source technologies to provide insights into industry trends and best practices.


    obs-service-vendor_node_modules by cdimonaco

    Description

    When building a javascript package for obs, one option is to use https://github.com/openSUSE/obs-service-node_modules as source service to get the project npm dependencies available for package bulding.

    obs-service-vendornodemodules aims to be a source service that vendors npm dependencies, installing them with npm install (optionally only production ones) and then creating a tar package of the installed dependencies.

    The tar will be used as source in the package building definitions.

    Goals

    • Create an obs service package that vendors the npm dependencies as tar archive.
    • Maybe add some macros to unpack the vendor package in the specfiles

    Resources


    ClusterOps - Easily install and manage your personal kubernetes cluster by andreabenini

    Description

    ClusterOps is a Kubernetes installer and operator designed to streamline the initial configuration and ongoing maintenance of kubernetes clusters. The focus of this project is primarily on personal or local installations. However, the goal is to expand its use to encompass all installations of Kubernetes for local development purposes.
    It simplifies cluster management by automating tasks and providing just one user-friendly YAML-based configuration config.yml.

    Overview

    • Simplified Configuration: Define your desired cluster state in a simple YAML file, and ClusterOps will handle the rest.
    • Automated Setup: Automates initial cluster configuration, including network settings, storage provisioning, special requirements (for example GPUs) and essential components installation.
    • Ongoing Maintenance: Performs routine maintenance tasks such as upgrades, security updates, and resource monitoring.
    • Extensibility: Easily extend functionality with custom plugins and configurations.
    • Self-Healing: Detects and recovers from common cluster issues, ensuring stability, idempotence and reliability. Same operation can be performed multiple times without changing the result.
    • Discreet: It works only on what it knows, if you are manually configuring parts of your kubernetes and this configuration does not interfere with it you can happily continue to work on several parts and use this tool only for what is needed.

    Features

    • distribution and engine independence. Install your favorite kubernetes engine with your package manager, execute one script and you'll have a complete working environment at your disposal.
    • Basic config approach. One single config.yml file with configuration requirements (add/remove features): human readable, plain and simple. All fancy configs managed automatically (ingress, balancers, services, proxy, ...).
    • Local Builtin ContainerHub. The default installation provides a fully configured ContainerHub available locally along with the kubernetes installation. This configuration allows the user to build, upload and deploy custom container images as they were provided from external sources. Internet public sources are still available but local development can be kept in this localhost server. Builtin ClusterOps operator will be fetched from this ContainerHub registry too.
    • Kubernetes official dashboard installed as a plugin, others planned too (k9s for example).
    • Kubevirt plugin installed and properly configured. Unleash the power of classic virtualization (KVM+QEMU) on top of Kubernetes and manage your entire system from there, libvirtd and virsh libs are required.
    • One operator to rule them all. The installation script configures your machine automatically during installation and adds one kubernetes operator to manage your local cluster. From there the operator takes care of the cluster on your behalf.
    • Clean installation and removal. Just test it, when you are done just use the same program to uninstall everything without leaving configs (or pods) behind.

    Planned features (Wishlist / TODOs)

    • Containerized Data Importer (CDI). Persistent storage management add-on for Kubernetes to provide a declarative way of building and importing Virtual Machine Disks on PVCs for