Build Service needs an openid.

Imagine following case: upstream needs an environment to reproduce build failure/ test failure, the best option would be osc co prj/pkg; osc build; osc chroot. But that requires Novell account. Having openid here will lower down the barrier.

Webui now works with Persona. API uses Devise with ichain plugin.

TODO:
*Generate token from WebUI, so we can talk to API directly *Don't generate passwords for Persona logins *Try Coolo's patches

Looking for hackers with the skills:

obs openid

This project is part of:

Hack Week 10

Activity

  • over 10 years ago: ancorgs disliked this project.
  • over 11 years ago: matejcik liked this project.
  • over 11 years ago: xnull joined this project.
  • over 11 years ago: k0da liked this project.
  • over 11 years ago: k0da started this project.
  • over 11 years ago: tampakrap liked this project.
  • over 11 years ago: ancorgs liked this project.
  • over 11 years ago: jospoortvliet liked this project.
  • over 11 years ago: bmwiedemann liked this project.
  • over 11 years ago: hennevogel liked this project.
  • over 11 years ago: k0da added keyword "obs" to this project.
  • over 11 years ago: k0da added keyword "openid" to this project.
  • over 11 years ago: k0da originated this project.

  • Comments

    • ancorgs
      over 11 years ago by ancorgs | Reply

      I would suggest to adapt OBS to use Devise [1], so you can use [2] for replacing current iChain (Novell account) login, [3] for implementing openid and A LOT of other authentication backends [4].

      [1] https://github.com/plataformatec/devise/ [2] https://github.com/openSUSE/deviseichainauthenticatable [3] https://github.com/nbudin/deviseopenidauthenticatable [4] https://github.com/search?q=devise

    • coolo
      over 11 years ago by coolo | Reply

      if your target is osc co; osc build for upstreams it would be much better to get rid of this strange limitation that you can only use the webui anonymously. Adrian is afraid that we will be overrun if we allow anonymous build, but seriously - you can do that now with an interconnect and there is no need to authentificate whatsoever.

    Similar Projects

    Git CI to automate the creation of product definition by gyribeiro

    Description

    Automate the creation of product definition

    Goals

    Create a Git CI that will:

    • automatically be triggered once a change (commit) in package list is done.
    • run tool responsible to update product definition based on the changes in package list
    • test the updated product definition in OBS
    • submit a pull request updating the product definition in the repository

    NOTE: this Git CI may also be triggered manually

    Resources

    • https://docs.gitlab.com/ee/ci/
    • https://openbuildservice.org/2021/05/31/scm-integration/
    • https://github.com/openSUSE/openSUSE-release-tools


    Fix RSpec tests in order to replace the ruby-ldap rubygem in OBS by enavarro_suse

    Description

    "LDAP mode is not official supported by OBS!". See: config/options.yml.example#L100-L102

    However, there is an RSpec file which tests LDAP mode in OBS. These tests use the ruby-ldap rubygem, mocking the results returned by a LDAP server.

    The ruby-ldap rubygem seems no longer maintaned, and also prevents from updating to a more recent Ruby version. A good alternative is to replace it with the net-ldap rubygem.

    Before replacing the ruby-ldap rubygem, we should modify the tests so the don't mock the responses of a LDAP server. Instead, we should modify the tests and run them against a real LDAP server.

    Goals

    Goals of this project:

    • Modify the RSpec tests and run them against a real LDAP server
    • Replace the net-ldap rubygem with the ruby-ldap rubygem

    Achieving the above mentioned goals will:

    • Permit upgrading OBS from Ruby 3.1 to Ruby 3.2
    • Make a step towards officially supporting LDAP in OBS.

    Resources


    Switch software-o-o to parse repomd data by hennevogel

    Currently software.opensuse.org search is using the OBS binary search for everything, even for packages inside the openSUSE distributions. Let's switch this to use repomd data from download.opensuse.org


    Explore the integration between OBS and GitHub by pdostal

    Project Description

    The goals:

    1) When GitHub pull request is created or modified the OBS project will be forked and the build results reported back to GitHub. 2) When new version of the GitHub project will be published the OBS will redownload the source and rebuild the project.

    Goal for this Hackweek

    Do as much as possible, blog about it and maybe use it another existing project.

    Resources


    Implement a full OBS api client in Rust by nbelouin

    Description

    I recently started to work on tooling for OBS using rust, to do so I started a Rust create to interact with OBS API, I only implemented a few routes/resources for what I needed. What about making it a full fledged OBS client library.

    Goals

    • Implement more routes/resources
    • Implement a test suite against the actual OBS implementation
    • Bonus: Create an osc like cli in Rust using the library

    Resources

    • https://github.com/suse-edge/obs-tools/tree/main/obs-client
    • https://api.opensuse.org/apidocs/


    OIDC Loginproxy by toe

    Description

    Reverse proxies can be a useful option to separate authentication logic from application logic. SUSE and openSUSE use "loginproxies" as an authentication layer in front of several services.

    Currently, loginproxies exist which support LDAP authentication or SAML authentication.

    Goals

    The goal of this Hack Week project is, to create another loginproxy which supports OpenID Connect authentication which can then act as a drop-in replacement for the existing LDAP or SAML loginproxies.

    Testing is intended to focus on the integration with OIDC IDPs from Okta, KanIDM and Authentik.

    Resources