[DOCS-15189] WP: structural and routing fixes (nav, redirects, dead pages) - #38528
Open
drichards-87 wants to merge 12 commits into
Open
[DOCS-15189] WP: structural and routing fixes (nav, redirects, dead pages)#38528drichards-87 wants to merge 12 commits into
drichards-87 wants to merge 12 commits into
Conversation
Contributor
Contributor
|
drichards-87
marked this pull request as ready for review
July 29, 2026 22:18
theop-dd
approved these changes
Jul 30, 2026
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.
What does this PR do? What is the motivation?
Follow-up to #38502, targeting the Workload Protection revamp branch.
Structure and routing only. No new explanations, no rewritten prose. Every change is a moved
page, a redirect, a nav entry, a deleted duplicate, or a repointed link.
Items marked ✅ were confirmed with the Workload Protection team.
Summary
getting_started/section tosetup/Detection Rulesentry for the whole Security section1.
getting_started/→setup/Every other security product calls this section Setup, and so did Workload Protection before
the revamp:
master/getting_started/security/is also a separate site-level section, so reusing that name inside aproduct is ambiguous.
What moved:
_index,advanced_configuration,docker,ecs_ec2,fargate,kubernetes,linux_ebpf,windows— 8 pages, moved withgit mvso history is preserved.What was updated to match: the nav label, 15 nav identifiers, 8 nav URLs, 26 inbound links,
and the 3 install-tile partials in
layouts/partials/workload-protection/.2. Navigation
Workload Protectiontop-level items, and 4 duplicate identifiers:workload_protection,workload_protection_inventory,workload_protection_guides,workload_protection_troubleshootingDetection Rulesmissing site-wide/security/detection_rules/had been dropped, taking identifiersecurity_ruleswith it. The page still exists but had no sidebar entry for any security product, and itsOOTB Ruleschild was left parentless.master.OOTB Rulesorphanedworkload_protection_workload_security_rules, which no longer existsmasterhas 0 duplicate identifiers and 0 orphaned parents. This branch had 4 and 2. Both are now 0.3. Redirects
Every URL that is live today still resolves after this merges. 17 URLs are removed by the branch; all 17 redirect.
Two are easy to miss, because deleting a single page drops two URLs — the page plus an older
alias it was carrying:
guide/eBPF-free-agentalso carried/security/cloud_security_management/guide/ebpf-free-agentworkload_security_rules/carried 3 older aliases;custom_rulescarried 1Full redirect map (17)
/security/cloud_security_management/guide/active-protection/security/workload_protection/respond_and_report//security/workload_protection/guide/active-protection/security/workload_protection/respond_and_report//security/workload_protection/guide/eBPF-free-agent/security/workload_protection/setup//security/workload_protection/inventory/coverage_map/security/workload_protection/inventory/coverage/security/workload_protection/investigate_agent_events/security/workload_protection/investigate_and_triage/agent_events/security/workload_protection/secl_auth_guide/security/workload_protection/detect_and_monitor/agent_rules/secl_guide/security/workload_protection/security_signals/security/workload_protection/investigate_and_triage/security_signals//security/workload_protection/setup/agent/security/workload_protection/setup//security/workload_protection/setup/agent/docker/security/workload_protection/setup/docker/security/workload_protection/setup/agent/ecs_ec2/security/workload_protection/setup/ecs_ec2/security/workload_protection/setup/agent/kubernetes/security/workload_protection/setup/kubernetes/security/workload_protection/setup/agent/linux/security/workload_protection/setup/linux_ebpf/security/workload_protection/setup/agent/windows/security/workload_protection/setup/windows/security/workload_protection/setup/agent_variables/security/workload_protection/setup/advanced_configuration/security/workload_protection/setup/ootb_rules/security/workload_protection/detect_and_monitor/detection_rules/security/workload_protection/workload_security_rules/security/workload_protection/detect_and_monitor//security/workload_protection/workload_security_rules/custom_rules/security/workload_protection/detect_and_monitor/agent_rules/policy_management6 redirects removed. Four pointed at paths that only ever existed on this branch, left over
from in-branch renames:
respond_and_report/active_protection,automated_response,response,and
remediation. Theresponseone was shadowing a real page — see §4. The other two,inventory/hosts_and_containersandinventory/serverless, were shadowing live pages — see §5.Every alias remaining in Workload Protection now maps to a URL that is live on
master.4. Deleted pages
respond_and_report/response.md✅## Responsesection.workload_security_rules/_index.mddetect_and_monitor/, which covers the same pipeline, "Saving resources by design", and Agent-expression examplesdetect_and_monitor/workload_security_rules/custom_rules.mdagent_rules/policy_management(policies, tags, deployment) anddetection_rules(rule creation)agent_rules/policy_managementsetup/ootb_rules.mddetection_rules.md.detect_and_monitor/detection_rulesinventory/coverage_map.mdinventory/coveragesecurity/threats/agent.mdOn
security/threats/agent.md: it carried the<!-- SOURCED FROM ... datadog-agent -->markerthat the build inserts into pulled files, and described the product as "CSM Threats". An alias on
workload_protection/_index.mdalready claimed its URL, so it never published.Links retargeted (8), 3 of them outside Workload Protection:
security/_index.md,security/detection_rules/_index.md,security/threats/agent.md,cloud_security_management/guide/custom-rules-guidelines.md,cloud_security_management/guide/identify-unauthorized-anomalous-procs.md, andinvestigate_and_triage/agent_events.md. One pointed at?tab=host#create-custom-rules, ananchor that does not exist on
mastereither.5. Hosts and Containers and Serverless restored ✅
Both are still live views in the product. On this branch,
inventory/_index.mddeclared aliasesfor both of their URLs, which meant Hugo served a redirect instead of the pages — and their nav
entries had been removed. Both were completely unreachable. Same for
coverage_map, thoughthat one genuinely was superseded.
Coverage should be a standalone page, so the section now has a parent with three siblings:
Before
After
hosts_and_containersandserverlesskeep the exact URLs they have onmaster, so no redirectsare needed for them. The new hub follows the
API Inventory
pattern: short intro, one line per child view. Assess Coverage is the nav label and page title;
prose calls the feature Inventory, matching the product.
6. eBPF-less scoped to AWS Fargate ✅
eBPF-less is supported on Fargate only. Three places on the branch implied general Linux support,
plus one dead link:
setup/_index.mdRequirementssetup/_index.mdsupport tablesetup/_index.mdheadingwp-ebpfless-tiles.htmlsetup/linux_ebpfless, a page that does not existThe cloud environments table already read
AWS Fargate | ✅ (only using eBPF-less agent), so itagrees with the new wording.
Verification
The one remaining broken link is
supported_linux_distributions.md:29— held deliberately, see below.Merge instructions
Merge readiness:
Additional notes
Worth a second opinion: SECL content changes ownership. SECL links now point at
secl_guide.md, which covers everything the removedagent_expressionspage did — a matching22-row operators table, the patterns and duration sections, and a working
#operatorsanchor. Butagent_expressionswas single-sourced fromDataDog/datadog-agent, andsecl_guide.mdishand-maintained.
linux_expressionsandwindows_expressionsare still pulled. The tables matchtoday, but the operators table lists a minimum Agent version per operator, and that will now drift
silently as the Agent adds operators. Flagging it so this is a decision rather than a side effect.
Open items, deliberately not in this PR:
supported_linux_distributions.mdmaster. Holds a 4th copy of the Linux support matrix, and its one remaining link is broken. Delete it?response.mdcontentsystem-probe.yamlsetup steps and a "Cancel network isolation" action. It also disagreed with the index on 3 facts: whether enforcement is enabled by default, whether network probes are, and what theremovedstatus applies to. Shared for review separately.workload_security_rules/contentsetup/_index.mdreads CentOS7; #31645 set it to7, 8, and CentOS Stream 9. Content fix, separate PR.finding_rules.mdstep count