added mssql-server migration doc#1030
Conversation
Signed-off-by: Pulok Saha <puloksaha@appscode.com>
📝 WalkthroughWalkthroughAdds MSSQL Server migration documentation, example manifests, CRD configuration guidance, source and target setup instructions, migration monitoring steps, CDC validation, and cutover procedures. ChangesMSSQL Server migration documentation
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (2)
docs/guides/mssqlserver/migration/databaseMigration.md (2)
110-116: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueAdd language specifiers to fenced output blocks.
Three fenced code blocks showing expected output (lines 110, 381, 426) lack a language specifier, triggering MD040. Adding
textas the language improves lint compliance and syntax highlighting consistency.✏️ Proposed fix (line 110 example)
-``` +```text CustomerID Name Email City CreatedAt ----------- ------ ------------------ -------- -----------------------Also applies to: 381-387, 426-432
🤖 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 `@docs/guides/mssqlserver/migration/databaseMigration.md` around lines 110 - 116, Add the text language specifier to the three fenced code blocks showing expected output, including the blocks near the CustomerID table and the sections referenced around lines 381 and 426. Update each opening fence from ``` to ```text while leaving the output contents unchanged.
324-326: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueClarify the
watchcommand presentation.Line 325 shows
Every 2.0s: kubectl get mssqlservermigrations -n demoinside abashcode block, which reads as a command to run. This is actually the header line fromwatchoutput. Consider either showing the actual command (watch kubectl get mssqlservermigrations -n demo) or separating the command from its output.✏️ Proposed fix
```bash -$ Every 2.0s: kubectl get mssqlservermigrations -n demo +$ watch kubectl get mssqlservermigrations -n demo🤖 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 `@docs/guides/mssqlserver/migration/databaseMigration.md` around lines 324 - 326, Clarify the watch example by replacing the displayed output header with the executable command `watch kubectl get mssqlservermigrations -n demo` in the relevant migration guide code block, or separate the command from its sample output.
🤖 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 `@docs/guides/mssqlserver/migration/databaseMigration.md`:
- Around line 374-377: Update the sqlcmd executable path in the database
migration example to /opt/mssql-tools18/bin/sqlcmd, keeping the existing kubectl
command and arguments unchanged.
---
Nitpick comments:
In `@docs/guides/mssqlserver/migration/databaseMigration.md`:
- Around line 110-116: Add the text language specifier to the three fenced code
blocks showing expected output, including the blocks near the CustomerID table
and the sections referenced around lines 381 and 426. Update each opening fence
from ``` to ```text while leaving the output contents unchanged.
- Around line 324-326: Clarify the watch example by replacing the displayed
output header with the executable command `watch kubectl get
mssqlservermigrations -n demo` in the relevant migration guide code block, or
separate the command from its sample output.
🪄 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: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 2a93c205-3229-46bd-9e82-2aff720c4add
📒 Files selected for processing (7)
docs/examples/mssqlserver/migration/mssqlserver-migration.yamldocs/examples/mssqlserver/migration/source-issuer.yamldocs/examples/mssqlserver/migration/target-mssqlserver.yamldocs/guides/mssqlserver/concepts/migrator.mddocs/guides/mssqlserver/migration/_index.mddocs/guides/mssqlserver/migration/databaseMigration.mddocs/operatormanual/migration/README.md
Signed-off-by: Pulok Saha <puloksaha@appscode.com>
There was a problem hiding this comment.
Actionable comments posted: 2
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
docs/guides/mssqlserver/migration/databaseMigration.md (1)
110-116: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winMark the timestamps as illustrative.
The data is generated with
GETDATE(), so fixed2026-07-10timestamps will not match most executions and may make valid migration output appear incorrect. Use placeholder timestamps or explicitly label them as illustrative.🤖 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 `@docs/guides/mssqlserver/migration/databaseMigration.md` around lines 110 - 116, Mark the fixed CreatedAt timestamps in the example output as illustrative, or replace them with placeholder values, since the migration uses GETDATE() and actual execution times will differ.
🤖 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 `@docs/guides/mssqlserver/migration/databaseMigration.md`:
- Line 325: Remove the `$` prompt marker from the `watch kubectl get
mssqlservermigrations -n demo` example, or add representative command output
beneath it so the prompt is justified and markdownlint MD014 passes.
- Around line 375-376: Update the database migration documentation’s sqlcmd
examples to avoid inline or echoed SA passwords: use an interactive prompt or
another non-logged secret-injection method, and remove any commands that print
the decoded secret. Apply this consistently to the Customer query and the
related kubectl secret/sqlcmd examples.
---
Outside diff comments:
In `@docs/guides/mssqlserver/migration/databaseMigration.md`:
- Around line 110-116: Mark the fixed CreatedAt timestamps in the example output
as illustrative, or replace them with placeholder values, since the migration
uses GETDATE() and actual execution times will differ.
🪄 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: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 7971680a-1909-48c4-978b-0a436550036b
📒 Files selected for processing (1)
docs/guides/mssqlserver/migration/databaseMigration.md
| Let's wait for the Migration to finish the schema and snapshot phases and enter the streaming phase. Run the following command to watch `MSSQLServerMigration` CR: | ||
|
|
||
| ```bash | ||
| $ watch kubectl get mssqlservermigrations -n demo |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Remove the $ prompt marker or show command output.
This command triggers markdownlint MD014 because it begins with $ but has no corresponding output.
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 325-325: Dollar signs used before commands without showing output
(MD014, commands-show-output)
🤖 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 `@docs/guides/mssqlserver/migration/databaseMigration.md` at line 325, Remove
the `$` prompt marker from the `watch kubectl get mssqlservermigrations -n demo`
example, or add representative command output beneath it so the prompt is
justified and markdownlint MD014 passes.
Source: Linters/SAST tools
| $ kubectl exec -it -n demo mssqlserver-standalone-0 -- /opt/mssql-tools18/bin/sqlcmd \ | ||
| -S localhost -U sa -P '<sa-password>' -C -Q "SELECT * FROM RestaurantMigrationDB.dbo.Customers" |
There was a problem hiding this comment.
🔒 Security & Privacy | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
sed -n '360,430p' docs/guides/mssqlserver/migration/databaseMigration.md | cat -nRepository: kubedb/docs
Length of output: 3124
🏁 Script executed:
nl -ba docs/guides/mssqlserver/migration/databaseMigration.md | sed -n '380,430p'Repository: kubedb/docs
Length of output: 185
🏁 Script executed:
python3 - <<'PY'
from pathlib import Path
path = Path('docs/guides/mssqlserver/migration/databaseMigration.md')
for start, end in [(380, 430)]:
for i, line in enumerate(path.read_text().splitlines(), 1):
if start <= i <= end:
print(f"{i:4d}: {line}")
PYRepository: kubedb/docs
Length of output: 2055
Avoid printing or inlining the SA password here. The kubectl get secret ... | base64 -d example at line 389 echoes the decoded secret, and the -P argument at lines 420-421 would expose the password in shell history and process listings if copied as written. Use an interactive prompt or another non-logged secret-injection path, and keep the decoded password out of the docs.
🤖 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 `@docs/guides/mssqlserver/migration/databaseMigration.md` around lines 375 -
376, Update the database migration documentation’s sqlcmd examples to avoid
inline or echoed SA passwords: use an interactive prompt or another non-logged
secret-injection method, and remove any commands that print the decoded secret.
Apply this consistently to the Customer query and the related kubectl
secret/sqlcmd examples.
|
Visit the preview URL for this PR (updated for commit eefd758): https://kubedb-v2-hugo--pr1030-mssqlserver-migratio-0bmqm9jm.web.app (expires Fri, 17 Jul 2026 11:36:38 GMT) 🔥 via Firebase Hosting GitHub Action 🌎 Sign: 0f29ae8ae0bd54a99bf2b223b6833be47acd5943 |
Summary by CodeRabbit