Skip to content
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

[🚀 Feature]: Implement Selenium Grid Helm charts v1.0.0 #2388

Open
VietND96 opened this issue Sep 9, 2024 · 4 comments
Open

[🚀 Feature]: Implement Selenium Grid Helm charts v1.0.0 #2388

VietND96 opened this issue Sep 9, 2024 · 4 comments

Comments

@VietND96
Copy link
Member

VietND96 commented Sep 9, 2024

Feature and motivation

Upgrade chart major release from v0.x.x to v1.x.x

Expanding Helm charts bundle to support and simplify deployment of Selenium Grid server to Kubernetes cluster with the following design.

Selenium-Grid-Charts-v1

  • Individual chart
    • Each component (including the standalone image) will have an individual chart to deploy independently.
    • Component Individual chart will be imported as sub-chart in Grid umbrella chart
  • The chart selenium-grid will be an umbrella chart with chart dependencies, including Hub (or isolated components) and Nodes. This chart creates the resources needed to deploy Selenium Grid to the Kubernetes cluster only.
  • A new umbrella chart, selenium-grid-solution with chart dependencies, including selenium-grid, and other tools chart (e.g. KEDA, ingress-nginx, prometheus-stack, etc.). This chart deploys to cluster the Selenium Grid server with other solutions such as autoscaling, observability, monitoring, etc.
  • Chart selenium-grid-solution also provides specific configuration files based on different environments or deployment scenarios.

Usage example

Organizing Helm charts to manage and deploy across environments without duplicating charts.

This comment was marked as outdated.

@VietND96 VietND96 changed the title [🚀 Feature]: Helm charts v1.0.0 for Selenium Grid [🚀 Feature]: Implement Selenium Grid Helm charts v1.0.0 Sep 12, 2024
@amardeep2006
Copy link
Contributor

I see your proposal plan to publish node chart separately. Does it mean it may open doors to have flexibility to deploy different versions of browser nodes at same time in same namespace (two separate deployments of node chart in same namespace).
I am just checking if one can deploy chrome version 128 and 129 pods at the same time in same grid.
If someone takes the pain to build images themselves using backward compatibility feature then it may be rule out mismatch of selenium server on hub/router and nodes.
I am also not sure how autoscaling logic will react to it. It may be very complex or may be very simple but triggering few thoughts here.

@piotrlaczykowski
Copy link

You can also add it to artifacthub to easily see difference between versions

@VietND96
Copy link
Member Author

@amardeep2006, yes, it may be very complex or may be very simple.
When creating this, I try to achieve that each component has its own chart and can be deployed independently.
If an advanced user has more requirements than the standard selenium-grid (e.g more nodes with multiple versions, etc.), they can create their own chart with importing components as sub-charts and reuse values as much as possible.
The current selenium-grid chart will be lightweight, it only contains templates to create resources needed for a Grid in K8s.
The highest level would be a solution chart, where importing selenium-grid and other tools charts to deploy the Grid with other things are configured and ready to use.
Ideally, we will provide a high capability for reuse and customization. However, we only maintain the standard that we provided. For the kind of combination created by the users, they need to manage it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants