Карта всіх GCP-проектів і API-ключів які ми використовуємо. Без секретів — тільки логіка: який ключ де живе і ким споживається. Реальні токени — у
/srv/passepartout/google/(chmod 700).
Google Cloud у нас покриває кілька різних потреб:
Розділ існує щоб не плутатись між кількома проектами/ключами і не з'їдати квоту prod-ключів R&D-експериментами.
| Project | Призначення | Billing | Тип ключів |
|---|---|---|---|
ad-analytics-hub |
BigQuery dataset, OAuth для Google Ads API | enabled | SA + OAuth client |
BioGaia |
host для R&D Computer Use Gemini key | TODO | Gemini API key |
Menopace |
host для Sandbox Gemini key | TODO | Gemini API key |
Med detective |
host для Med Detective prod Gemini key | TODO | Gemini API key |
| (приватний Сергія) | для Pharmagen-KZ key | TODO | Gemini API key |
⚠️ Питання Сергію: який «приватний» проект хостить
gemini-pharmagen-kz.key? У .meta не вказано (item у списку питань).
Реальні значення — у
/srv/passepartout/google/. Тут — тільки роль і scope кожного.
| Name | Файл | GCP Project | Scope | Used by |
|---|---|---|---|---|
ad-pipeline-worker |
bigquery-sa.json |
ad-analytics-hub | BQ dataset ad_data, tabletki |
Ad Analyzer, daily_delta_monitor |
| (дубль?) | ad-pipeline-worker-sa.json |
ad-analytics-hub | TODO перевірити дубль | — |
Ротація: SA-key не закінчується сам, ротуємо ad-hoc / при leak.
| Name | Файл | GCP Project | Scope | Used by |
|---|---|---|---|---|
| Desktop OAuth client | google-ads-oauth-client.json |
ad-analytics-hub | Google Ads API | Search Campaign Builder, Ad Analyzer |
| Refresh token (Андрій) | google-ads-readonly-savchenko.key |
ad-analytics-hub | Read-only MCC Delta Medical (191-068-9182) | composed у google-ads.yaml |
Note: OAuth consent screen у режимі Testing → refresh_token живе ~7 днів. Перевести у Production коли стабілізуємось (~1 тиждень without проблем).
MCC ID-и: mcc-account-ids.json.
Developer token: google-ads-developer-token.txt.
| Name | Файл | GCP Project-host | Призначення | Used by |
|---|---|---|---|---|
| Med Detective PROD | gemini-med-detective.key |
Med detective | Тільки Med Detective (voice transcription + chat) — щоб квота не з'їдалась R&D | Med Detective |
| Sandbox / R&D | gemini-sandbox.key |
Menopace | Все крім Med Detective prod: legal-advisor, case-builder, arteggia (vision fallback), pediatric-news fallback, ad-hoc R&D | Legal Advisor, Case Builder Crew, PM Agent (planned), Scout Agent (planned) |
| Pharmagen-KZ PROD | gemini-pharmagen-kz.key |
(приватний) | Тільки Pharmagen-KZ контури (KZ розсилки + соцмережі): translate RU↔KZ, Imagen, TTS | Content Generator CIS |
| Computer Use research | gemini-computer-use-research.key |
BioGaia | R&D browser-automation з Gemini 2.5 Computer Use; майбутнє: Heafolik captcha, Ads cookie-refresh | потенційно Reviews |
| ⚠️ ZOMBIE | gemini.key |
TODO | ЗАБЛОКОВАНИЙ з 2026-04-20 (PERMISSION_DENIED). Legacy споживачі переключені на sandbox key. | — |
Маршрутизація (правило):
gemini-med-detective.key ❌ ніколи sandboxgemini-pharmagen-kz.key ❌ ніколи sandboxgemini-sandbox.keygemini-computer-use-research.keygemini.key — DO NOT USE (зламаний)Memory: feedback_gemini_key_routing.md — це правило вже в memory.
| Файл | Use | Hold time |
|---|---|---|
cookies-google-ads.json |
Google Ads UI scraping (MCC CSV download fallback) | до перелогіну |
cookies-looker-studio.json |
Looker Studio dashboard | до перелогіну |
cookies-sergey.json |
Sergey's particular sessions | особисте |
Ротація cookies: manual через VNC-браузер коли протух (відомий debt — TODO automation).
bq CLI / Python client → project ad-analytics-hubgoogle-ads-python SDK через google-ads.yaml confighttps://generativelanguage.googleapis.com/v1beta/models/{model}:generateContentgemini.key — заблокований з 2026-04-20, причина не встановленаgemini-pharmagen-kz.key (.meta не вказано — приватний Сергія?)ad-pipeline-worker-sa.json vs bigquery-sa.json — який живий, видалити інший?gemini-computer-use-research ключ для цього і існує)