Skip to content

Refresh the CNCF FOSSA scan and link it from the README #4758

Closed

Description

Problem / motivation

CLOMonitor's license_scanning check fails, which holds the license section at 75 and costs about 4 points of the project score (85.95 on 2026-10-05, https://clomonitor.io/projects/cncf/cozystack). The check passes when the README links a FOSSA or Snyk project, or when a .clomonitor.yml metadata file names license_scanning.url (check docs).

The scanning exists but has gone stale. During CNCF onboarding (cncf/sandbox#351, April 2025) the cozystack repositories were quick-imported into the CNCF FOSSA instance, team 83877, with Timur Tukaev (@tym83) as Team Admin. The public FOSSA record for this repository (git+github.com/cozystack/cozystack) still reports last_analyzed_revision bdc3525, the 2025-03-31 commit of #728, and has not been updated since 2025-04-24. It describes a dependency set eighteen months old. CNCF uses these scans to find third-party licenses outside the allowlist, so a stale scan also hides what that review is meant to catch.

Proposed solution

  1. Someone with access to the CNCF FOSSA team (Timur Tukaev (@tym83), or a maintainer CNCF adds there) gets continuous analysis running again. Either enable the FOSSA GitHub integration for the imported projects so that pushes to main and release tags are analysed, or create a push-only FOSSA API key and store it as the FOSSA_API_KEY repository secret. With the secret in place, a contributor can add a small workflow that runs fossas/fossa-action (SHA-pinned, to satisfy the zizmor gate) on push to main and on tags.

  2. Once a current revision is analysed, point CLOMonitor at it. docs(readme): stop the logo filling the page and thin the badge wall #4222 deliberately thinned the README badge row, so the proposal is a root .clomonitor.yml instead of another badge:

    license_scanning:
      url: https://app.fossa.com/projects/git%2Bgithub.com%2Fcozystack%2Fcozystack
  3. Triage whatever the fresh scan flags against the CNCF allowlist. Exceptions go through the CNCF license exception process.

I can send the workflow and the .clomonitor.yml PRs once step 1 is done.

Scope check

  • This affects a single component / package (if it spans many, consider a design proposal)
  • I can describe the expected behavior concretely (if not, consider a Discussion first)

Alternatives considered

  • CNCF Snyk tenancy. CNCF offers it as an alternative, but it would mean a second onboarding when FOSSA is already set up.
  • Linking the existing FOSSA project right away. The check would pass, but the project would advertise a scan of a March 2025 tree.
  • A FOSSA badge in the README. It works the same as .clomonitor.yml for CLOMonitor, but goes against the badge trim in docs(readme): stop the logo filling the page and thin the badge wall #4222.

Additional context

Activity

  1. added
    kind/cleanupCategorizes issue or PR as related to cleanup of code, process, or technical debt
    triage/needs-triageIndicates an issue needs triage by a maintainer
    area/dependenciesDependency bumps (Renovate, go.mod); scope `deps`
    on Oct 5, 2026
  2. tym83 commented on Oct 11, 2026

    @tym83
    Collaborator

    Step 1 is done, at the org level rather than per repository.

    • The FOSSA integration is installed on the cozystack GitHub org, so no workflow or FOSSA_API_KEY secret is needed.
    • The 15 code repositories that weren't in FOSSA yet are now imported into the Cozystack team, with push webhooks created by FOSSA. Their first analysis has already run on current main.
    • The 6 projects quick-imported in April 2025 (cozystack, talm, cozy-proxy, talos-meta-tool, cozystack-telemetry-server, website) are now re-analysed daily. cozystack picks up a current revision on the next scheduled run.

    Once last_analyzed_revision for git+github.com/cozystack/cozystack moves past bdc3525, please go ahead with the .clomonitor.yml PR. Licensing findings from the fresh scan can be triaged here before we close the issue.

  3. themoriarti commented on Oct 13, 2026

    @themoriarti
    CollaboratorAuthor

    Step 2 is up as #4899: a root .clomonitor.yml pointing CLOMonitor's license_scanning check at the FOSSA project.

    The precondition is met: last_analyzed_revision for git+github.com/cozystack/cozystack is now 3a463609e (2026-10-12), with 0 unresolved licensing issues.

    One correction to the proposal above: the key is licenseScanning (camelCase), not license_scanning. CLOMonitor deserialises the file with serde rename_all = "camelCase" (metadata.rs), so the snake_case key would have been ignored silently. The PR uses the right one.

    For the triage step, according to FOSSA's public project API:

    • talm has 4 unresolved licensing issues and website has 1.
    • talos-bootstrap is still analysed at a 2025-03-10 revision. It does not appear to be among the projects switched to daily re-analysis.

    #4899 says "Refs" rather than "Closes", so this issue stays open for that triage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/dependenciesDependency bumps (Renovate, go.mod); scope `deps`kind/cleanupCategorizes issue or PR as related to cleanup of code, process, or technical debttriage/needs-triageIndicates an issue needs triage by a maintainer

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions