Skip to content

Conversation

@suisuss
Copy link

@suisuss suisuss commented Feb 10, 2026

  • Add keeperhub-scheduler and keeperhub-events as git submodules on staging branch
  • Update docker-compose.yml to use submodule Dockerfiles with correct build targets
  • Dispatcher runs in Docker Compose (dev + minikube profiles), polls DB and sends to SQS
  • Executor runs in K8s via hybrid-deploy, calls app API to execute workflows
  • Remove duplicate scheduler services from minikube profile (K8s handles execution)
  • Add event-worker and event-tracker services (dev + minikube profiles)
  • Update deploy.sh to source .env for worktree-specific DB names
  • Update Makefile build-scheduler-images for new Dockerfile targets
  • Add resource caps to app-dev (4GB memory, 2 CPUs, 3072MB Node heap)

…dules

- Add keeperhub-scheduler and keeperhub-events as git submodules on staging branch
- Update docker-compose.yml to use submodule Dockerfiles with correct build targets
- Dispatcher runs in Docker Compose (dev + minikube profiles), polls DB and sends to SQS
- Executor runs in K8s via hybrid-deploy, calls app API to execute workflows
- Remove duplicate scheduler services from minikube profile (K8s handles execution)
- Add event-worker and event-tracker services (dev + minikube profiles)
- Update deploy.sh to source .env for worktree-specific DB names
- Update Makefile build-scheduler-images for new Dockerfile targets
- Add resource caps to app-dev (4GB memory, 2 CPUs, 3072MB Node heap)
@suisuss suisuss force-pushed the feat/KEEP-1291-submodules branch from 10a26d5 to f0cfd96 Compare February 10, 2026 05:08
The executor image runs schedule-executor/index.ts, not job-spawner.
The liveness probe was checking for 'job-spawner' which would never
match, causing restart loops.
The DATABASE_URL in hybrid-deploy was hardcoded to 'keeperhub',
ignoring the worktree-specific database name from .env. Now uses
POSTGRES_DB with keeperhub as the default fallback.
- Remove dead RBAC rules for batch/jobs and pods/log (executor is
  API-based, does not create K8s Jobs)
- Update deployment comment to reflect API-based execution
- Remove stale cronjob and workflow-runner cleanup from teardown
- Fix README description to match current architecture
- Add deploy/local/README.md documenting the full K8s deployment mode
- Update schedule-trigger.yaml to use submodule images
  (keeperhub-dispatcher, keeperhub-executor) instead of old
  keeperhub-scheduler image
- Remove stale K8s Job settings (RUNNER_IMAGE, K8S_NAMESPACE, etc.)
  since executor is API-based
- Remove dead RBAC rules for batch/jobs
- Fix liveness probe to match actual process (schedule-executor)
- Load dispatcher image into minikube in build-scheduler-images
- Remove workflow-runner build from build-scheduler-images (not used
  with API-based executor)
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