yasithdev opened a new pull request, #592: URL: https://github.com/apache/airavata/pull/592
## Summary Consolidates 7+ separate databases into a single `airavata` database and introduces a unified V1 baseline schema generated from the JPA entity annotations in the codebase. ### What changed - **Single database**: All persistence units (`experiment_catalog`, `app_catalog`, `replica_catalog`, `workflow_catalog`, `sharing_catalog`, `credential_store`, `profile_service`) now point to one `airavata` database - **V1 baseline schema**: 146 tables generated from `@Entity`/`@Table` annotations across all modules, verified 1:1 against ORM create mode output - **Table name deduplication**: Profile `GATEWAY` → `TENANT_GATEWAY`, Research `PROJECT` → `RESEARCH_PROJECT` (resolved collisions from merging separate DBs) - **Removed dead code**: Legacy `workflowcatalog` entities (not in any persistence unit), `DatabaseCreator`, `DBMigrator`, old migration delta scripts - **Hostname standardization**: All configs use `airavata.localhost` (RFC 6761 `.localhost` TLD, auto-resolves to `127.0.0.1`) - **Simplified `compose.yml`**: Single compose file with MariaDB, RabbitMQ, ZooKeeper, Kafka, Keycloak. DB auto-initializes from V1 schema via `docker-entrypoint-initdb.d` - **Removed `.devcontainer/`**: Consolidated configs into `conf/` and root `compose.yml` ### Files changed by category | Category | Description | |----------|-------------| | Java entities (2 lines) | `@Table`/`@Entity` name renames for deduplication | | Java DB init | `DBInitializer` → no-op (schema from SQL now) | | Java deleted | `DatabaseCreator`, `MappingToolRunner`, `DBMigrator`, etc. | | SQL | V1 baseline (1720 lines), removed old per-catalog scripts | | Properties/YAML | JDBC URLs → single DB, hostnames → `airavata.localhost` | | Docker | New `compose.yml`, removed old `docker-compose.yml` + `.devcontainer/` | | Ansible | DB names unified, hostnames standardized | | pom.xml | Removed `registry-db-migrator` module | **No business logic, API, or feature changes** — purely DB/DevOps. ## Verification All 9 services tested from clean slate (`docker compose up` + V1 schema): | Service | ORM | Validate | Port | |---------|-----|----------|------| | Registry Server | OpenJPA | PASS | 8970 | | Credential Store | OpenJPA | PASS | 8960 | | Sharing Registry | OpenJPA | PASS | 7878 | | API Server | OpenJPA | PASS | 8930 | | Orchestrator | OpenJPA | PASS | 8940 | | Profile Service | OpenJPA | PASS | 8962 | | Research Service | Hibernate | PASS | 18889 | | Agent Service | Hibernate | PASS | 18880 | Zero schema errors, zero RabbitMQ errors, all ports listening. ## Test plan - [x] `mvn clean install -DskipTests` builds successfully - [x] `docker compose up -d` starts all infrastructure - [x] V1 schema loads cleanly (146 tables, no errors) - [x] OpenJPA services connect and validate against schema - [x] Hibernate services (`ddl-auto: validate`) pass - [x] All 9 service ports listening simultaneously - [ ] Run existing test suites with Docker available 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
