About OBS Git Explorer

Overview

OBS Git Explorer is a lightweight web interface for the Open Build Service (OBS), focusing on git-managed sources in gitea and providing a modern, streamlined experience for package development workflows.

Key Features

Git-Centric Approach

This interface emphasizes a package-centric approach for git-based packages. It seamlessly integrates with Gitea to show repository details, branches, commits, and build status for packages synchronized from git repositories.

While the interface excels with git-managed packages, you can also browse legacy OBS projects that use traditional source handling. Note that functionality for these legacy projects is limited, as the focus is on modern git-based workflows. However, it may be useful for build result browsing.

Search and Browse Build Results

The interface is designed to make it easy to search and browse build results across projects, repositories, and architectures. The monitor page provides real-time build status updates with efficient filtering and search capabilities.

Read-Only Access

The OBS Git Explorer is read-only by design. It can be used with any web browser or HTTP client that doesn't attempt modifications. This makes it safe for browsing, monitoring, and analysis without risk of accidental changes.

Optimized for Anonymous Access

The OBS Git Explorer is specifically optimized to provide anonymous access without putting excessive load on backend services:

  • Multi-Layer Caching: Intelligent caching reduces repeated backend queries
  • Redis Integration: Optional Redis backend provides 50-100x faster build result queries with live updates
  • Rate Limiting: Optional rate limiting protects API and OBS proxy endpoints from DoS attacks
  • Efficient Queries: Server-side filtering and optimized queries minimize data transfer

This architecture allows the interface to serve many users simultaneously while minimizing the impact on Gitea and OBS backend infrastructure.

Deployment Options

Default Configuration

By default, the interface connects to the official openSUSE OBS instance at api.opensuse.org, making it immediately useful for openSUSE development.

Local Deployment

The interface can be run locally on your machine and configured to connect to any OBS API endpoint. This is perfect for:

  • Development and testing workflows
  • Connecting to custom OBS instances
  • Private or internal build services
  • Offline work with local OBS backends

Authentication Options

The interface supports multiple authentication methods for accessing OBS backends and Gitea repositories:

  • Direct Backend Access: Anonymous/unauthenticated access to public OBS instances (default)
  • HTTP Basic Authentication: Username and password credentials for OBS backend access
  • OSC Cookie: Automatically read authentication cookie from ~/.local/state/osc/cookiejar
  • SSH Signature Authentication: SSH key-based authentication (like osc) for supported OBS instances
  • Gitea Token: Personal access token for private Gitea repositories and increased rate limits

All authentication methods are configured via the config.ini file or command-line arguments. See the project documentation for detailed configuration instructions.

Local OBS Backend

If you have a local OBS instance running, the interface can connect directly to it, providing the same intuitive git-centric experience for your local build infrastructure.

Use Cases

  • Package Maintainers: Monitor build status across multiple repositories and architectures
  • Developers: Track git-synchronized packages and their build results
  • Release Managers: Get an overview of project health and build failures
  • Contributors: Browse packages and understand build dependencies
  • CI/CD Integration: Read-only API access for automation and monitoring

Technical Details

Gitea Integration: https://src.opensuse.org (pool organization)
Redis Cache: Enabled (Connected)
Build results are cached in Redis for faster queries and reduced OBS backend load.

Documentation & Source Code: For configuration options, deployment guides, and advanced usage, please refer to the project repository:
https://src.opensuse.org/adrianSuSE/obs-git-explorer

API Documentation: For programmatic access to build results and file search, see the API Documentation
Loading...
Loading project...
Fetching build results from OBS backend