Skip to content

Conversation

@yashmehrotra
Copy link
Member

@yashmehrotra yashmehrotra commented Jan 26, 2026

Summary by CodeRabbit

  • Documentation
    • Standardized source reference anchors across canary-checker and mission-control docs for consistent linking.
    • Updated reference docs to add, remove, rename and correct fields/types in many checks and scrapers (e.g., DNS, Folder, Pod, File, GCP, Webhook, Restic) and adjusted examples accordingly.
    • Reworked CanarySpec reference docs: reorganized checks list and configuration fields (added replicas, owner, resultMode, agentSelector) and refreshed schemas/tables.

✏️ Tip: You can customize this high-level summary in your review settings.

@yashmehrotra yashmehrotra requested a review from moshloop January 26, 2026 10:42
@vercel
Copy link

vercel bot commented Jan 26, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
docs Ready Ready Preview Jan 26, 2026 11:42am

Request Review

@netlify
Copy link

netlify bot commented Jan 26, 2026

Deploy Preview for canarychecker canceled.

Name Link
🔨 Latest commit 620133a
🔍 Latest deploy log https://app.netlify.com/projects/canarychecker/deploys/697752e6d6146200086e34da

@coderabbitai
Copy link

coderabbitai bot commented Jan 26, 2026

Walkthrough

Standardizes documentation source references across canary-checker and mission-control modules by removing line numbers from source anchors (e.g., file.go:123#Type to file.go#Type), while simultaneously updating documentation schemas to align with Go struct definitions including new fields and type corrections.

Changes

Cohort / File(s) Change Summary
Canary-Checker: Simple Source Reference Fixes
canary-checker/docs/reference/1-alert-manager.mdx, canary-checker/docs/reference/1-aws-cloudwatch.mdx, canary-checker/docs/reference/1-aws-config-rule.mdx, canary-checker/docs/reference/1-catalog.mdx, canary-checker/docs/reference/1-elasticsearch.mdx, canary-checker/docs/reference/1-icmp.mdx, canary-checker/docs/reference/1-junit.mdx, canary-checker/docs/reference/1-kubernetes.mdx, canary-checker/docs/reference/1-mongo.mdx, canary-checker/docs/reference/1-prometheus.mdx, canary-checker/docs/reference/1-pubsub.mdx, canary-checker/docs/reference/1-redis.mdx, canary-checker/docs/reference/1-s3-protocol.mdx, canary-checker/docs/reference/1-tcp.mdx, canary-checker/docs/reference/3-helm.mdx
Removed line numbers from source anchor comments (formatting only).
Canary-Checker: Source + Identifier/Schema Edits
canary-checker/docs/reference/1-aws-config.mdx
Anchor updated; renamed health-check identifier from awsConfigRuleawsConfig in example/snippet.
Canary-Checker: Added/Adjusted Fields
canary-checker/docs/reference/1-azure-devops.mdx, canary-checker/docs/reference/1-webhook.mdx, canary-checker/docs/reference/1-git.mdx, canary-checker/docs/reference/1-pod.mdx
Added connection/token fields and reorganized related entries; reordered githubToken and added connection for GitHub; added ingressClass and roundRobinNodes for Pod.
Canary-Checker: Type & Field Corrections
canary-checker/docs/reference/1-dns.mdx, canary-checker/docs/reference/1-exec.mdx, canary-checker/docs/reference/1-http.mdx, canary-checker/docs/reference/1-kubernetes-resource.mdx, canary-checker/docs/reference/jmeter.mdx
Adjusted schemes/types and field names (e.g., port scheme int, envVarsenv, handshakeTimeout → Duration, responseDuration int → string, disable → bool).
Canary-Checker: Expanded/Restructured Schemas
canary-checker/docs/reference/1-folder.mdx, canary-checker/docs/reference/1-sql.mdx, canary-checker/docs/reference/3-containerd.mdx, canary-checker/docs/reference/3-gcs-database-backup.mdx, canary-checker/docs/reference/3-restic.mdx
Added fields (e.g., recursive, since, maxSize/availableSize/totalSize, Postgres timeout), consolidated registry auth to auth, restructured GCS backup and Restic health-check field lists.
Canary-Checker: LDAP Changes
canary-checker/docs/reference/1-ldap.mdx
Made userSearch optional, added skipTLSVerify (bool), and updated source anchor.
Canary-Checker: CanarySpec & Skill Doc
.claude/skills/update-source-references/SKILL.md, canary-checker/docs/reference/_canary-spec.mdx
Large rework of _canary-spec.mdx: removed/added fields, added replicas, owner, resultMode, agentSelector, expanded checks list; added skill note for source reference standardization.
Mission-Control: Simple Source Reference Fixes
mission-control/docs/guide/config-db/scrapers/aws.mdx, .../azure-devops.mdx, .../clickhouse.mdx, .../github.md, .../http.mdx, .../kubernetes-file.mdx, .../kubernetes.mdx, .../logs.mdx, .../pubsub.mdx, .../slack.mdx, .../sql.mdx, .../terraform.mdx, .../trivy.mdx
Removed line numbers from embedded source anchor comments (formatting only).
Mission-Control: Scraper Schema Updates
mission-control/docs/guide/config-db/scrapers/azure.md, mission-control/docs/guide/config-db/scrapers/file.mdx, mission-control/docs/guide/config-db/scrapers/gcp.mdx
azure.md: removed organisation, added include and Entra subsection with selectors; file.mdx: added ignore, format, icon, connection; gcp.mdx: added auditLogs and new Audit Logs fields.
Mission-Control: Playbook Docs Anchors
mission-control/docs/guide/mcp/client-setup.mdx, mission-control/docs/guide/playbooks/actions/*.mdx
Normalized source anchors across playbook action docs (removed line numbers).
Submodule Pointer Updates
modules/canary-checker, modules/config-db, modules/duty, modules/mission-control, modules/mission-control-chart, modules/mission-control-registry
Bumped submodule commit references; no code/API changes in this diff.

Sequence Diagram(s)

(omitted — changes are documentation/schema alignments and submodule pointer updates; no new multi-component control flow introduced)

Suggested reviewers

  • moshloop
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the primary change: updating source references across canary-checker documentation files to standardize anchors from line-numbered to symbol-only format.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch doc-ref-update

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
mission-control/docs/guide/config-db/scrapers/clickhouse.mdx (1)

210-230: Schema and example field mismatches require correction.

The documented schemas and examples have inconsistent field names:

  • AWSS3: Example uses connection: connection://aws (line 192), but the schema only documents bucket, path, endpoint, accessKey, secretKey, and region.
  • AzureBlobStorage: Example uses collectionName (line 214) while the schema documents collection (required field). Example also uses connectionString (lines 215-219), which is not in the schema.

Update either the schema documentation (lines 60-141) or the examples (lines 180-240) to match, or provide documentation for the missing connection and connectionString fields if they are valid configuration options.

🤖 Fix all issues with AI agents
In @.claude/skills/update-source-references/SKILL.md:
- Line 1: Several MDX/MD files under `@docs/canary-checker/` and
`@docs/mission-control/` that contain HTML source comments like "<!-- Source: ...
-->" are missing a top-level H1 and trigger markdownlint MD041; open each file
containing that "<!-- Source:" pattern and insert a single top-level heading (a
line starting with "# ") as the very first line before any body text, then save
and run make fmt and make lint to verify/style the change.

In `@canary-checker/docs/reference/1-git.mdx`:
- Around line 20-21: Update the description for the githubToken entry so the
product name is capitalized correctly: change "Github Personal Access Token" to
"GitHub Personal Access Token" in the object with field "githubToken" to ensure
consistent capitalization across docs.

In `@canary-checker/docs/reference/1-http.mdx`:
- Line 33: Update the "Template Body Variables" section to use the renamed field
env: replace any occurrences of envVars with env and change the placeholder
{fields from []envVars} to {fields from []env} so the documentation consistently
references the new field name (ensure strings and example references that
mention envVars are updated to env as well).

In `@canary-checker/docs/reference/jmeter.mdx`:
- Line 21: The docs table entry for responseDuration is incorrect: update the
Scheme column for `responseDuration` from `*string*` to `*int*` to match the Go
struct (responseDuration) type; locate the `responseDuration` row in
canary-checker/docs/reference/jmeter.mdx and replace the type token accordingly
so the documentation aligns with the code.
🧹 Nitpick comments (4)
mission-control/docs/guide/mcp/client-setup.mdx (1)

315-387: Consider removing duplicate content.

The "Troubleshooting" and "Next Steps" sections appear twice in this file (lines 315-350 and lines 352-387). While this duplication wasn't introduced in this PR, it would be good to clean up the duplicates in a follow-up to improve documentation quality.

mission-control/docs/guide/config-db/scrapers/azure.md (1)

37-37: Use second person or noun phrase for consistency.

The description uses third person ("Specifies"), which is inconsistent with the Google Style Guide's preference for second person or noun phrases. Other entries in this table use either imperatives ("Specify...") or noun phrases.

✏️ Suggested alternatives
-| `exclusions`     | Specifies the Azure resources to exclude                                   | [`Exclusion`](`#exclusion`)                                  |          |
+| `exclusions`     | Azure resources to exclude from scraping                                   | [`Exclusion`](`#exclusion`)                                  |          |

Alternative with imperative form:

-| `exclusions`     | Specifies the Azure resources to exclude                                   | [`Exclusion`](`#exclusion`)                                  |          |
+| `exclusions`     | Exclude Azure resources from scraping                                      | [`Exclusion`](`#exclusion`)                                  |          |

Based on coding guidelines, documentation should follow Google style using second person, active voice, and present tense.

mission-control/docs/guide/config-db/scrapers/trivy.mdx (1)

55-60: Pre-existing issues in this file.

While not introduced by this PR, there are a couple of issues worth noting:

  1. Duplicate import statement: Line 60 duplicates the import from line 8 (import { Trivy } from "@flanksource/icons/mi"). This appears misplaced after the table content.

  2. Table formatting artifacts: Lines 55-59 have trailing | s in the last column which appears to be a formatting error.

Consider addressing these in a follow-up cleanup.

canary-checker/docs/reference/1-mongo.mdx (1)

13-14: Pre-existing: YAML title mismatch.

The code block title says icmp.yaml but this is the MongoDB check documentation. Consider updating to mongo.yaml or similar in a follow-up.

@@ -0,0 +1,22 @@
For all mdx/md files in @docs/canary-checker/ and @docs/mission-control/ that have `<!-- Source: ... -->` comments pointing to Go source files:
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Add a top-level heading as the first line.

Markdownlint MD041 expects the first line to be an H1; start with a # heading before the body text.

As per coding guidelines, run make fmt/make lint to catch this.

🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

1-1: First line in a file should be a top-level heading

(MD041, first-line-heading, first-line-h1)

🤖 Prompt for AI Agents
In @.claude/skills/update-source-references/SKILL.md at line 1, Several MDX/MD
files under `@docs/canary-checker/` and `@docs/mission-control/` that contain HTML
source comments like "<!-- Source: ... -->" are missing a top-level H1 and
trigger markdownlint MD041; open each file containing that "<!-- Source:"
pattern and insert a single top-level heading (a line starting with "# ") as the
very first line before any body text, then save and run make fmt and make lint
to verify/style the change.

Comment on lines +20 to +21
{field: "connection", description: "Connection name for GitHub credentials", scheme: 'string'},
{field: "githubToken", description: "Github Personal Access Token", scheme: 'EnvVar'},
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Capitalize “GitHub” consistently in the token description.

Minor doc polish to match the official product name.

🔧 Suggested edit
-  {field: "githubToken", description: "Github Personal Access Token", scheme: 'EnvVar'},
+  {field: "githubToken", description: "GitHub Personal Access Token", scheme: 'EnvVar'},
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
{field: "connection", description: "Connection name for GitHub credentials", scheme: 'string'},
{field: "githubToken", description: "Github Personal Access Token", scheme: 'EnvVar'},
{field: "connection", description: "Connection name for GitHub credentials", scheme: 'string'},
{field: "githubToken", description: "GitHub Personal Access Token", scheme: 'EnvVar'},
🧰 Tools
🪛 LanguageTool

[uncategorized] ~21-~21: The official name of this software platform is spelled with a capital “H”.
Context: ... {field: "githubToken", description: "Github Personal Access Token", scheme: 'EnvVar...

(GITHUB)

🤖 Prompt for AI Agents
In `@canary-checker/docs/reference/1-git.mdx` around lines 20 - 21, Update the
description for the githubToken entry so the product name is capitalized
correctly: change "Github Personal Access Token" to "GitHub Personal Access
Token" in the object with field "githubToken" to ensure consistent
capitalization across docs.

{field: "thresholdMillis", description: "Maximum duration in milliseconds for the HTTP request. It will fail the check if it takes longer", default: 5000, scheme: "int"},
{field: "maxSSLExpiry", description: <>Maximum number of days until the SSL Certificate expires<br/>Equivalent to <code>test.expr: sslAge &lt; Age("7d")</code></>, scheme: "int"},
{field: "envVars", description: "Setup environment variables that are accessible while templating", scheme: "[]EnvVar"},
{field: "env", description: "Environment variables that are accessible while templating", scheme: "[]EnvVar"},
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Update the Template Body Variables section to use env.
You rename the field to env, but the later section still says envVars and {fields from []envVars}. Make that section match the new field name to avoid confusion.

🤖 Prompt for AI Agents
In `@canary-checker/docs/reference/1-http.mdx` at line 33, Update the "Template
Body Variables" section to use the renamed field env: replace any occurrences of
envVars with env and change the placeholder {fields from []envVars} to {fields
from []env} so the documentation consistently references the new field name
(ensure strings and example references that mention envVars are updated to env
as well).

| **`jmx`** | Jmx defines the ConfigMap or Secret reference to get the JMX test plan | <CommonLink to="authentication">*EnvVar*</CommonLink> | Yes |
| `properties` | Properties defines the local JMeter properties | *\[\]string* | |
| `responseDuration` | duration under which the all the test should pass | *int* | |
| `responseDuration` | Duration under which all the tests should pass | *string* | |
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

rg -n --type=go 'type\s+JmeterCheck' -A 30

Repository: flanksource/docs

Length of output: 42


🏁 Script executed:

rg -n 'JmeterCheck' -A 5

Repository: flanksource/docs

Length of output: 1598


🏁 Script executed:

git ls-files | grep -E '\.go$' | head -20

Repository: flanksource/docs

Length of output: 235


🏁 Script executed:

cat -n canary-checker/docs/reference/jmeter.mdx | head -40

Repository: flanksource/docs

Length of output: 2444


🌐 Web query:

canary-checker JmeterCheck responseDuration field type site:github.com

💡 Result:

In Canary Checker’s JmeterCheck spec, the responseDuration field is typed as an integer (int) in the published schema/docs. [1]

Source(s):
[1] (canarychecker.io)

Citations:


🌐 Web query:

site:github.com/flanksource JmeterCheck responseDuration type:code

💡 Result:

In Flanksource Canary Checker, the JMeter check (spec.jmeter[]) has a field:

  • responseDuration: int — “duration under which the all the test should pass” (i.e., a threshold for acceptable test duration). [1]

Source: JMeter check reference docs. [1]


🌐 Web query:

site:github.com/flanksource/canary-checker "type JmeterCheck struct" responseDuration

💡 Result:

In canary-checker’s JMeter check spec, responseDuration is documented as an integer field: “duration under which the all the test should pass” (i.e., a threshold duration for the JMeter run to be considered successful). [1]


Update responseDuration type from string to int.

The field is typed as int in the Go struct, not string. Line 21 should show *int* in the Scheme column.

🤖 Prompt for AI Agents
In `@canary-checker/docs/reference/jmeter.mdx` at line 21, The docs table entry
for responseDuration is incorrect: update the Scheme column for
`responseDuration` from `*string*` to `*int*` to match the Go struct
(responseDuration) type; locate the `responseDuration` row in
canary-checker/docs/reference/jmeter.mdx and replace the type token accordingly
so the documentation aligns with the code.

@moshloop moshloop merged commit fe2f08e into main Jan 27, 2026
15 checks passed
@moshloop moshloop deleted the doc-ref-update branch January 27, 2026 06:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants