googleapis / googleapis/google-cloud-cpp
Investigate automatic detection of CA roots from environment variables (e.g. CURL_CA_BUNDLE)
- Lenguaje dominante
- C++
- Estrellas
- 659
- Forks
- 462
- Merge medio
- 1 d 2 h
- PR fusionados (30 d)
- 89
Descripción
**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.
Guía de contribución
Línea de trabajo
Start with quickstart.cc and PR #15818 to understand the current CURL_CA_BUNDLE handling and use of CARootsFilePathOption. Read the default Options initialization and the Bazel configuration, then compare the library-level environment-variable and build-configuration approaches. Done means quickstart.cc no longer needs CI-specific changes while the Windows Bazel CI examples still use the intended CA roots.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- cpp
- Área
- build-system, cloud
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 25/100