- 
                Notifications
    You must be signed in to change notification settings 
- Fork 83
EXP - feat(deployment): Add support for multi-node deployment with target-specific service control. #1492
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
…pecific service control.
| Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the  You can disable this status message by setting the  ✨ Finishing touches🧪 Generate unit tests (beta)
 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. Comment  | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
there is no change in the services that are moved from docker-compose.yaml except they might be labelled with a new profile in profiles
| self._launch_database = target in (DeploymentTarget.ALL, DeploymentTarget.CONTROLLER) | ||
| self._launch_redis = target in (DeploymentTarget.ALL, DeploymentTarget.CONTROLLER) | ||
| self._launch_queue = target in (DeploymentTarget.ALL, DeploymentTarget.CONTROLLER) | ||
| self._launch_results_cache = target in (DeploymentTarget.ALL, DeploymentTarget.CONTROLLER) | ||
| self._launch_compression_scheduler = target in (DeploymentTarget.ALL, DeploymentTarget.CONTROLLER) | ||
| self._launch_query_scheduler = target in (DeploymentTarget.ALL, DeploymentTarget.CONTROLLER) | ||
| self._launch_garbage_collector = target in (DeploymentTarget.ALL, | ||
| DeploymentTarget.CONTROLLER) and is_retention_period_configured(clp_config) | ||
|  | ||
| # Workers | ||
| self._launch_compression_worker = target in (DeploymentTarget.ALL, DeploymentTarget.COMPRESSION_WORKER) | ||
| self._launch_query_worker = target in (DeploymentTarget.ALL, DeploymentTarget.QUERY_WORKER) | ||
| self._launch_reducer = target in (DeploymentTarget.ALL, DeploymentTarget.REDUCER) | ||
|  | ||
| # Clients | ||
| self._launch_webui = target in (DeploymentTarget.ALL, DeploymentTarget.WEBUI) | ||
| self._launch_mcp = (target in (DeploymentTarget.ALL,DeploymentTarget.MCP) and self._is_mcp_enabled) | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
some of (, if not most of) those computed flags are unused. i was trying to use those to control whether the setups methods should be run or not, but realized we shouldn't disable any setup functions as they may setup dependencies for the other components.
e.g. the db's setup method should not be disabled if we want to run the webui, or the webui might not be able to read the credential env vars
(some names in the docs might be outdated. will update as we discuss)
Description
Checklist
breaking change.
Validation performed