Skip to content

fix: removed helm deploy - now through docker-compose/shell file, updated docs#140

Merged
HardMax71 merged 1 commit intomainfrom
fix/deploy
Feb 6, 2026
Merged

fix: removed helm deploy - now through docker-compose/shell file, updated docs#140
HardMax71 merged 1 commit intomainfrom
fix/deploy

Conversation

@HardMax71
Copy link
Owner

@HardMax71 HardMax71 commented Feb 6, 2026

Summary by cubic

Replaces Helm-based deployment with a single Docker Compose flow via deploy.sh. All workers now run from the backend image with command overrides, and docs/CI are updated to match.

  • Refactors

    • Removed Helm chart and worker Dockerfiles; use backend image + command for all workers.
    • Simplified deploy.sh to Compose-only (dev/down/logs/test/check); dropped prod/Helm paths.
    • Updated docker-compose.yaml to run kafka-init and user-seed from the backend image.
    • CI: stopped building/promoting worker images; trimmed workflows; E2E no longer seeds users in the action.
    • Docs updated for Compose deployment, worker commands, nginx notes, and DLQ entrypoint rename.
  • Migration

    • Stop using Helm; remove any Helm chart references and values files.
    • Start the stack with ./deploy.sh dev (use --build on first run); use ./deploy.sh down to stop.
    • If you referenced worker images (e.g., coordinator, k8s-worker), switch to the backend image with the documented command.

Written for commit c99f4e9. Summary will update on new commits.

Summary by CodeRabbit

  • Chores

    • Removed Helm chart configuration files and values.
    • Removed individual worker Dockerfile definitions; workers now use consolidated backend image.
    • Removed Helm-related ignore patterns.
  • Documentation

    • Updated deployment and CI/CD documentation to reflect Docker Compose approach.
    • Updated component documentation with new image and command configurations.
    • Updated CODEOWNERS and getting-started references.
  • Refactor

    • Updated CI/CD workflows to reduce image build matrix and scanning scope.
    • Updated docker-compose.yaml to use pre-built images with explicit Python command overrides.
    • Removed Kubernetes deployment capabilities from deployment script.

@coderabbitai
Copy link

coderabbitai bot commented Feb 6, 2026

📝 Walkthrough

Walkthrough

This PR eliminates Helm-based Kubernetes deployment infrastructure, removing all Helm chart templates and related configuration. Worker services consolidate to use a pre-built backend image with runtime command overrides. Docker Compose becomes the exclusive deployment mechanism, replacing the previous dual local/production workflow.

Changes

Cohort / File(s) Summary
Configuration & Ownership
.github/CODEOWNERS, .gitignore
Removed helm/ path ownership and Helm-related ignore patterns; simplified DevOps/CI section header.
CI Workflow Updates
.github/actions/e2e-ready/action.yml, .github/workflows/docker.yml, .github/workflows/stack-tests.yml
Reduced build scope to exclude coordinator, k8s-worker, pod-monitor, result-processor, saga-orchestrator, event-replay, dlq-processor from scan matrix and image promotion; updated test user seeding steps and summary counts.
Worker Dockerfiles Removal
backend/workers/Dockerfile.coordinator, backend/workers/Dockerfile.dlq_processor, backend/workers/Dockerfile.event_replay, backend/workers/Dockerfile.k8s_worker, backend/workers/Dockerfile.pod_monitor, backend/workers/Dockerfile.result_processor, backend/workers/Dockerfile.saga_orchestrator
Deleted seven per-service worker Dockerfiles; worker services now use shared pre-built backend image.
Deployment Script Simplification
deploy.sh
Removed Helm/Kubernetes deployment functions (cmd_prod(), deploy_helm(), build_and_import_images()), Helm configuration variables, and related status output; script now supports only docker-compose workflows.
Docker Compose Refactoring
docker-compose.yaml
Consolidated multiple services to use prebuilt ghcr.io/hardmax71/integr8scode/backend:${IMAGE_TAG:-latest} image with explicit Python runtime commands, replacing per-service Dockerfile builds and base image contexts.
Helm Chart Deletion
helm/integr8scode/Chart.yaml, helm/integr8scode/.helmignore, helm/integr8scode/values.yaml, helm/integr8scode/values-prod.yaml, helm/integr8scode/charts/.gitkeep, helm/integr8scode/templates/*
Complete removal of Helm chart structure including metadata, default values, and all 15+ Kubernetes manifests (Deployments, Services, ConfigMaps, RBAC, Secrets, Jobs, Infrastructure components).
Worker Documentation Updates
docs/components/workers/coordinator.md, docs/components/workers/dlq_processor.md, docs/components/workers/event_replay.md, docs/components/workers/k8s_worker.md, docs/components/workers/pod_monitor.md, docs/components/workers/result_processor.md, docs/components/workers/saga_orchestrator.md, docs/components/workers/index.md
Updated deployment configurations from per-service Dockerfiles to prebuilt image with command overrides; updated entry-point references (e.g., dlq_processor.py → run_dlq_processor.py).
Infrastructure Documentation
docs/components/dead-letter-queue.md, docs/getting-started.md, docs/operations/cicd.md, docs/operations/deployment.md, docs/operations/nginx-configuration.md, docs/security/policies.md
Updated to reflect Docker Compose-only deployment model, removed Helm/Kubernetes references, updated image counts in CI documentation, simplified deployment workflow descriptions.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~35 minutes

Possibly related PRs

Poem

🐰 Helm charts gone, containers freed,
Docker Compose fulfills our need,
Workers bundled, backends shared,
Simpler paths, more lightly paired! 🎉

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: removal of Helm deployment infrastructure and migration to Docker Compose/shell-based deployment with documentation updates.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/deploy

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.

@sonarqubecloud
Copy link

sonarqubecloud bot commented Feb 6, 2026

Copy link

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

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

No issues found across 60 files

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (3)
deploy.sh (1)

105-108: ⚠️ Potential issue | 🟡 Minor

--timeout without a value will produce an empty --wait-timeout flag.

If --timeout is passed as the last argument (no value follows), WAIT_TIMEOUT is set to an empty string, which will cause docker compose up ... --wait-timeout "" to fail with a confusing error.

Proposed fix: validate the shifted value
             --timeout)
                 shift
+                if [[ -z "$1" || "$1" == --* ]]; then
+                    print_error "--timeout requires a value in seconds"
+                    exit 1
+                fi
                 WAIT_TIMEOUT="$1"
                 ;;

Apply the same pattern to cmd_infra at Line 166.

.github/workflows/docker.yml (1)

138-145: ⚠️ Potential issue | 🟡 Minor

Summary table is missing cert-generator and zookeeper-certgen.

The summary claims "All 5 images scanned" but the pull-command table only lists 3 images (Base, Backend, Frontend). The two utility images that are scanned and promoted (Lines 112-113) are omitted from the summary.

Proposed fix: add the missing rows
           echo "| Base | \`docker pull $REGISTRY/$PREFIX/base:latest\` |" >> $GITHUB_STEP_SUMMARY
           echo "| Backend | \`docker pull $REGISTRY/$PREFIX/backend:latest\` |" >> $GITHUB_STEP_SUMMARY
           echo "| Frontend | \`docker pull $REGISTRY/$PREFIX/frontend:latest\` |" >> $GITHUB_STEP_SUMMARY
+          echo "| Cert Generator | \`docker pull $REGISTRY/$PREFIX/cert-generator:latest\` |" >> $GITHUB_STEP_SUMMARY
+          echo "| Zookeeper Certgen | \`docker pull $REGISTRY/$PREFIX/zookeeper-certgen:latest\` |" >> $GITHUB_STEP_SUMMARY
           echo "" >> $GITHUB_STEP_SUMMARY
docker-compose.yaml (1)

419-437: ⚠️ Potential issue | 🟠 Major

Add mongo dependency to pod-monitor service.

pod-monitor initializes MongoDB connection and Beanie ORM at startup (AsyncMongoClient and init_beanie are called in the main async function), but currently declares only a kafka-init dependency. This will cause startup failures if MongoDB is not available. Add mongo to depends_on to match the pattern used by other workers that access the database (coordinator, k8s-worker, result-processor, saga-orchestrator, event-replay, dlq-processor).

🧹 Nitpick comments (2)
docs/components/dead-letter-queue.md (1)

39-39: Minor: phrasing reads slightly awkwardly after the rename.

run_dlq_processor is a script, not a service. Consider something like "The DLQ processor (run_dlq_processor.py) is a separate service that monitors…" for clarity.

deploy.sh (1)

92-119: Unknown flags are silently ignored.

The case block has no *) default branch, so unrecognized flags (e.g., ./deploy.sh dev --typo) are consumed without warning. Consider adding a catch-all to alert the user.

Proposed fix
             --debug)
                 PROFILE_FLAGS="--profile observability --profile debug"
                 print_info "Including observability + debug tools (Kafdrop, etc.)"
                 ;;
+            *)
+                print_error "Unknown option: $1"
+                show_help
+                exit 1
+                ;;
         esac

@HardMax71 HardMax71 merged commit ebdc049 into main Feb 6, 2026
17 checks passed
@HardMax71 HardMax71 deleted the fix/deploy branch February 6, 2026 18:57
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.

1 participant