Skip to content

Migrate PayGuard from Oracle to PostgreSQL and integrate HashiCorp Vault #26

Closed
6 of 6 issues completed

Description

@Amir-Golmoradi

Type: Infrastructure / Security / Database Migration
Priority: High
Component: Platform Infrastructure
Status: Planned

Objective

Modernize PayGuard's persistence and secrets-management infrastructure by migrating all applicable business services from Oracle to PostgreSQL and integrating self-hosted HashiCorp Vault.

Preserve PayGuard's financial correctness, customer identities, domain invariants, database ownership, and service isolation.

All implementation work is organized into six GitHub Sub-issues.

Sub-issues

  1. Repository Inventory & Architecture Decisions
  2. Oracle to PostgreSQL Migration
  3. Concurrency & Transactional Correctness
  4. HashiCorp Vault Integration
  5. Integration & Security Testing
  6. Documentation & Operational Handover

Track progress through GitHub's native Sub-issues feature. Each phase must be managed and reviewed independently.

Architectural Constraints

  • Preserve one owned database per business service.
  • Maintain customer identities and financial data integrity.
  • Keep persistence and secrets infrastructure outside Domain models.
  • Preserve JSpecify nullness contracts.
  • Use open-source-compatible PostgreSQL, jOOQ, and Vault capabilities.
  • Prevent destructive migrations or unauthorized data loss.
  • Never commit secrets or use Vault root tokens in application services.
  • Require reproducible tests before making correctness or security claims.
  • Avoid unrelated authentication redesigns or framework migrations.

Definition of Done

  • All six Sub-issues are completed.
  • All applicable services have migrated to PostgreSQL.
  • Vault integration is functional and verified.
  • Required concurrency and security tests pass.
  • Architecture Decision Records are completed.
  • Migration and operational documentation are complete.
  • Changes are reviewed and merged.
  • Outstanding limitations are documented.

Ownership: All implementation is performed by the repository maintainer. This issue authorizes no automated repository modification.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions