Uploaded image for project: 'OpenShift Pipelines'
  1. OpenShift Pipelines
  2. SRVKP-10487

Implement explicit Forgejo provider support in Pipelines as Code (PaC)

XMLWordPrintable

      Story (Required)

      As a Konflux/Fedora Engineer trying to onboard Fedora repositories to Konflux I want explicit Forgejo provider support in Pipelines as Code

      The Fedora project is moving toward using Forgejo in production (targeting March 2026). While Pipelines as Code (PaC) currently handles Forgejo by "pretending" it is Gitea, this creates technical debt and confusion for teams (like Build and Integration) who are currently choosing between Gitea and Forgejo SDKs. This story aims to formalize Forgejo support as a first-class provider to ensure long-term compatibility as the two platforms diverge.

      Background (Required)

      • Current State: PaC supports Forgejo via the Gitea integration. In PaC v0.41.0, the underlying Gitea integration was migrated to use the Forgejo SDK.
      • The Problem: Users currently must specify `provider: gitea` even when using a Forgejo instance. This is counter-intuitive for Fedora users and creates a migration burden later if the APIs diverge.
      • Context: There is an existing Epic (SRVKP-9663) to cut over Gitea to Forgejo. This story specifically addresses the need for an explicit `forgejo` provider alias/definition.

      Out of scope

      • Implementing features that are unique to Forgejo and not present in Gitea's current API.
      • Deprecated Gitea support entirely (backwards compatibility must be maintained).

      Approach (Required)

      • Provider Alias: Implement an alias in the PaC configuration so that `provider: forgejo` is recognized.
      • Backend Logic: Map the `forgejo` provider to the existing implementation (which already uses the Forgejo SDK as of v0.41.0).
      • Configuration: Ensure `Repository` CRDs and secret logic accept `forgejo` as a valid provider type.
      • Documentation: Update references in documentation to reflect Forgejo as a supported provider.

      Dependencies

      • Epic: Linked to SRVKP-9663 - Migration of Gitea integration to Forgejo.
      • Upstream: Requires PaC v0.41.0+ (where Forgejo SDK migration already occurred).

      Acceptance Criteria (Mandatory)

      • [ ] A user can define a `Repository` custom resource with `spec.git_provider.type: forgejo`.
      • [ ] The PaC controller correctly identifies Forgejo repositories and handles webhooks/API calls using the Forgejo SDK.
      • [ ] `provider: gitea` remains functional for backwards compatibility (effectively acting as an alias).
      • [ ] E2E tests are updated or added to verify the `forgejo` provider string works identically to the current Gitea implementation.

      INVEST Checklist

      Dependencies identified
      ( ) Blockers noted and expected delivery timelines set
      Design is implementable
      ( ) Acceptance criteria agreed upon
      ( ) Story estimated

      Legend

      ( ) Unknown
      Verified
      Unsatisfied

      Done Checklist

      • Code is completed, reviewed, documented and checked in
      • Unit and integration test automation have been delivered and running cleanly in continuous integration/staging/canary environment
      • Continuous Delivery pipeline(s) is able to proceed with new code included
      • Customer facing documentation, API docs etc. are produced/updated, reviewed and published
      • Acceptance criteria are met

              cboudjna@redhat.com Chmouel Boudjnah
              cboudjna@redhat.com Chmouel Boudjnah
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: