docs(governance console): generate the available controls list - #38650
Open
bi1yeu wants to merge 3 commits into
Open
docs(governance console): generate the available controls list#38650bi1yeu wants to merge 3 commits into
bi1yeu wants to merge 3 commits into
Conversation
The "All available controls" section was hand-maintained and had drifted from the control definitions: Dashboards with Low Quality Scores, Empty Log Indexes, Inactive Log Pipelines and Unscoped Application Keys were missing, "Inactive Metric Tag" should read "Inactive Metrics Tags", and "Monitors Without Team Tags" is still in development and should not have been published. Replaces the entries with a shortcode over data/governance_controls.json from websites-sources. Each section keeps its own intro prose and collapse-content wrapper, so only the control entries are generated; the shortcode is called once per usage concern. Its markup mirrors what a markdown definition list compiles to, so the entries render as they did before. Enforcement copy now reads "Enforcement: Automatically ..." rather than "Enforcement automatically ...", so the template can use the mitigation description verbatim instead of lowercasing its first character. An unrecognised usage_concern fails the build with the list of valid groups rather than silently rendering an empty section. Environment: Datadog workspace Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Contributor
Preview links (active after the
|
bi1yeu
commented
Jul 31, 2026
|
|
||
| Controls are organized by usage concern: security, cost optimization, and data hygiene. | ||
|
|
||
| <div class="alert alert-info">The controls below are generated from the Governance Console control definitions, so this list always reflects the controls that are generally available. Controls still in development are not listed.</div> |
Contributor
Author
There was a problem hiding this comment.
Remove this comment; it's an implementation detail unnecessary for the public-facing docs
Removes the alert box introducing the section as generated. How the list is produced is not something a reader needs to act on, and the page already reads as the authoritative list of available controls. Environment: Datadog workspace Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Contributor
|
data/governance_controls.json is published by websites-sources and mounted from _vendor/data at build time, like permissions.json and workflow_bundles.json. A local copy - from a preview build, say - should never be committed, since it would shadow the sourced file with stale content. Environment: Datadog workspace Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
bi1yeu
marked this pull request as ready for review
July 31, 2026 22:01
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.
AGV-1614
What
Generates the "All available controls" section of the Governance Console controls page from the control definitions, instead of maintaining it by hand.
Why
The hand-maintained list had drifted from the source of truth:
release_status: devOnce this lands, shipping a control to
prodpublishes its docs entry automatically.How
A new shortcode reads
data/governance_controls.json, published by thegovernance_controlsinvocation inddoghq/websites-sources. It is called once per usage concern, so each section keeps its own intro prose andcollapse-contentwrapper — only the control entries are generated. The markup mirrors what a markdown definition list compiles to, so the entries render as they did before.The generator publishes only controls with
release_status: prod, and only mitigations that are not feature-flagged, so everything rendered is available to every org. An unrecognisedusage_concernfails the build with the list of valid groups rather than silently rendering an empty section.Do not merge before
ddoghq/websites-sourcespublishesdata/governance_controls.json. The shortcode callserrorfwhen the data is absent, so the site build will fail. That is deliberate — a missing data file should break the build rather than silently empty the page.There is also a dd-source change (control description copy) that should deploy before this merges, otherwise the entries render without the default-parameter sentences ("The default threshold is 30 days of inactivity…"). The page is correct either way; it is just less complete until that ships.
Copy change for review
Enforcement lines now read "Enforcement: Automatically identifies and revokes…" rather than "Enforcement automatically identifies and revokes…". The colon lets the template use
mitigations[].descriptionverbatim instead of lowercasing its first character in Hugo. Happy to restore the original wording if preferred.Verification
Built against live API data (
GET /api/v2/governance/control, HTTP 200, 26 controls / 16 prod) and asserted on the rendered HTML:security/cost-optimization/data-hygienesection ids preserved🤖 Generated with Claude Code