googleapis / googleapis/google-cloud-cpp
Investigate automatic detection of CA roots from environment variables (e.g. CURL_CA_BUNDLE)
- 主要言語
- C++
- スター
- 659
- フォーク
- 462
- 平均マージ
- 1日 2時間
- マージ済み PR(30日)
- 89
説明
**Problem**
Currently, to make the `quickstart` examples work in the Windows Bazel CI environment (which uses a hermetic build with custom OpenSSL roots), we explicitly modify the C++ code to read the `CURL_CA_BUNDLE` environment variable and set the `CARootsFilePathOption`.
See PR #15818 for the current implementation
**Goal**
We should explore ways to avoid modifying the example code (`quickstart.cc`) for this CI-specific configuration.
**Potential Solutions**
- Update the client library to automatically check `CURL_CA_BUNDLE` or standard OpenSSL environment variables when initializing the default `Options`.
- Adjust the Bazel build configuration to transparently point to the correct roots without code changes.
This issue tracks the investigation and implementation of a solution that keeps the quickstart code clean and environment-agnostic.
コントリビューションガイド
調査の方向性
quickstart.cc と PR #15818 から始めて、現在の CURL_CA_BUNDLE の処理と CARootsFilePathOption の使用方法を理解します。デフォルトの Options の初期化と Bazel の設定を読み、その後、環境変数とビルド設定に対するライブラリレベルのアプローチを比較します。quickstart.cc に CI 固有の変更が不要になり、Windows の Bazel CI の例でも意図した CA roots が引き続き使用されれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- cpp
- 領域
- build-system, cloud
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 25/100