Skip to content

chore(blog): fix broken yaml file links#514

Merged
yashmehrotra merged 1 commit into
mainfrom
fix-file-links
Jun 23, 2026
Merged

chore(blog): fix broken yaml file links#514
yashmehrotra merged 1 commit into
mainfrom
fix-file-links

Conversation

@yashmehrotra

@yashmehrotra yashmehrotra commented Jun 23, 2026

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • Documentation

    • Improved code example presentation in the control plane testing tutorial with enhanced visual formatting, clearer YAML snippet organization, and explicit file path annotations for better readability
  • Chores

    • Updated internal module dependencies to latest versions
    • Enabled advanced code import processing for improved blog documentation rendering

@netlify

netlify Bot commented Jun 23, 2026

Copy link
Copy Markdown

Deploy Preview for canarychecker canceled.

Name Link
🔨 Latest commit d52b1f0
🔍 Latest deploy log https://app.netlify.com/projects/canarychecker/deploys/6a3a327dfcd1f50008baa9aa

@vercel

vercel Bot commented Jun 23, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview Jun 23, 2026 7:10am

Request Review

@coderabbitai

coderabbitai Bot commented Jun 23, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@yashmehrotra, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 49 minutes and 3 seconds. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits.

🚦 How do rate limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate.

For paid Pro and Pro+ PR reviews, CodeRabbit uses rolling per-developer review limits. Reviews become available again as older review attempts age out of the rolling limit window.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 25fb497b-1253-46ed-8501-06fc057478a7

📥 Commits

Reviewing files that changed from the base of the PR and between d52b1f0 and 576019e.

📒 Files selected for processing (1)
  • mission-control/docusaurus.config.ts

Walkthrough

The PR enables the remark-code-import plugin for Docusaurus blog processing and updates three YAML code block annotations in the control-plane-testing blog post to use titled/file-attributed fenced blocks. Six git submodule pointers (canary-checker, config-db, duty, mission-control, mission-control-chart, mission-control-registry) are also advanced to new commits.

Changes

Blog remark-code-import Enablement

Layer / File(s) Summary
Enable codeImport for blog and annotate example code blocks
mission-control/docusaurus.config.ts, mission-control/blog/control-plane-testing/index.mdx
Adds remarkPlugins: [codeImport] to the Docusaurus blog config block (previously absent, unlike docs). Updates flux.yaml, basic-canary.yaml, and custom-canary.yaml fenced code blocks to include title and file attributes compatible with the now-enabled plugin.

Submodule Pointer Updates

Layer / File(s) Summary
Bump all submodule references
modules/canary-checker, modules/config-db, modules/duty, modules/mission-control, modules/mission-control-chart, modules/mission-control-registry
Each submodule pointer is advanced to a new commit SHA; no other changes are made to these entries.

Possibly related PRs

  • flanksource/docs#509: Also bumps the modules/canary-checker submodule pointer, targeting canary-checker documentation updates (Prometheus mTLS page).
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title 'chore(blog): fix broken yaml file links' is directly related to the main changes, which involve updating YAML file references in blog documentation and enabling code import plugin for blog posts.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix-file-links
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch fix-file-links

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 5

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@mission-control/blog/control-plane-testing/index.mdx`:
- Line 186: The code block containing the custom-canary.yaml file reference on
line 186 has inconsistent indentation with only 3 spaces instead of the 4 spaces
used in the earlier code blocks on lines 74, 88, and 94. Change the indentation
of the markdown code block (```yaml title="custom-canary.yaml"
file=./custom-canary.yaml) from 3 spaces to 4 spaces to maintain consistent list
formatting and follow the established indentation pattern in the document.

In `@mission-control/docusaurus.config.ts`:
- Line 303: The codeImport plugin in the remarkPlugins arrays is configured
without the necessary options for path resolution. Update all instances where
codeImport appears in remarkPlugins to use an array format containing both the
plugin and an options object, setting allowImportingFromOutside to true and
rootDir to resolve('../'). This configuration is required for the plugin to
properly resolve relative file paths like file=./flux.yaml that are used in the
blog posts.

In `@modules/canary-checker`:
- Line 1: The canary-checker submodule is pointing to a commit SHA
(e60eb7d9a6b9fd1fa3f4736df3366a05be0100e9) that does not exist in the upstream
repository at https://github.com/flanksource/canary-checker.git, which causes CI
checkout failures. Verify the correct commit SHA that exists in the upstream
repository history or confirm the intended revision is available on a specific
branch, then update the submodule pointer to reference a valid commit that is
publicly available on the upstream repository.

In `@modules/duty`:
- Line 1: The submodule `modules/duty` is pinned to commit
`69c8f7a5aa1545d3959c2182412da88d2be8dd63` which does not exist on the remote
repository. Verify the correct commit SHA that exists on the remote repository
for the duty submodule, then update the submodule reference by navigating to the
modules/duty directory, checking out the correct commit, and committing the
updated submodule pointer to the parent repository to ensure clone operations
and CI checks will succeed.

In `@modules/mission-control-registry`:
- Line 1: The mission-control-registry submodule has been bumped to commit
594d6866a3d34e915da4b69972122a98b845532e, but this commit does not contain the
charts/azure/values.schema.json file that is being imported by
mission-control/docs/integrations/azure.mdx. To fix this, either revert the
submodule bump in modules/mission-control-registry to a previous commit that
contains the required file, or update the import path in
mission-control/docs/integrations/azure.mdx to reference a file or path that
exists in the current pinned submodule commit. Verify the fix by confirming the
docs build succeeds.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: d67cd309-a941-4274-bd10-229bfb136b5f

📥 Commits

Reviewing files that changed from the base of the PR and between ec9930c and d52b1f0.

📒 Files selected for processing (8)
  • mission-control/blog/control-plane-testing/index.mdx
  • mission-control/docusaurus.config.ts
  • modules/canary-checker
  • modules/config-db
  • modules/duty
  • modules/mission-control
  • modules/mission-control-chart
  • modules/mission-control-registry



```yaml file=custom-canary.yaml
```yaml title="custom-canary.yaml" file=./custom-canary.yaml

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Fix inconsistent indentation of the custom-canary.yaml code block.

Line 186 has 3 spaces of indentation ( ```yaml) while the earlier code blocks (lines 74, 88, 94) use 4 spaces. This breaks the consistent markdown list formatting. According to coding guidelines, YAML code blocks should be properly indented as part of their enclosing structure.

📝 Proposed fix for indentation
-   ```yaml title="custom-canary.yaml" file=./custom-canary.yaml
+    ```yaml title="custom-canary.yaml" file=./custom-canary.yaml
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@mission-control/blog/control-plane-testing/index.mdx` at line 186, The code
block containing the custom-canary.yaml file reference on line 186 has
inconsistent indentation with only 3 spaces instead of the 4 spaces used in the
earlier code blocks on lines 74, 88, and 94. Change the indentation of the
markdown code block (```yaml title="custom-canary.yaml"
file=./custom-canary.yaml) from 3 spaces to 4 spaces to maintain consistent list
formatting and follow the established indentation pattern in the document.

Source: Coding guidelines

blog: {
showReadingTime: true,
blogTitle: 'Flanksource Blog',
remarkPlugins: [codeImport],

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🩺 Stability & Availability | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check if codeImport is imported at the top of the file
# Expected: Import statement for codeImport or remark-code-import

# Search for import statements in docusaurus.config.ts
ast-grep outline mission-control/docusaurus.config.ts --view expanded | head -20

# Also search for any codeImport or remark-code-import references
rg -n 'codeImport|remark-code-import' mission-control/docusaurus.config.ts -B2 -A2

Repository: flanksource/docs

Length of output: 1020


🏁 Script executed:

#!/bin/bash
# Search for blog posts that reference the relative file paths mentioned
find mission-control -name "*.md" -o -name "*.mdx" | xargs rg -l "flux\.yaml|basic-canary\.yaml" 2>/dev/null

# Also check if there are any import/require statements for remark-code-import in other config files or projects
fd -e "config.ts" -e "config.js" | xargs rg -l "remark-code-import" 2>/dev/null

# Check canary-checker reference if it exists in the repo
fd -e "*.md" -e "*.mdx" | xargs rg -l "canary-checker" 2>/dev/null | head -5

Repository: flanksource/docs

Length of output: 414


🌐 Web query:

remark-code-import plugin configuration options allowImportingFromOutside rootDir

💡 Result:

The remark-code-import plugin provides specific configuration options to manage file system access and path resolution [1][2]. rootDir: A string option that defines the base directory used for resolving paths when the <rootDir> prefix is used in file imports [1][2][3]. It defaults to process.cwd [1][4][5]. allowImportingFromOutside: A boolean option that controls access to files outside of the defined rootDir [1][2]. For security reasons, this is disabled by default [1][3]. Setting this option to true allows the plugin to import files located outside of the root directory [1][2][5]. These options are used in the plugin configuration to securely manage how external files are injected into your markdown or MDX files [1][3]. You can use the <rootDir> placeholder in your code block declarations, such as: js // Example configuration usage import codeImport from 'remark-code-import'; // Inside your remark configuration { plugin: codeImport, options: { rootDir: './src', allowImportingFromOutside: true } } // Example markdown usage // js file=/path/to/file.js // [1][3]

Citations:


🏁 Script executed:

#!/bin/bash
# Check the blog post to see how it's using relative file paths
cat -n mission-control/blog/control-plane-testing/index.mdx | grep -A5 -B5 "flux\|basic-canary" | head -30

# Check canary-checker's configuration to verify the upstream claim
cat -n canary-checker/docusaurus.config.js | grep -A10 -B5 "codeImport\|remark-code-import"

Repository: flanksource/docs

Length of output: 2513


Missing configuration options for remark-code-import plugin.

The codeImport plugin is imported correctly (line 15), but the configuration at lines 294 and 303 is incomplete. The blog post at mission-control/blog/control-plane-testing/index.mdx uses relative file paths like file=./flux.yaml, which require the plugin to be configured with allowImportingFromOutside: true and rootDir options for proper path resolution. Without these options, the plugin cannot correctly resolve external file imports.

The upstream canary-checker/docusaurus.config.js demonstrates the correct configuration pattern:

Correct configuration example
remarkPlugins: [[codeImport, {
  allowImportingFromOutside: true,
  rootDir: resolve('../')
}]]

Update both instances (lines 294 and 303) to include the necessary options.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@mission-control/docusaurus.config.ts` at line 303, The codeImport plugin in
the remarkPlugins arrays is configured without the necessary options for path
resolution. Update all instances where codeImport appears in remarkPlugins to
use an array format containing both the plugin and an options object, setting
allowImportingFromOutside to true and rootDir to resolve('../'). This
configuration is required for the plugin to properly resolve relative file paths
like file=./flux.yaml that are used in the blog posts.

Comment thread modules/canary-checker
@@ -1 +1 @@
Subproject commit e9d20f4ace8e8884b2eb49d18106c92eb0211f75
Subproject commit e60eb7d9a6b9fd1fa3f4736df3366a05be0100e9

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🗄️ Data Integrity & Integration | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Confirm the gitlink commit is present and reachable in the canary-checker submodule.
set -e

# Locate submodule config to resolve the upstream URL.
git config -f .gitmodules --get-regexp 'submodule\.modules/canary-checker\.(path|url)' || true

# Check whether the recorded commit is known locally.
git -C modules/canary-checker cat-file -t e60eb7d9a6b9fd1fa3f4736df3366a05be0100e9 2>/dev/null || echo "Commit not present locally; fetch from upstream to verify."

# Show what the gitlink points to as recorded by the superproject.
git ls-tree HEAD modules/canary-checker

Repository: flanksource/docs

Length of output: 439


🌐 Web query:

GitHub API flanksource/canary-checker commit e60eb7d9a6b9fd1fa3f4736df3366a05be0100e9

💡 Result:

The commit e60eb7d9a6b9fd1fa3f4736df3366a05be0100e9 does not appear in the publicly indexed history of the flanksource/canary-checker GitHub repository [1]. Recent commits in this repository as of June 2026 include: * 8907f90: Fixes for metric double counting [2]. * fec4ae9: Update to the canary printer column to display 'Schedule' instead of the deprecated 'Interval' [3]. * 63b77c4: Fix for the canary_check gauge using allowlisted label names [4]. * 812d7d4: Fix for the 'lastTransitionedTime' field not being populated [5]. It is possible that the commit hash specified is from a private branch, a fork, or a very recent commit that has not been indexed, or it may contain a typographical error. The official repository for Canary Checker is managed by Flanksource [1][6].

Citations:


🏁 Script executed:

#!/bin/bash
# Try to fetch the specific commit from the remote to verify it exists upstream
git ls-remote https://github.com/flanksource/canary-checker.git e60eb7d9a6b9fd1fa3f4736df3366a05be0100e9 || echo "Commit not found via ls-remote"

# Also try to get the commit info via git fetch-pack (tests if commit is reachable)
echo "---"
git fetch-pack --dry-run https://github.com/flanksource/canary-checker.git e60eb7d9a6b9fd1fa3f4736df3366a05be0100e9 2>&1 | head -20 || true

Repository: flanksource/docs

Length of output: 367


The submodule commit is dangling and does not exist on the upstream repository.

The submodule pointer e60eb7d9a6b9fd1fa3f4736df3366a05be0100e9 does not appear in the public history of https://github.com/flanksource/canary-checker.git. This will cause CI checkout failures and break any downstream docs that embed fixture YAML from this submodule. Either verify the correct commit SHA and update the submodule pointer, or confirm the intended revision is available on a specific branch.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@modules/canary-checker` at line 1, The canary-checker submodule is pointing
to a commit SHA (e60eb7d9a6b9fd1fa3f4736df3366a05be0100e9) that does not exist
in the upstream repository at https://github.com/flanksource/canary-checker.git,
which causes CI checkout failures. Verify the correct commit SHA that exists in
the upstream repository history or confirm the intended revision is available on
a specific branch, then update the submodule pointer to reference a valid commit
that is publicly available on the upstream repository.

Comment thread modules/duty
@@ -1 +1 @@
Subproject commit e95facc465d7bc8f2508c4d28ea48e69953431a9
Subproject commit 69c8f7a5aa1545d3959c2182412da88d2be8dd63

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🗄️ Data Integrity & Integration | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify the duty submodule commit is reachable and inspect referenced files.
set -e

# Show configured submodule URL/branch
git config -f .gitmodules --get-regexp 'submodule\.modules/duty\.' || true

cd modules/duty 2>/dev/null || { echo "modules/duty not initialized"; exit 0; }

# Confirm the pinned commit exists in this submodule
git cat-file -t 69c8f7a5aa1545d3959c2182412da88d2be8dd63 || echo "Commit NOT found locally"

# Confirm the doc-referenced symbol still exists at the pinned commit
git show 69c8f7a5aa1545d3959c2182412da88d2be8dd63:connection/azurekeyvault.go \
  | rg -nP '\bAzureKeyVault\b' || echo "AzureKeyVault reference not found at pinned commit"

Repository: flanksource/docs

Length of output: 682


This submodule commit does not exist on the remote repository and must be corrected.

The pinned commit 69c8f7a5aa1545d3959c2182412da88d2be8dd63 for modules/duty is not reachable—the remote returned "not our ref". This will cause clone operations and CI checks to fail. Verify the correct commit SHA and update the submodule pointer before merging.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@modules/duty` at line 1, The submodule `modules/duty` is pinned to commit
`69c8f7a5aa1545d3959c2182412da88d2be8dd63` which does not exist on the remote
repository. Verify the correct commit SHA that exists on the remote repository
for the duty submodule, then update the submodule reference by navigating to the
modules/duty directory, checking out the correct commit, and committing the
updated submodule pointer to the parent repository to ensure clone operations
and CI checks will succeed.

@@ -1 +1 @@
Subproject commit e70f3ea40e50e714ada9153933450208ec81038d
Subproject commit 594d6866a3d34e915da4b69972122a98b845532e

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🩺 Stability & Availability | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify the submodule pin is reachable and the consumed schema path still exists at that commit.
set -e

# Confirm the gitlink recorded in the index for this submodule
git ls-tree HEAD modules/mission-control-registry

# Inspect submodule config to find its URL/path
cat .gitmodules 2>/dev/null | sed -n '/mission-control-registry/,+3p'

# Attempt to enter the submodule and confirm the pinned commit + consumed file exist
if [ -d modules/mission-control-registry ]; then
  git -C modules/mission-control-registry cat-file -t 594d6866a3d34e915da4b69972122a98b845532e 2>/dev/null \
    && echo "commit object present" || echo "commit NOT present locally (submodule may be uninitialized)"
  git -C modules/mission-control-registry ls-tree 594d6866a3d34e915da4b69972122a98b845532e charts/azure/values.schema.json 2>/dev/null \
    && echo "schema path present at pinned commit" || echo "schema path NOT found at pinned commit"
fi

Repository: flanksource/docs

Length of output: 527


🏁 Script executed:

# Check what azure.mdx imports from the submodule
rg "mission-control-registry" mission-control/docs/integrations/azure.mdx -A 2 -B 2

Repository: flanksource/docs

Length of output: 371


🌐 Web query:

github flanksource/mission-control-registry commit 594d6866a3d34e915da4b69972122a98b845532e charts/azure/values.schema.json

💡 Result:

The Git commit hash 594d6866a3d34e915da4b69972122a98b845532e is not associated with a specific file change or commit in the flanksource/mission-control-registry repository based on the public record as of June 23, 2026. While the flanksource/mission-control-registry repository exists on GitHub, there is no evidence linking this specific commit hash to any files in that repository, including charts/azure/values.schema.json. It is common for specific commit hashes to be project-specific, private, or invalid when referenced outside of their specific origin repository. Furthermore, Flanksource Mission Control uses standard Helm chart structures where values.schema.json files are typically managed within the individual Helm chart directories of their official repositories. Official documentation for Flanksource integrations, such as Azure, confirms that configuration is handled through standard Helm values or Connection CRDs rather than a centralized registry containing this specific commit. [1][2][3][4][5][6][7]

Citations:


🏁 Script executed:

# Find the previous commit for modules/mission-control-registry to compare
git log --oneline -20 -- modules/mission-control-registry

Repository: flanksource/docs

Length of output: 202


This submodule bump breaks the docs build.

The pinned commit 594d6866a3d34e915da4b69972122a98b845532e does not contain charts/azure/values.schema.json, which mission-control/docs/integrations/azure.mdx imports. Either revert the submodule bump or update the import path in azure.mdx.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@modules/mission-control-registry` at line 1, The mission-control-registry
submodule has been bumped to commit 594d6866a3d34e915da4b69972122a98b845532e,
but this commit does not contain the charts/azure/values.schema.json file that
is being imported by mission-control/docs/integrations/azure.mdx. To fix this,
either revert the submodule bump in modules/mission-control-registry to a
previous commit that contains the required file, or update the import path in
mission-control/docs/integrations/azure.mdx to reference a file or path that
exists in the current pinned submodule commit. Verify the fix by confirming the
docs build succeeds.

@yashmehrotra yashmehrotra merged commit ba8939e into main Jun 23, 2026
18 checks passed
@yashmehrotra yashmehrotra deleted the fix-file-links branch June 23, 2026 07:18
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.

1 participant