Skip to content

chore(docker): add docker setup and rewrite README#1208

Open
aimansharief wants to merge 12 commits intoSunbird-Knowlg:developfrom
aimansharief:readme-update
Open

chore(docker): add docker setup and rewrite README#1208
aimansharief wants to merge 12 commits intoSunbird-Knowlg:developfrom
aimansharief:readme-update

Conversation

@aimansharief
Copy link
Copy Markdown
Collaborator

Summary

  • Replace root-level docker-compose.yml and local-setup.sh with a self-contained docker/ directory
  • Add docker/docker-compose.yml with YugabyteDB, JanusGraph, Elasticsearch, Kafka, and Redis (optional via profile)
  • Add JanusGraph config files and schema_init.groovy for automatic schema creation on startup
  • Rewrite README to match knowledge-platform-jobs pattern

Test plan

  • Run cd docker && docker compose up -d and verify all services start
  • Confirm JanusGraph schema initializes: docker logs janusgraph | grep "SCHEMA INITIALIZATION"
  • Verify Redis only starts with --profile redis
  • Build project with mvn clean install -DskipTests

🤖 Generated with Claude Code

- 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]>
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 7, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: b172e368-aa1a-49de-80d3-f76cd464ab81

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

aimansharief and others added 8 commits April 7, 2026 16:13
- 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]>
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

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.yml and local-setup.sh with docker/docker-compose.yml plus init scripts.
  • Adds JanusGraph server + storage configs and an auto-run Groovy schema/index initialization script.
  • Rewrites README.md to 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.

aimansharief and others added 3 commits April 10, 2026 12:04
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]>
- 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]>
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.

2 participants