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

stacklok / toolhive / 20867168360
50%

Build:
DEFAULT BRANCH: main
Ran 09 Jan 2026 10:19PM UTC
Jobs 1
Files 427
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

09 Jan 2026 10:17PM UTC coverage: 50.046% (+0.007%) from 50.039%
20867168360

push

github

web-flow
Improve CRD API documentation with opt-in type discovery and package disambiguation (#3232)

This PR enhances the CRD API documentation generation to:

Include types from pkg/vmcp/config, pkg/telemetry, pkg/audit, and pkg/vmcp/auth/types in the generated docs, since these are now a part of the CRD spec as a result of Simplify VMCP Configuration #3125
Use package path prefixes to disambiguate types with the same name (e.g., vmcp.config.Config vs pkg.telemetry.Config)
Use an opt-in +gendoc marker to control which types outside api/v1alpha1 are documented.
Add a test to ensure config types remain documented
Update a comment to match a manual change to the docs repo to prevent it from getting squashed.
It is strongly recommended to review this commit-by-commit. The changes below were done incrementally with the intention of being reviewing commit-by-commit.

Large PR Justification
This PR includes a small number of changes, but it touches the generated CRD docs. Consequently, the diff is large.

Motivation
The CRD API documentation previously only included types from cmd/thv-operator/api/v1alpha1. However, the VirtualMCPServerSpec references vmcp/config.Config which in turn references types from pkg/telemetry and pkg/audit. These types were not being documented, leading to broken links and incomplete documentation.

Additionally, multiple packages have types named Config, causing anchor collisions in the markdown output.

Design Choice
I don't love the amount of yaml necessary for this change, but the baseline is copied from the crd-ref-docs. Alternatives considered:
Do nothing. If we do nothing, we generate docs for internal types that happen to be in the same package. crd-ref-docs is not smart enough to walk a struct and produce only the documentation necessary.
Explicitly excluding types. Opting out will fail eventually and it will result in internal types needlessly being included in the docs. This also doesn't solve the name collision problem. The na... (continued)

29144 of 58234 relevant lines covered (50.05%)

58.03 hits per line

Jobs
ID Job ID Ran Files Coverage
1 20867168360.1 09 Jan 2026 10:19PM UTC 427
50.05
GitHub Action Run
Source Files on build 20867168360
  • Tree
  • List 427
  • Changed 6
  • Source Changed 4
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #20867168360
  • 51b37e30 on github
  • Prev Build on main (#20867030742)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc