Local deployment template requires ADC and Cloud Logging at import time
- Lingua principale
- Python
- Stelle
- 5.9k
- Fork
- 660
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
### Baseline
Reproduced from v1.3.1 at `5a306f8956cb1eeae69f9709de0e4d61b44e11e7`.
### Reproduction
1. Generate an ADK project with `deployment_target: none`.
2. Use an isolated local environment without Application Default Credentials.
3. Import or start the generated `app/fast_api_app.py`.
The generated module unconditionally calls `google.auth.default()`, constructs `google.cloud.logging.Client()`, and always sets `otel_to_cloud=True`.
### Actual behavior
A local-only template needs cloud credentials and a Cloud Logging dependency merely to import/start. This makes the `none` target fail in a normal offline/no-ADC development environment.
### Expected behavior
The local target should use Python stdlib logging and start without ADC. Existing cloud OTEL behavior should remain opt-in through the public `--otel-to-cloud` flag only.
### Minimal fix
- use `logging.getLogger(__name__)` in the local template and remove its Cloud Logging dependency;
- pass a private child-only `AGENTS_CLI_OTEL_TO_CLOUD=1` value only when `--otel-to-cloud` is explicitly set;
- remove any inherited copy of that private variable when the option is off;
- read the private flag before loading project `.env` files, accepting only the exact value `1`.
Reference implementation: https://github.com/benagentai93-dot/agents-cli/commit/d888f8db85d05e7bb4ed92c711045a246c00b537
### Test evidence
Runnable regressions cover dependency output, import without ADC, exact opt-in behavior, inherited-environment removal, explicit child propagation, and the existing ADK fallback flag.
Fork verification on Python 3.11/3.13:
- focused Batch 1 suite: 17 passed
- full root suite: 19 passed
- lint, type check, build, and installed-wheel smoke: passed
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Genera un progetto ADK con deployment_target: none, quindi ispeziona app/fast_api_app.py e importalo in un ambiente isolato senza Application Default Credentials. Traccia l’entry point --otel-to-cloud e la gestione dell’ambiente figlio, quindi esegui la suite di regressione indicata; il lavoro è completato quando l’avvio locale non richiede né ADC né Cloud Logging, mentre la propagazione esatta dell’opt-in e il comportamento di fallback esistente rimangono coperti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- google-cloud, python
- Ambito
- cli, cloud
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Attiva
- Chiarezza
- Specificata chiaramente
- Idoneità per principianti
- 72/100