-
-
Notifications
You must be signed in to change notification settings - Fork 8.6k
[grid] Dynamic Grid group dynamic containers in compose stack #16620
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
Conversation
Signed-off-by: Viet Nguyen Duc <nguyenducviet4496@gmail.com>
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
||||||||||||||||||||||||||||||||||||
PR Code Suggestions ✨Explore these optional code suggestions:
|
||||||||||||||
Signed-off-by: Viet Nguyen Duc <nguyenducviet4496@gmail.com>
User description
🔗 Related Issues
💥 What does this PR do?
Continue of #16599, #16613 - manage and group dynamic containers in Dynamic Grid under a compose stack (compatible when running with Docker Compose, Podman, or other platforms based on grouping labels defined by the user).
Enhanced filtering to support multiple orchestration systems:
com.docker.compose.projectio.podman.compose.project--docker-grouping-labelsor TOML config keygrouping-labels✅ Platform agnostic - Works with any container orchestration system
✅ User configurable - No code changes needed for new platforms
✅ Backward compatible - Existing setups continue to work
✅ Flexible - Supports multiple custom labels simultaneously
✅ Safe - Only project labels are copied, service labels are excluded
Makes the Dynamic Grid Docker integration truly platform-independent and ready for any container orchestration system.
🔧 Implementation Notes
💡 Additional Considerations
🔄 Types of changes
PR Type
Enhancement
Description
Add configurable grouping labels for Docker containers
Support multiple orchestration systems (Docker Compose, Podman Compose)
Allow user-defined custom labels via CLI and TOML config
Filter and apply only project-level labels to containers
Diagram Walkthrough
File Walkthrough
DockerFlags.java
Add CLI parameter for custom grouping labelsjava/src/org/openqa/selenium/grid/node/docker/DockerFlags.java
--docker-grouping-labelsCLI parametergrouping-labelsazure.container.group,aws.ecs.clusterDockerOptions.java
Enhance label filtering for multiple orchestration systemsjava/src/org/openqa/selenium/grid/node/docker/DockerOptions.java
getComposeLabels()togetGroupingLabels()for claritycustom labels
service-specific labels
DockerSessionFactory.java
Refactor to use generic grouping labelsjava/src/org/openqa/selenium/grid/node/docker/DockerSessionFactory.java
composeLabelsfield togroupingLabelsthroughout classcom.docker.compose.oneoff=Falselabel logic