Add unified resources catalog page at /resources - #4711
Draft
Kuxhul wants to merge 2 commits into
Draft
Conversation
Introduce a single authoritative discovery page listing every resource across Chef Infra Client and Chef InSpec, with a compatibility matrix, SEO-friendly descriptions, and links to each product's documentation. The page reuses the existing data-driven resource pipeline: it reads the canonical Chef Infra Client resource YAML (data/client/19/resources) at build time and a committed InSpec snapshot (data/resources/inspec.yaml) generated from the inspec/inspec docs. Version-specific resource pages are unchanged and continue to list only resources introduced in each release. - content/resources/_index.md: new top-level page (nav via front matter) - layouts/_default/resources_matrix.html: 4-column matrix (adapted from infra_resources_all.html) - layouts/partials/resource_short_desc.html: first-sentence descriptions - data/resources/inspec.yaml: committed InSpec resource snapshot - netlify.toml: document /resources/* redirect (non-forced; the new page is served while legacy deep links still redirect) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
✅ Deploy Preview for chef-web-docs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Contributor
There was a problem hiding this comment.
Pull request overview
This PR introduces a new top-level Resources hub at /resources/ that serves as a unified discovery/catalog page for resources across Chef Infra Client and Chef InSpec, rendering a compatibility matrix from existing Infra YAML plus a committed InSpec snapshot.
Changes:
- Adds
content/resources/_index.mdand a newresources_matrixlayout to render a unified resources compatibility matrix. - Introduces
data/resources/inspec.yamlas a snapshot-backed data source for Chef InSpec resource metadata. - Documents
/resources/*redirect behavior innetlify.tomland adds a helper partial to shorten descriptions in the matrix.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| netlify.toml | Adds documentation comments for the /resources/* redirect intended to preserve legacy deep links while serving the new hub page. |
| layouts/partials/resource_short_desc.html | New partial to derive a short (first-sentence) description for table cells. |
| layouts/_default/resources_matrix.html | New layout that merges Infra YAML and InSpec snapshot data into a unified compatibility matrix with outbound links. |
| data/resources/inspec.yaml | Adds a committed snapshot of the InSpec resource catalog (name → platform/description/deprecated). |
| content/resources/_index.md | New /resources/ content page wiring in the layout, data path, and Overview navigation entry. |
| deprecated: false | ||
| bond: | ||
| platform: "linux" | ||
| description: "Use the `bond` Chef InSpec audit resource to test a logical, bonded network interface (i.e." |
Comment on lines
+129
to
+132
| # The unified resources catalog is a real page at /resources/ (content/resources/_index.md). | ||
| # This rule is non-forced (status 301), so Netlify serves the generated /resources/index.html | ||
| # for the bare path and only applies this redirect to legacy per-resource deep links | ||
| # (for example, /resources/apt_package/), sending them to the Chef Infra Client resource page. |
…source packs - Reparent the page under the Packages & Platforms menu as 'Supported resources', matching the Supported versions and Supported platforms pages. - Fix Chef InSpec resource links: point to /inspec/7.1/resources/core/<name>/ (the pre-existing /inspec/latest/resources/ links 404 after the InSpec 7 docs restructure). Pin the version via an inspec_version variable in the layout. - Trim data/resources/inspec.yaml to the 130 Chef InSpec core resources. As of Chef InSpec 7, cloud and platform resources are no longer part of core. - Add data/resources/inspec_packs.yaml and a grouped 'Chef InSpec resource packs' table (AWS, Azure, GCP, Docker, Kubernetes, and more) that links to each pack's landing page instead of listing hundreds of individual resources. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Introduces a single, authoritative Resources discovery page at
docs.chef.io/resourcesthat lists every resource across Chef Infra Client and Chef InSpec, with a compatibility matrix, SEO-friendly descriptions, and links to each product's documentation.Today,
/resourcesis only a redirect to the Infra bundled pages, and resources are documented per product and per release with no unified view. This page provides that unified catalog without replacing the existing version-specific documentation — release pages continue to list only the resources introduced in each version.What's included
content/resources/_index.md— top-level hub, registered in the Overview nav via page front matter (same pattern asplatforms.md/versions.md; nomenu.tomlchange).layouts/_default/resources_matrix.html— adapted from the existinginfra_resources_all.html. Merges the canonical Infra resource YAML (data/client/19/resources) with a committed InSpec snapshot into one 4-column compatibility matrix (Resource | Chef Infra Client | Chef InSpec | Description). Checkmark cells link to each product's authoritative page.layouts/partials/resource_short_desc.html— trims descriptions to the first sentence so cells stay scannable and SEO-friendly.data/resources/inspec.yaml— a committed snapshot of the InSpec resource catalog (name → platform, description, deprecated), generated once frominspec/inspec. InSpec docs are deployed as a separate site and aren't built from this repo, so a snapshot is the least-coupled way to include them.netlify.toml— documents the/resources/*redirect. It's non-forced (301), so Netlify serves the generated/resources/index.htmlfor the hub while legacy per-resource deep links (for example/resources/apt_package/) still redirect to the Infra resource page.Data of record
Chef Infra Client resources: 181 · Chef InSpec resources: 407 · Supported by both: 16 · Total catalog: 572.
Design rationale
Validation
raw HTML omitted/ZgotmplZ.markdownlint-cli2: 0 issues.vale --minAlertLevel warning: 0 errors/warnings.hugo_lint.shASCII rule: new content and data files are ASCII-clean.Reviewer notes
netlify.tomlredirect. Behavior relies on Netlify's file-precedence for non-forced redirects. Please confirm on a deploy preview that/resources/renders the new page and/resources/apt_package/still redirects.data/resources/inspec.yamlfor the source and how to regenerate.Intentionally out of scope (follow-ups)