Motivation: You know a particular function name and would like to know which package(s) it comes from.

Approximation: It is possible to search in code on Github hoping for a match in upstream repo not being too far from our distro.

We already have all packages stored (and versioned too) in OBS however OBS cannot search in the package contents. There exists Debian codesearch which fulfills the primary motivation for this.

Goal: setup internally available instance of Code search for SLE codebase and hook it to stay up to date with IBS updates.

**Stretch goal:** second instance for openSUSE (assuming the first is easier to coordinate in Hackweek timeframe).

Stretch goal: make it maintenance-less (to survive even without too much care).

Related

SLE kernel source browser

Looking for hackers with the skills:

indexer infra obs go

This project is part of:

Hack Week 18

Activity

  • over 6 years ago: barendartchuk liked this project.
  • over 6 years ago: ematsumiya liked this project.
  • over 6 years ago: jbrielmaier liked this project.
  • over 6 years ago: mkoutny added keyword "go" to this project.
  • over 6 years ago: mkoutny added keyword "obs" to this project.
  • over 6 years ago: mkoutny added keyword "indexer" to this project.
  • over 6 years ago: mkoutny added keyword "infra" to this project.
  • over 6 years ago: mkoutny originated this project.

  • Comments

    • mkraus
      over 6 years ago by mkraus | Reply

      FYI, there used to be a code-search.suse.de (source code). From my understanding it had some issues though, and nobody working on it anymore, so it finally got shut down this year. It still might be useful as a basis though, or at least Victor might have some insights on pitfalls to avoid this time.

    • mkoutny
      over 4 years ago by mkoutny | Reply

      TIL about https://code.opensuse.org/

      • git export of OBS packages, i.e. it tracks metafiles
      • it seems not all TW packages are there (e.g. missing systemd)
      • experimental project from bwiedemann

    Similar Projects

    A CLI for Harvester by mohamed.belgaied

    Harvester does not officially come with a CLI tool, the user is supposed to interact with Harvester mostly through the UI. Though it is theoretically possible to use kubectl to interact with Harvester, the manipulation of Kubevirt YAML objects is absolutely not user friendly. Inspired by tools like multipass from Canonical to easily and rapidly create one of multiple VMs, I began the development of Harvester CLI. Currently, it works but Harvester CLI needs some love to be up-to-date with Harvester v1.0.2 and needs some bug fixes and improvements as well.

    Project Description

    Harvester CLI is a command line interface tool written in Go, designed to simplify interfacing with a Harvester cluster as a user. It is especially useful for testing purposes as you can easily and rapidly create VMs in Harvester by providing a simple command such as: harvester vm create my-vm --count 5 to create 5 VMs named my-vm-01 to my-vm-05.

    asciicast

    Harvester CLI is functional but needs a number of improvements: up-to-date functionality with Harvester v1.0.2 (some minor issues right now), modifying the default behaviour to create an opensuse VM instead of an ubuntu VM, solve some bugs, etc.

    Github Repo for Harvester CLI: https://github.com/belgaied2/harvester-cli

    Done in previous Hackweeks

    • Create a Github actions pipeline to automatically integrate Harvester CLI to Homebrew repositories: DONE
    • Automatically package Harvester CLI for OpenSUSE / Redhat RPMs or DEBs: DONE

    Goal for this Hackweek

    The goal for this Hackweek is to bring Harvester CLI up-to-speed with latest Harvester versions (v1.3.X and v1.4.X), and improve the code quality as well as implement some simple features and bug fixes.

    Some nice additions might be: * Improve handling of namespaced objects * Add features, such as network management or Load Balancer creation ? * Add more unit tests and, why not, e2e tests * Improve CI * Improve the overall code quality * Test the program and create issues for it

    Issue list is here: https://github.com/belgaied2/harvester-cli/issues

    Resources

    The project is written in Go, and using client-go the Kubernetes Go Client libraries to communicate with the Harvester API (which is Kubernetes in fact). Welcome contributions are:

    • Testing it and creating issues
    • Documentation
    • Go code improvement

    What you might learn

    Harvester CLI might be interesting to you if you want to learn more about:

    • GitHub Actions
    • Harvester as a SUSE Product
    • Go programming language
    • Kubernetes API
    • Kubevirt API objects (Manipulating VMs and VM Configuration in Kubernetes using Kubevirt)


    Cluster API Provider for Harvester by rcase

    Project Description

    The Cluster API "infrastructure provider" for Harvester, also named CAPHV, makes it possible to use Harvester with Cluster API. This enables people and organisations to create Kubernetes clusters running on VMs created by Harvester using a declarative spec.

    The project has been bootstrapped in HackWeek 23, and its code is available here.

    Work done in HackWeek 2023

    • Have a early working version of the provider available on Rancher Sandbox : *DONE *
    • Demonstrated the created cluster can be imported using Rancher Turtles: DONE
    • Stretch goal - demonstrate using the new provider with CAPRKE2: DONE and the templates are available on the repo

    DONE in HackWeek 24:

    DONE in 2025 (out of Hackweek)

    • Support of ClusterClass
    • Add to clusterctl community providers, you can add it directly with clusterctl
    • Testing on newer versions of Harvester v1.4.X and v1.5.X
    • Support for clusterctl generate cluster ...
    • Improve Status Conditions to reflect current state of Infrastructure
    • Improve CI (some bugs for release creation)

    Goals for HackWeek 2025

    • FIRST and FOREMOST, any topic is important to you
    • Add e2e testing
    • Certify the provider for Rancher Turtles
    • Add Machine pool labeling
    • Add PCI-e passthrough capabilities.
    • Other improvement suggestions are welcome!

    Thanks to @isim and Dominic Giebert for their contributions!

    Resources

    Looking for help from anyone interested in Cluster API (CAPI) or who wants to learn more about Harvester.

    This will be an infrastructure provider for Cluster API. Some background reading for the CAPI aspect: