Repository navigation
[deploy] Skip database index script when image lacks it - #4375
Conversation
The net installer bundles the chart from master but deploys whatever image version is requested. The v3.0.0 database image does not include 01-indexes.js, so the postStart hook failed and the kubelet killed the database container on every start. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (2)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe installer rejects versions below major version 3 and documents v3.0.0 as the minimum. The database post-start hook runs the index script when it exists and logs when it is absent. ChangesVersion compatibility
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix Merge Risk: ⚪ Minimal · up to The installer examples match accepted inputs, and the database hook skips the index script when it is absent from older images. No actionable merge-blocking issue remains. Architecture SummaryArchitecture risk: 🔵 Low · up to The change affects 2 systems. Changed systems: Architecture concerns Review detailsSystems and components
Before / after behavior
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings
🧪 Generate unit tests (beta)
🛠️ Fix failing CI checks 💡
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 |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #4375 +/- ##
=======================================
Coverage 76.26% 76.26%
=======================================
Files 305 305
Lines 11452 11452
Branches 1409 1409
=======================================
Hits 8734 8734
Misses 2324 2324
Partials 394 394
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
The bundled charts assume a replica-set database, which the images before v3.0.0 do not support. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
imnasnainaec
left a comment
There was a problem hiding this comment.
@imnasnainaec reviewed all commit messages.
Reviewable status: 0 of 3 files reviewed, all discussions resolved (waiting on jasonleenaylor).
jasonleenaylor
left a comment
There was a problem hiding this comment.
Looks good. One question inline about the floor going forward; not blocking.
This review was assisted by Claude Fable 5.1.
The net installer bundles master's charts but can deploy images as old as v3.0.0, so chart steps that need newer image content must be guarded rather than the minimum version raised. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The net installer is built from
master, so it bundlesmaster's Helm chart, but it deploys whatever image version is requested. Since #4328, the database postStart hook runs/opt/thecombine/01-indexes.js, which the v3.0.0combine_databaseimage does not contain. Installing v3.0.0 with the current net installer therefore fails the hook, and the kubelet kills the database container on every start (CrashLoopBackOff, with mongod exiting cleanly after SIGTERM).This change runs the index script only when the image includes it, and logs a skip otherwise. v3.0.0's backend does not use
EditsCollection, so skipping the index is safe there; v3.0.1+ images will include the script and behave as before.Other chart changes since v3.0.0 were checked for compatibility with v3.0.0 images (frontend readiness probe on port 80, cert-proxy memory values) and need no change.
🤖 Generated with Claude Code
This change is
Devin review: https://app.devin.ai/review/sillsdev/TheCombine/pull/4375
Summary by CodeRabbit
Summary