feat(chart): Add RCLONE as default video uploader on Kubernetes #2100
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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): Add RCLONE as default video uploader on Kubernetes
Motivation and Context
Configuration of video recorder and video uploader
Video recorder
The video recorder is a sidecar that is deployed with the browser nodes. It is responsible for recording the video of the browser session. The video recorder is disabled by default. To enable it, you need to set the following values:
Video uploader
The uploader is a sidecar that is deployed with the browser nodes. It is responsible for uploading the video to a remote location. The uploader is disabled by default. To enable it, you need to set the following values:
By default, the uploader uses RCLONE to upload the video to a remote location. RCLONE requires a configuration file to define different remote locations. Refer to RCLONE docs for more details. Config file might contain sensitive information such as access key, secret key, etc. hence it is stored in Secret.
The uploader requires
destinationPrefix
to be set. It is used to instruct the uploader where to upload the video. The format of destinationPrefix isremote-name://bucket-name/path
. Theremote-name
is configured in RCLONE. The bucket-name is the name of the bucket in the remote location. The path is the path to the folder in the bucket.By default, the config file is loaded from file configs/uploader/rclone/rclone.conf to the Secret. You can override the config file via
--set-file videoRecorder.uploader.config=/path/to/config
or set via YAML values.For example, to configure an S3 remote hosted on AWS with named
mys3
and the bucket name ismybucket
, you can set the following values:You can prepare a config file with multiple remotes are defined. Ensure that
[remoteName]
is unique for each remote.You also can replace your config to default file
configs/uploader/rclone/rclone.conf
in chart.Instead of using config file, another way that RCLONE also supports to pass the information via environment variables. ENV variable with format:
RCLONE_CONFIG_ + name of remote + _ + name of config file option
(make it all uppercase). In this case the remote name it can only contain letters, digits, or the _ (underscore) character. All those ENV variables can be set viavideoRecorder.uploader.secrets
, it will be stored in Secret.For example, the same above config can be set via ENV vars as below:
Those 2 ways are equivalent. You can choose one of them or combine them together. When both config file and ENV vars are set, value in
rclone.conf
will take precedence.Beside the configuration, the script for entry point of uploader container also needed. By default, it is loaded from file configs/uploader/rclone/entry_point.sh to the ConfigMap. You can override the script via
--set-file videoRecorder.uploader.entryPoint=/path/to/script
or set via YAML values. For example:You also can replace your script to default file
configs/uploader/rclone/entry_point.sh
in chart.Types of changes
Checklist