aerokube / moon

Browser automation solution for Kubernetes and Openshift supporting Selenium, Playwright, Puppeteer and Cypress
http://aerokube.com/moon/latest
Apache License 2.0
224 stars 19 forks source link

pass proxy to video-recorder container #392

Closed toby181 closed 1 year ago

toby181 commented 1 year ago

Hi together,

We got moon2, version 2.5.2, running on kubernetes, with video recording enabled.

When the video-recorder container tries to upload the video to a google cloud storage, it does not show any exception, rather the opposite, that it's doing it.

Uploading /home/user/Downloads/video-recording-1.20230914.1340.mp4 to s3://gcp-bucket-1/chrome-112-0-99a42976-c525-4884-af58-0d2528da5ee8/video-recording-1.20230914.1340.mp4

Checking the bucket itself, it's empty.

It seems that the proxy is blocking the request since the proxy settings are missing for the video-recorder container. For the browser container the proxy is passed over.

To verify this assumption I've created an awscli pod with and without proxy.

without proxy (request cancelled, after 1 minute still no response)

I have no name!@tmp-awscli:/$ aws s3 ls s3://gcp-bucket-1 --endpoint-url https://storage.googleapis.com
^C
I have no name!@tmp-awscli:/$ env | grep -i proxy
I have no name!@tmp-awscli:/$ env | grep -i aws
AWS_SECRET_ACCESS_KEY=***
AWS_ACCESS_KEY_ID=***
I have no name!@tmp-awscli:/$

with proxy

I have no name!@tmp-awscli:/$ aws s3 ls s3://gcp-bucket-1 --endpoint-url https://storage.googleapis.com
2023-09-14 13:15:56       3024 export (9).ndjson
I have no name!@tmp-awscli:/$ env | grep -i proxy
NO_PROXY=***
HTTPS_PROXY=http://proxy.example.com:3128
HTTP_PROXY=http://proxy.example.com:3128
I have no name!@tmp-awscli:/$ env | grep -i aws
AWS_SECRET_ACCESS_KEY=***
AWS_ACCESS_KEY_ID=***
I have no name!@tmp-awscli:/$

I've checked the helm chart and the CRDs but could not anything related to this issue. Do I miss something or is that might a missing feature?

vania-pooh commented 1 year ago

@toby181 so you expect all S3 requests to go through HTTP \ HTTPS proxy, right?

toby181 commented 1 year ago

@vania-pooh yep, basically that. In my opinion being able to set environment for the video-recorder container via the helmrelease should do the trick. Unfortunately I don't see an option that I can try this out by somehow manipulating the helm chart. As I mentioned, the only way to proof it, was the awscli pod.