Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
8661feb
[DOCS-14475] Document ~24h delay before new Agent versions appear in …
oleroydatadog May 22, 2026
dd824b5
Add Lapdog Uninstall section and sidebar nav entry (#36823)
Kyle-Verhoog May 22, 2026
dc07041
Update public documentation about metric query modifiers (#36660)
reprah May 22, 2026
3801226
Clarify Databricks networking restrictions vs Private Link guidance (…
aboitreaud May 22, 2026
190c6bd
Document LLM Observability /api/v2/llm-obs/v1/annotated-interactions …
api-clients-generation-pipeline[bot] May 22, 2026
f28eae5
Update GKE Autopilot billing info(#36952)
OliviaShoup May 22, 2026
a9dd47b
Updates 60 translation(s) (#36903)
webops-guacbot[bot] May 22, 2026
3145d8f
Catalog landing page tweaks (#36950)
clreaume May 22, 2026
d2e7fe8
[agent-console-update] Document new Agent Console features (#36862)
ambertunnell May 22, 2026
b5d6561
Add new metrics processors in Observability Pipelines (#36797)
api-clients-generation-pipeline[bot] May 22, 2026
691aecd
docs(cloud-security): correct runtime package tracking version + remo…
cyrbouchiat May 22, 2026
e57bd7d
Rename Tiers for Org Group Policies and Remove Include Memberships Su…
api-clients-generation-pipeline[bot] May 22, 2026
f8b18da
Document trace- and session-level eval scope on the eval submission A…
cdfox May 22, 2026
d97ba9c
[DOCS-13601] Add SDS best practices section (#36874)
maycmlee May 22, 2026
990a943
Add critical_query / critical_recovery_query to MonitorThresholds (#3…
api-clients-generation-pipeline[bot] May 22, 2026
3f90cd9
Add Case Approvals documentation (#36721)
roxanne-moslehi May 22, 2026
a501b14
(maint) Clean up gitignore (#36934)
hestonhoffman May 22, 2026
da9e498
Add OpenAPI spec for IDP entity integration configs (#36922)
api-clients-generation-pipeline[bot] May 22, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
105 changes: 71 additions & 34 deletions .husky/check-cdocs-gitignore.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,73 +13,110 @@
GITIGNORE_PATH = Path("content/.gitignore")


def get_gitignored_paths():
"""Parse content/.gitignore and return .md file paths."""
def get_gitignore_patterns():
"""Parse content/.gitignore and return .md file patterns."""
if not GITIGNORE_PATH.exists():
return []

paths = []
patterns = []
for line in GITIGNORE_PATH.read_text().splitlines():
stripped = line.strip()
if not stripped or stripped.startswith("#"):
continue
if stripped.endswith(".md"):
# Paths in the gitignore are relative to content/, e.g. /en/foo/bar.md
# Convert to repo-relative paths: content/en/foo/bar.md
repo_path = "content" + stripped
paths.append(repo_path)
return paths
# Convert to repo-relative patterns: content/en/foo/bar.md
repo_pattern = "content" + stripped
patterns.append(repo_pattern)
return patterns


def is_tracked(file_path):
"""Check if a file is currently tracked by git."""
def get_tracked_files(pattern):
"""Return list of tracked files matching a pattern (may contain globs)."""
result = subprocess.run(
["git", "ls-files", "--error-unmatch", file_path],
["git", "ls-files", pattern],
capture_output=True,
text=True,
)
return result.returncode == 0
if result.returncode != 0 or not result.stdout.strip():
return []
return result.stdout.strip().splitlines()


def has_mdoc_source(file_path):
"""Check if a .mdoc.md source file exists alongside the compiled .md file."""
mdoc_path = Path(file_path).with_suffix("").with_suffix(".mdoc.md")
return mdoc_path.exists()


def classify_tracked_files(tracked):
"""Split tracked files into compiled output (has local mdoc) vs orphaned translations."""
compiled = []
orphaned = []
for path in tracked:
if has_mdoc_source(path):
compiled.append(path)
else:
orphaned.append(path)
return compiled, orphaned


def main():
paths = get_gitignored_paths()
if not paths:
patterns = get_gitignore_patterns()
if not patterns:
print("✅ No Cdocs paths found in content/.gitignore to check.")
sys.exit(0)

tracked = []
for path in paths:
if is_tracked(path):
tracked.append(path)

if tracked:
err = sys.stderr
print("\n❌ Tracked Cdocs files found!", file=err)
print("=" * 50, file=err)
for pattern in patterns:
tracked.extend(get_tracked_files(pattern))

if not tracked:
print("✅ No tracked Cdocs files found. All gitignored files are untracked.")
sys.exit(0)

compiled, orphaned = classify_tracked_files(tracked)
err = sys.stderr

print("\n❌ Tracked Cdocs files found!", file=err)
print("=" * 50, file=err)

if compiled:
print(
"\nThe following files are listed in content/.gitignore"
" but are still tracked by git:\n",
"\nThe following compiled Cdocs files are tracked but should not be.\n"
"They have a .mdoc.md source and the compiled output should be untracked:\n",
file=err,
)
for path in tracked:
for path in compiled:
print(f" - {path}", file=err)

print("\nTo fix this, run the following commands:\n", file=err)
for path in tracked:
print("\nTo fix, run:\n", file=err)
for path in compiled:
print(f" git rm --cached {path}", file=err)

print(
"\nThen commit the result. The files will remain on disk"
" but will no longer be tracked by git.\n",
"\nThe files will remain on disk but will no longer be tracked by git.",
file=err,
)
print("=" * 50, file=err)

if orphaned:
print(
f"\nFound {len(tracked)} tracked file(s) that should be untracked."
" Please fix before committing.\n",
"\nThe following files are orphaned translations with no .mdoc.md source.\n"
"The English version is a Cdocs page, so these outdated files should be deleted:\n",
file=err,
)
sys.exit(1)
for path in orphaned:
print(f" - {path}", file=err)
print("\nTo fix, run:\n", file=err)
for path in orphaned:
print(f" git rm {path}", file=err)

print("\n" + "=" * 50, file=err)
total = len(compiled) + len(orphaned)
print(
f"\nFound {total} tracked file(s) that should be untracked or deleted."
" Please fix before committing.\n",
file=err,
)
sys.exit(1)

print("✅ No tracked Cdocs files found. All gitignored files are untracked.")
sys.exit(0)
Expand Down
56 changes: 56 additions & 0 deletions config/_default/menus/api.en.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10218,6 +10218,49 @@ menu:
- GetDomainAllowlist
unstable: []
order: 1
- name: Entity Integration Configs
url: /api/latest/entity-integration-configs/
identifier: entity-integration-configs
generated: true
- name: Create or update entity integration configuration
url: '#create-or-update-entity-integration-configuration'
identifier: entity-integration-configs-create-or-update-entity-integration-configuration
parent: entity-integration-configs
generated: true
params:
versions:
- v2
operationids:
- UpdateEntityIntegrationConfig
unstable:
- v2
order: 2
- name: Get an entity integration configuration
url: '#get-an-entity-integration-configuration'
identifier: entity-integration-configs-get-an-entity-integration-configuration
parent: entity-integration-configs
generated: true
params:
versions:
- v2
operationids:
- GetEntityIntegrationConfig
unstable:
- v2
order: 1
- name: Delete an entity integration configuration
url: '#delete-an-entity-integration-configuration'
identifier: entity-integration-configs-delete-an-entity-integration-configuration
parent: entity-integration-configs
generated: true
params:
versions:
- v2
operationids:
- DeleteEntityIntegrationConfig
unstable:
- v2
order: 3
- name: Entity Risk Scores
url: /api/latest/entity-risk-scores/
identifier: entity-risk-scores
Expand Down Expand Up @@ -12395,6 +12438,19 @@ menu:
unstable:
- v2
order: 18
- name: Get annotated interactions by content IDs
url: '#get-annotated-interactions-by-content-ids'
identifier: llm-observability-get-annotated-interactions-by-content-ids
parent: llm-observability
generated: true
params:
versions:
- v2
operationids:
- GetLLMObsAnnotatedInteractionsByTraceIDs
unstable:
- v2
order: 40
- name: Delete LLM Observability data
url: '#delete-llm-observability-data'
identifier: llm-observability-delete-llm-observability-data
Expand Down
42 changes: 31 additions & 11 deletions config/_default/menus/main.en.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1670,16 +1670,21 @@ menu:
url: dashboards/functions/smoothing/
parent: dashboards_functions
weight: 510
- name: Telemetry Source
identifier: dashboards_functions_telemetry_source
url: dashboards/functions/telemetry_source/
parent: dashboards_functions
weight: 511
- name: Timeshift
identifier: dashboards_functions_timeshift
url: dashboards/functions/timeshift/
parent: dashboards_functions
weight: 511
weight: 512
- name: Beta
identifier: dashboards_functions_beta
url: dashboards/functions/beta/
parent: dashboards_functions
weight: 512
weight: 513
- name: Graph Insights
identifier: dashboards_graph_insights
url: dashboards/graph_insights
Expand Down Expand Up @@ -2814,16 +2819,21 @@ menu:
parent: case_management
identifier: case_management_automation_rules
weight: 6
- name: Case Approvals
url: incident_response/case_management/approvals
parent: case_management
identifier: case_management_approvals
weight: 7
- name: MCP Server
url: incident_response/case_management/mcp_server
parent: case_management
identifier: case_management_mcp_server
weight: 7
weight: 8
- name: Troubleshooting
url: incident_response/case_management/troubleshooting
parent: case_management
identifier: case_management_troubleshooting
weight: 8
weight: 9
- name: Agents
weight: 7
- name: Agent Builder
Expand Down Expand Up @@ -5348,11 +5358,16 @@ menu:
parent: llm_obs_instrumentation
identifier: llm_obs_instrumentation_trace_proxy_services
weight: 205
- name: Lapdog
url: llm_observability/lapdog
parent: llm_obs
identifier: llm_obs_lapdog
weight: 3
- name: Monitoring
url: llm_observability/monitoring
parent: llm_obs
identifier: llm_obs_monitoring
weight: 3
weight: 4
- name: Querying spans and traces
url: llm_observability/monitoring/querying
parent: llm_obs_monitoring
Expand Down Expand Up @@ -5401,7 +5416,7 @@ menu:
url: llm_observability/evaluations/
parent: llm_obs
identifier: llm_obs_evaluations
weight: 4
weight: 5
- name: Custom LLM-as-a-Judge
url: llm_observability/evaluations/custom_llm_as_a_judge_evaluations
parent: llm_obs_evaluations
Expand Down Expand Up @@ -5481,7 +5496,7 @@ menu:
url: llm_observability/experiments
parent: llm_obs
identifier: llm_obs_experiments
weight: 5
weight: 6
- name: Setup and Usage
url: llm_observability/experiments/setup
parent: llm_obs_experiments
Expand Down Expand Up @@ -5521,22 +5536,22 @@ menu:
url: llm_observability/mcp_server
parent: llm_obs
identifier: llm_obs_mcp_server
weight: 6
weight: 7
- name: Data Security and RBAC
url: llm_observability/data_security_and_rbac
parent: llm_obs
identifier: llm_obs_data_security_and_rbac
weight: 7
weight: 8
- name: Terms and Concepts
url: llm_observability/terms/
parent: llm_obs
identifier: llm_obs_terms
weight: 8
weight: 9
- name: Guides
url: llm_observability/guide/
parent: llm_obs
identifier: llm_obs_guide
weight: 9
weight: 10
- name: GPU Monitoring
url: gpu_monitoring/
pre: gpu-monitoring-wui
Expand Down Expand Up @@ -5564,6 +5579,11 @@ menu:
identifier: ai_agents_console
parent: ai_observability_heading
weight: 30000
- name: Setup
url: ai_agents_console/setup/
parent: ai_agents_console
identifier: ai_agents_console_setup
weight: 1
- name: CI Visibility
url: continuous_integration/
pre: ci
Expand Down
Loading
Loading