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

feat(chart): Simplify to access Selenium Grid from outside of Kubernetes #2073

Merged
merged 1 commit into from
Dec 19, 2023

Conversation

VietND96
Copy link
Member

Thanks for contributing to the Docker-Selenium project!
A PR well described will help maintainers to quickly review and merge it

Before submitting your PR, please check our contributing guidelines, applied for this repository.
Avoid large PRs, help reviewers by making them as simple and short as possible.

Description

feat(chart): Simplify to access Selenium from outside of Kubernetes

Motivation and Context

  • Components service NodePort is set static via chart values.yaml. NodePort will not be assigned randomly anymore. The user is able to change the values if wants to use another port

  • Embedded Ingress NGINX Controller as dependency chart and is enabled via ingress-nginx.enabled=true. Instead of the user having to find and download the ingress chart separately, the user can utilize this dependent chart and install it together with the Selenium Grid.

  • Add config ingress.ports.http and ingress.ports.https to set specific ports in case your ingress not using default 80 and 443. This is used to construct the SE_NODE_GRID_URL which is important for Grid can be accessed from outside (e.g Distributed Nodes register to Hub, Grid UI, Session NoVNC/CDP URL, etc.

  • Add config global.K8S_PUBLIC_IP for user can set the public IP of the host running the Kubernetes cluster, which is used to construct the SE_NODE_GRID_URL in such use cases:

    • Ingress is enabled without setting ingress.hostname. All the services will be exposed via the public IP is set in K8S_PUBLIC_IP
    • Using NodePort to expose the services. All the services will be exposed via the public IP is set in K8S_PUBLIC_IP
    • Using LoadBalancer to expose the services. All the services will be exposed via the LB External IP is set in K8S_PUBLIC_IP
  • Some values files are used to test and deploy the Selenium Grid chart. Users can find them in

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist

  • I have read the contributing document.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

@VietND96 VietND96 force-pushed the chart-PR02 branch 3 times, most recently from c03cb41 to 389f29c Compare December 19, 2023 09:23
@VietND96 VietND96 merged commit af16a26 into SeleniumHQ:trunk Dec 19, 2023
6 checks passed
@VietND96 VietND96 self-assigned this Dec 19, 2023
@VietND96 VietND96 deleted the chart-PR02 branch December 20, 2023 05:07
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