• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

opendefensecloud / solution-arsenal / 39235294623
79%

Build:
DEFAULT BRANCH: main
Ran 19 Oct 2026 10:19AM UTC
Jobs 1
Files 100
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

19 Oct 2026 10:08AM UTC coverage: 79.483% (+0.4%) from 79.115%
39235294623

push

github

web-flow
feat(discovery)!: componentversion availability reconciliation (#869)

## What
Replaces registry-driven ComponentVersion deletion with an `Available`
condition maintained by the ComponentVersion controller.
Closes #754 

## Why
The scan was additive-only and deletion events came only from webhooks,
which can be lost. This is the first step to ensure data consistency
across solar and the bound registries, as described in ADR-15.
Availability of componentversions is now reconciled continuously, and if
a cv can reasonably be considered "missing" (grace period, only
"not-founf" errrors considered) its status is surfaced on Releases.

## Testing
- `make test`: 25 suites updated
- `make test-e2e`: deleting a tag turns the CV
`Available=False/ArtifactMissing` some small amount of time after the
deletion, the CV is not deleted, and the scan sets `spec.digest`.

## Notes for reviewers
breaking changes, PR builds on #790, which should be merged before, this
PR will stay as a draft until then.

## Checklist
- [x] Tests added/updated, or confirmed that no tests are required
- [x] No breaking changes, or upgrade path documented above
- [x] Readable commit history (squashed and cleaned up as desired)
- [ ] AI code review considered and comments resolved


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Component versions now record the full descriptor digest and report
whether the descriptor is available in its registry.
* Releases now include a renderability status that reflects the
availability of their referenced component version.
* Registry deletion events trigger availability checks instead of
deleting component versions. Missing descriptors are reported as
unavailable after a grace period.
* Helm configuration exposes the availability check interval and grace
period.

* **Documentation**
* Updated user and developer guides with availability behavior, status
details, and configuration d... (continued)

223 of 256 new or added lines in 12 files covered. (87.11%)

9 existing lines in 4 files now uncovered.

5385 of 6775 relevant lines covered (79.48%)

32.99 hits per line

Uncovered Changes

Lines Coverage ∆ File
14
78.5
0.46% pkg/controller/componentversion_controller.go
7
72.0
pkg/discovery/digest.go
4
70.59
3.92% pkg/controller/predicates.go
3
91.43
-8.57% api/solar/componentversion_rest.go
2
65.81
0.05% pkg/discovery/handler/handler.go
2
90.0
pkg/ociregistry/exists.go
1
85.98
4.89% pkg/discovery/apiwriter/apiwriter.go

Coverage Regressions

Lines Coverage ∆ File
4
78.37
0.0% pkg/controller/target_controller.go
2
71.88
-3.13% pkg/controller/registrybinding_controller.go
2
86.64
-0.43% pkg/controller/rendertask_controller.go
1
85.98
4.89% pkg/discovery/apiwriter/apiwriter.go
Jobs
ID Job ID Ran Files Coverage
1 39235294623.1 19 Oct 2026 10:19AM UTC 100
79.48
GitHub Action Run
Source Files on build 39235294623
  • Tree
  • List 100
  • Changed 15
  • Source Changed 11
  • Coverage Changed 15
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #39235294623
  • 3681d874 on github
  • Prev Build on main (#39226934676)
  • Next Build on main (#39251395475)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc