Skip to content

Connect a Koji XML-RPC hub to import package/build inventory with links to Koji web pages.

Discovery does not protect Koji builds

The Sensor does not identify Koji builds. Discovery neither instruments them nor associates Sensor telemetry; builds remain unobserved and cannot contribute to Full or Partial protection.

Object Mapping

Koji objectTeam Server object
PackagePipeline
Build with no binary RPM architectureOne build
Build with binary RPM architecturesOne build per unique architecture

Source and noarch RPMs add no architecture records. For example, x86_64, aarch64, noarch, and src together produce two builds: x86_64 and aarch64.

Team Server queries builds created within Build Discovery Hours, configured under Administration > Pipeline Settings. The default is 1 hour.

Prerequisites

  • A Koji hub URL, commonly https://koji.example.com/kojihub
  • Network access from Team Server to the hub
  • Anonymous API access, or a Koji client certificate and issuing CA certificate
  • Operator or Administrator access in Team Server

Confirm hub access and certificate authentication with its administrator.

For private/reserved hub addresses, allow only the required network in settings.http.allowed_networks. Supply its CA on the integration, not in global settings.http.ca_certificates.

Credentials and Permissions

Permit read-only getAPIVersion, listPackages, listBuilds, and listRPMs. There are no PAT scopes or built-in write/admin requirements. Confirm any additional custom hub policy requirements with its administrator.

Anonymous

Use anonymous access only when the hub permits all four methods without authentication. Team Server tests the connection with getAPIVersion.

Client Certificate

For authenticated access, obtain PEMs for a dedicated read-only identity:

  • Client Certificate: a single PEM containing the client certificate chain and its private key;
  • CA Certificate: the PEM certificate or chain that issued the Koji hub’s TLS certificate.

Protect the private-key PEM. Team Server uses mutual TLS and Koji sslLogin.

Add the Integration

  1. Open Integrations > Koji in Team Server.
  2. Select Create.
  3. Enter the hub URL, including /kojihub for a standard installation.
  4. Select Anonymous or Client Certificate.
  5. For client-certificate authentication, paste both PEM values.
  6. Select Test.
  7. After the test succeeds, select Save.

Browser links replace /kojihub with /koji; verify links for nonstandard hub paths.

Schedule Discovery

Keep both jobs enabled in production.yaml:

scheduler:
  output: stdout
  jobs:
    koji_pipelines:
      run: "koji_sync mode:pipelines trigger:scheduled"
      schedule: "0 10 * * * * *"
    koji_builds:
      run: "koji_sync mode:builds trigger:scheduled"
      schedule: "0 14,29,44,59 * * * * *"

Pipeline discovery imports packages and marks packages no longer returned by Koji as retired. Build discovery imports recent builds for known package pipelines.

Manage Sync and Deletion

Use Start Sync for an immediate run. See sync controls and deletion.

Verify

  1. Wait for both discovery jobs, or run the corresponding scheduler tasks manually.
  2. Open Pipelines and confirm Koji packages appear.
  3. Open a package pipeline and confirm its recent builds and Koji links.
  4. Review Team Server application logs for Koji connectivity, authentication, or malformed-response errors.

Troubleshooting

SymptomCheck
Test fails for an internal hubAllow the exact network in settings.http.allowed_networks and confirm DNS from Team Server
Client-certificate test failsConfirm the client field contains both its certificate chain and private key, and that the CA PEM signs the hub certificate
Packages do not appearConfirm listPackages access and the koji_sync mode:pipelines trigger:scheduled schedule
Recent builds do not appearConfirm listBuilds and listRPMs access, the build state in Koji, the build-discovery schedule, and Build Discovery Hours
Links open the wrong pageUse a standard hub URL ending in /kojihub, or confirm the custom hub and web UI layout with Endura