docs(map): route Service Discovery via integration_placeholder - #22895
Merged
Conversation
The 5 service discovery integration pages (src/go/plugin/go.d/discovery/sdext/discoverer/*/integrations/*.md) have learn_status=Published and learn_rel_path pointing to "Collecting Metrics/Service Discovery". They were landing in the correct URL by accident -- ingest.py had no dedicated bucket for them so they fell into the alerting_agent_entries catch-all. Follow the Secrets Management pattern: - map.schema.json: add service_discovery to the integration_kind enum. - map.yaml: change Service Discovery from a leaf node (pointing to the external agent-service-discovery README) to a category node with SERVICE-DISCOVERY.md as the overview and an integration_placeholder for the 5 discoverer pages. A companion change to netdata/learn adds the service_discovery bucket and service_discovery_integrations sentinel replacement to ingest.py.
Contributor
There was a problem hiding this comment.
No issues found across 2 files
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
Architecture diagram
sequenceDiagram
participant Schema as map.schema.json
participant Map as map.yaml
participant Placeholder as integration_placeholder
participant Ingest as ingest.py
participant Learn as Docusaurus (learn)
Note over Schema,Learn: Service Discovery documentation routing flow
Schema->>Schema: Defines integration_kind enum (includes service_discovery)
Map->>Placeholder: NEW: Creates Service Discovery category node
Placeholder->>Placeholder: integration_kind: service_discovery
Placeholder->>Ingest: Passes placeholder for service_discovery entries
Ingest->>Ingest: Reads service_discovery_entries bucket
Ingest->>Ingest: Performs sentinel replacement for service_discovery_integrations
alt Discoverer pages found (5 integrations)
Ingest->>Learn: Inserts discoverer pages as children under Service Discovery
Learn->>Learn: Builds sidebar: Collecting Metrics > Service Discovery
Learn->>Learn: Resolves duplicate-route check for /docs/collecting-metrics/service-discovery
else No discoverer pages found
Ingest->>Learn: Leaves Service Discovery section empty (no children)
end
Note over Map,Learn: Category configured in sidebar with single child placeholder
Map->>Learn: Provides SERVICE-DISCOVERY.md as overview/landing page
Learn->>Learn: Renders Service Discovery as expandable category node
Learn-->>Map: Validation: map.yaml conforms to schema (integration_kind: service_discovery)
ilyam8
previously approved these changes
Jun 29, 2026
Ancairon
enabled auto-merge (squash)
June 29, 2026 10:02
ilyam8
approved these changes
Jun 29, 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.



Summary
service_discoveryto theintegration_kindenum indocs/.map/map.schema.jsondocs/.map/map.yamlfrom a leaf pointing to the externalagent-service-discoveryREADME to a category node withsrc/collectors/SERVICE-DISCOVERY.mdas the overview and anintegration_placeholder: service_discoveryfor the 5 discoverer integration pagesBackground
The 5 service discovery integration pages (
src/go/plugin/go.d/discovery/sdext/discoverer/*/integrations/*.md) havelearn_status: Publishedandlearn_rel_path: "Collecting Metrics/Service Discovery". They were publishing to the correct URL by accident —populate_integrationsiningest.pyhad no dedicated bucket for them, so they fell into thealerting_agent_entriescatch-all.This PR adopts the same pattern as Secrets Management (
integration_placeholder: secretstore), which gives Service Discovery a proper, intentional placement rather than relying on path fallthrough.A companion PR in netdata/learn adds the
service_discovery_entriesbucket andservice_discovery_integrationssentinel replacement toingest.py.Test plan
docs/.map/map.yamlvalidates againstdocs/.map/map.schema.jsonwithintegration_kind: service_discovery/docs/collecting-metrics/service-discoverySummary by cubic
Route Service Discovery docs through an
integration_placeholderso the section has a proper landing page and the five discoverer integrations appear as children. Addservice_discoveryto theintegration_kindenum and convert the map entry from an external leaf to a category usingsrc/collectors/SERVICE-DISCOVERY.mdas the overview.Written for commit 7b9ca70. Summary will update on new commits.