google / google/agents-cli

Local deployment template requires ADC and Cloud Logging at import time

Aperta
#67 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.