chore(docker): add docker setup and rewrite README#1208
chore(docker): add docker setup and rewrite README#1208aimansharief wants to merge 12 commits intoSunbird-Knowlg:developfrom
Conversation
- Add docker/docker-compose.yml with YugabyteDB, JanusGraph, ES, Kafka, and Redis (optional via profile) - Add JanusGraph config and schema_init.groovy for auto schema creation - Remove old docker-compose.yml and local-setup.sh from repo root - Rewrite README to match knowledge-platform-jobs pattern Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ 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 |
- Document Option A (individual service) and Option B (knowlg-service) - Add macOS-specific steps using play2:dist + tar + ./start Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Downloads CQL scripts from sunbird-spark-installer and runs them against the local YugabyteDB container to create required keyspaces and tables. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
- Add git clone as step 1 - Reorder into sequential steps (clone, infra, DB init, build, run) - Add Docker Desktop 6GB RAM requirement - Add wait times and progress check commands - Clarify directory context for each step - Separate cloud storage configs by provider - Note cloud storage is optional for basic API testing Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Add init-elasticsearch.sh that downloads compositesearch index and mapping definitions from sunbird-devops and applies them via REST API. Update README with Step 4 for ES initialization. Add .es-migrations to .gitignore. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
There was a problem hiding this comment.
Pull request overview
Moves local infrastructure and developer setup docs to a self-contained docker/ directory, aligning local dev startup with the newer Knowledge Platform deployment pattern (YugabyteDB + JanusGraph + Elasticsearch + Kafka, Redis optional).
Changes:
- Replaces root-level
docker-compose.ymlandlocal-setup.shwithdocker/docker-compose.ymlplus init scripts. - Adds JanusGraph server + storage configs and an auto-run Groovy schema/index initialization script.
- Rewrites
README.mdto document the new local-dev flow and CI/CD variables.
Reviewed changes
Copilot reviewed 9 out of 10 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Updated local dev/setup docs for the new docker/-based workflow |
| local-setup.sh | Removed legacy one-step setup script |
| docker/janusgraph/scripts/schema_init.groovy | Adds automatic JanusGraph schema/index bootstrap on startup |
| docker/janusgraph/conf/janusgraph.properties | Configures JanusGraph storage backend (YCQL/Yugabyte) |
| docker/janusgraph/conf/gremlin-server.yaml | Configures Gremlin Server and loads schema init script |
| docker/init-yugabyte.sh | Downloads & applies Yugabyte CQL migrations from upstream repo |
| docker/init-elasticsearch.sh | Downloads & applies Elasticsearch index/mapping definitions from upstream repo |
| docker/docker-compose.yml | New infra compose for Yugabyte, JanusGraph, ES, Kafka (+ Redis profile) |
| docker-compose.yml | Removed legacy root-level compose |
| .gitignore | Ignores downloaded migration working directories under docker/ |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Sparse-checkout sunbird-inquiry alongside sunbird-knowlg and run hierarchy_store.cql and question_store.cql migrations. Refactor script to use run_migrations function for multiple migration dirs. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
…vices Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
- Add healthcheck to yugabyte service; JanusGraph waits for service_healthy before starting - Add max retry count (60s) to ES readiness loop in init-elasticsearch.sh - Remove stderr suppression from git clone/sparse-checkout in both init scripts so failures are diagnosable Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
Summary
docker-compose.ymlandlocal-setup.shwith a self-containeddocker/directorydocker/docker-compose.ymlwith YugabyteDB, JanusGraph, Elasticsearch, Kafka, and Redis (optional via profile)schema_init.groovyfor automatic schema creation on startupTest plan
cd docker && docker compose up -dand verify all services startdocker logs janusgraph | grep "SCHEMA INITIALIZATION"--profile redismvn clean install -DskipTests🤖 Generated with Claude Code