-
Notifications
You must be signed in to change notification settings - Fork 4.6k
feat(source-file): Add custom http proxy support #62451
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
base: master
Are you sure you want to change the base?
Conversation
- Add proxy_url field to HTTPS provider configuration in spec.json - Add ca_certificate field with airbyte_secret=true and multiline=true - Implement proxy support in URLFile._open() method using smart_open transport_params - Implement certificate handling using temporary files and requests verify parameter - Add comprehensive unit tests for proxy and certificate functionality - Maintain backward compatibility with existing configurations Co-Authored-By: AJ Steers <[email protected]>
- Increment version from 0.5.33 to 0.6.0 in pyproject.toml and metadata.yaml - Apply pre-commit formatting fixes (license headers, code style) - Addresses CI failures for version increment and format checks Co-Authored-By: AJ Steers <[email protected]>
- Add changelog entry for HTTP proxy URL and custom CA certificate support - Addresses CI pre-release check failure for missing changelog entry Co-Authored-By: AJ Steers <[email protected]>
- Add comprehensive proxy investigation plan document - Add mitmproxy interception script with logging - Add test configurations for proxy vs direct connection comparison - Resources for new Devin session to investigate why proxy settings appear ignored Co-Authored-By: AJ Steers <[email protected]>
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
👋 Greetings, Contributor!Here are some helpful tips and reminders for your convenience. Helpful Resources
PR Slash CommandsAirbyte Maintainers (that's you!) can execute the following slash commands on your PR:
|
|
airbyte-integrations/connectors/source-file/integration_tests/proxy_intercept_script.py
Outdated
Show resolved
Hide resolved
airbyte-integrations/connectors/source-file/integration_tests/proxy_intercept_script.py
Outdated
Show resolved
Hide resolved
airbyte-integrations/connectors/source-file/proxy_interception_script.py
Outdated
Show resolved
Hide resolved
airbyte-integrations/connectors/source-file/proxy_investigation_plan.md
Outdated
Show resolved
Hide resolved
airbyte-integrations/connectors/source-file/source_file/client.py
Outdated
Show resolved
Hide resolved
airbyte-integrations/connectors/source-file/source_file/client.py
Outdated
Show resolved
Hide resolved
airbyte-integrations/connectors/source-file/source_file/proxy.py
Outdated
Show resolved
Hide resolved
…/add-custom-proxy-support
…le implementation (do not merge) (#62455) Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: AJ Steers <[email protected]>
/build-connector-images
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Adds support for custom HTTP proxy configuration (URL and CA certificate) for the file source connector.
- Introduces a new
http_proxy
top-level config block inspec.json
- Implements helper routines in
proxy.py
to install CA certs and set proxy env vars - Wires up
Client
to accepthttp_proxy
, updates tests, docs, metadata, and version
Reviewed Changes
Copilot reviewed 9 out of 10 changed files in this pull request and generated 1 comment.
Show a summary per file
File | Description |
---|---|
docs/integrations/sources/file.md | Added v0.6.0 release entry for proxy support |
airbyte-integrations/connectors/source-file/unit_tests/test_proxy_certificate_support.py | New unit tests for proxy URL and CA certificate handling |
airbyte-integrations/connectors/source-file/source_file/spec.json | Added http_proxy schema block with proxy_url and proxy_ca_certificate |
airbyte-integrations/connectors/source-file/source_file/proxy.py | New configure_custom_http_proxy , _install_ca_certificate , and constants |
airbyte-integrations/connectors/source-file/source_file/client.py | Extended Client.__init__ to accept http_proxy and invoke proxy setup |
airbyte-integrations/connectors/source-file/pyproject.toml | Bumped version to 0.6.0 and added ruff |
airbyte-integrations/connectors/source-file/metadata.yaml | Updated dockerImageTag to 0.6.0 |
airbyte-integrations/connectors/source-file/integration_tests/proxy_test_config.json.template | Initial proxy test config template |
airbyte-integrations/connectors/source-file/integration_tests/proxy_intercept_script.py | MITM-proxy intercept script for integration testing |
Comments suppressed due to low confidence (3)
airbyte-integrations/connectors/source-file/source_file/client.py:263
- The
__init__
signature was extended withhttp_proxy
but the docstring (or inline comment) wasn't updated to describe this new parameter. Please add or update the constructor doc to explain how to passhttp_proxy
and its format.
def __init__(
airbyte-integrations/connectors/source-file/source_file/proxy.py:96
- The docstring references a
connector_config_dict
, but the function parameters arehttp_proxy_config
,proxy_url
, andca_cert_file_text
. Please update the docstring to accurately describe these parameters and remove the outdated term.
) -> None:
docs/integrations/sources/file.md:301
- [nitpick] Consider adding a sample
http_proxy
configuration snippet somewhere in this document so users know how to supplyproxy_url
andproxy_ca_certificate
in their connector config.
| 0.6.0 | 2025-07-02 | [61521](https://github.com/airbytehq/airbyte/pull/61521) | Add support for custom Https proxy URL and custom Proxy CA certificate |
airbyte-integrations/connectors/source-file/integration_tests/proxy_test_config.json.template
Outdated
Show resolved
Hide resolved
…proxy_test_config.json.template Co-authored-by: Copilot <[email protected]>
Loom Demo:
https://www.loom.com/share/0d54508a490844999ec9a073f82f4504
What
Adds custom HTTP Proxy support.
Within the
config
dictionary, we'll look for:Replaces:
TODO
Can this PR be safely reverted and rolled back?