Skip to content

Research: Modernize search server module #9604

@rjmateus

Description

@rjmateus

Description

In order to perform a text search for systems and packages fields, Uyuni relies on a module using a very old version of lucene engine and an unsupported web framework [1].

The goal of this project is to replace the existing solution with a new module/container, with more modern technologies. In terms of technologies to use we are open to suggestions, as long as it doesn't deviate from the mains languages already in use in the project (Java, Python or Golang).

Tasks overview

  1. The main goals are to create a new module that:
  • Indexes all the needed content to perform a text search for packages and systems. As example, one of these can be used
  • Provide an API (json over HTTP) for management and run search queries
  • The module must be delivered in a container. Build a container image with the application.
  1. Auto-deploy it with the mgradm tool: https://github.com/uyuni-project/uyuni-tools

  2. Integrate the new search module in the Uyuni server, and replace the existing search feature. There are one search page for systems and another one for packages.

Languages and technologies

  • Uyuni server: Java + HTML + React (TypeScript)
  • Existing search module: Java
  • New search component: Open to discussion
  • Containers technology
  • mgradm: Golang

Next steps

Steps 2 and 3 from the task overview can be seen as the next steps and can be implemented depending on the contributor's workload and deliver speed.

Mentors

@?

[1] https://github.com/uyuni-project/uyuni/tree/master/search-server/spacewalk-search

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions