Skip to content

refactor: migrate from Kubernetes to Docker Compose deployment#2399

Closed
SatoryKono wants to merge 1 commit intomainfrom
claude/bioetl-kubernetes-script-ftI9U
Closed

refactor: migrate from Kubernetes to Docker Compose deployment#2399
SatoryKono wants to merge 1 commit intomainfrom
claude/bioetl-kubernetes-script-ftI9U

Conversation

@SatoryKono
Copy link
Copy Markdown
Owner

Summary

Migrate BioETL deployment infrastructure from Kubernetes to Docker Compose, implementing ADR-010 (Local-Only Deployment). This change simplifies the deployment model for development and staging environments while maintaining full feature parity with the previous Kubernetes setup.

Changes

  • scripts/deploy-bioetl.sh: Complete rewrite from Kubernetes-based deployment to Docker Compose orchestration

    • Replaced kubectl commands with docker compose equivalents
    • Expanded action set: added start, stop, restart, shell, run-pipeline, backup, restore commands
    • Improved error handling with set -euo pipefail and prerequisite checks
    • Added colored output for better UX (info, success, warn, error)
    • Enhanced documentation with detailed usage examples and architecture notes
    • Supports multiple compose files (infra, app, monitoring) with flexible composition
    • Added health check monitoring and service status reporting
    • Implemented data backup/restore functionality with volume snapshots
  • docker-compose.app.yml: New file defining BioETL application service

    • Multi-stage Docker build with production target
    • Environment configuration via .env file
    • Volume mounts for data persistence and config
    • Health checks with configurable intervals
    • Resource limits and reservations (memory/CPU)
    • Network integration with WARP infrastructure service
    • Metrics port exposure (8000)
  • Makefile: Added deployment convenience targets

    • deploy: Full stack deployment
    • deploy-status: Service status check
    • deploy-stop: Stop services (preserve data)
    • deploy-update: Rebuild and restart app only
    • deploy-teardown: Destructive cleanup
    • deploy-logs: Log streaming

Benefits

  • Simplified Operations: Docker Compose is more accessible than Kubernetes for local/staging deployments
  • Better DX: New commands like shell, run-pipeline, backup/restore improve developer experience
  • Flexible Composition: Separate compose files allow independent scaling of infra, app, and monitoring
  • Data Safety: Explicit backup/restore with volume snapshots
  • Health Monitoring: Built-in health checks and status reporting
  • Resource Control: Explicit memory/CPU limits prevent resource exhaustion

Checklist

  • make lint passes
  • make test passes (no new tests required—deployment script is operational)
  • No hardcoded secrets or credentials (uses .env file)
  • Architecture tests pass
  • Documentation updated (inline script comments, help text, Makefile targets)
  • Follows Conventional Commits format

Notes

  • Kubernetes manifests (k8s-*.yaml) are no longer used; can be archived or removed in follow-up
  • .env file is required; script copies from .env.example if missing
  • Backward compatibility: existing docker-compose.yml and docker-compose.monitoring.yml are reused
  • All data volumes are preserved across stop/start cycles; only teardown is destructive

https://claude.ai/code/session_01P4MZFVobVkix1c6FCXmu9g

- Rewrite scripts/deploy-bioetl.sh: remove all kubectl/k8s references,
  use Docker Compose to orchestrate app + infra + monitoring services
- Add docker-compose.app.yml: BioETL application service definition
  using the multi-stage Dockerfile from docs/05-operations
- Add Makefile targets: deploy, deploy-status, deploy-stop, deploy-update,
  deploy-teardown, deploy-logs for convenient deployment management
- Add backup/restore, shell, and run-pipeline actions to deploy script
- Aligns with ADR-010 (Local-Only Deployment model)

https://claude.ai/code/session_01P4MZFVobVkix1c6FCXmu9g
@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@SatoryKono SatoryKono closed this Mar 3, 2026
@SatoryKono SatoryKono deleted the claude/bioetl-kubernetes-script-ftI9U branch March 3, 2026 12:50
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