agent-starter-pack 0.3.3__py3-none-any.whl → 0.21.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (255) hide show
  1. agent_starter_pack/agents/README.md +7 -0
  2. agents/langgraph_base_react/template/.templateconfig.yaml → agent_starter_pack/agents/adk_a2a_base/.template/templateconfig.yaml +5 -10
  3. agent_starter_pack/agents/adk_a2a_base/README.md +37 -0
  4. src/deployment_targets/cloud_run/Dockerfile → agent_starter_pack/agents/adk_a2a_base/app/__init__.py +2 -14
  5. agent_starter_pack/agents/adk_a2a_base/app/agent.py +70 -0
  6. agent_starter_pack/agents/adk_a2a_base/notebooks/adk_a2a_app_testing.ipynb +583 -0
  7. agents/crewai_coding_crew/notebooks/evaluating_crewai_agent.ipynb → agent_starter_pack/agents/adk_a2a_base/notebooks/evaluating_adk_agent.ipynb +163 -199
  8. {agents/adk_base → agent_starter_pack/agents/adk_a2a_base}/tests/integration/test_agent.py +2 -2
  9. agents/adk_base/template/.templateconfig.yaml → agent_starter_pack/agents/adk_base/.template/templateconfig.yaml +4 -1
  10. {agents → agent_starter_pack/agents}/adk_base/README.md +1 -1
  11. agent_starter_pack/agents/adk_base/app/__init__.py +17 -0
  12. {agents → agent_starter_pack/agents}/adk_base/app/agent.py +5 -2
  13. {agents → agent_starter_pack/agents}/adk_base/notebooks/adk_app_testing.ipynb +128 -82
  14. agents/langgraph_base_react/notebooks/evaluating_langgraph_agent.ipynb → agent_starter_pack/agents/adk_base/notebooks/evaluating_adk_agent.ipynb +181 -207
  15. agent_starter_pack/agents/adk_base/tests/integration/test_agent.py +58 -0
  16. agents/crewai_coding_crew/template/.templateconfig.yaml → agent_starter_pack/agents/adk_live/.template/templateconfig.yaml +5 -9
  17. agent_starter_pack/agents/adk_live/README.md +32 -0
  18. agent_starter_pack/agents/adk_live/app/__init__.py +17 -0
  19. agent_starter_pack/agents/adk_live/app/agent.py +51 -0
  20. agent_starter_pack/agents/adk_live/tests/unit/test_dummy.py +38 -0
  21. agents/agentic_rag/template/.templateconfig.yaml → agent_starter_pack/agents/agentic_rag/.template/templateconfig.yaml +7 -3
  22. {agents → agent_starter_pack/agents}/agentic_rag/README.md +1 -1
  23. agent_starter_pack/agents/agentic_rag/app/__init__.py +17 -0
  24. {agents → agent_starter_pack/agents}/agentic_rag/app/agent.py +8 -4
  25. {agents → agent_starter_pack/agents}/agentic_rag/notebooks/adk_app_testing.ipynb +128 -82
  26. agent_starter_pack/agents/agentic_rag/notebooks/evaluating_adk_agent.ipynb +1535 -0
  27. {agents → agent_starter_pack/agents}/agentic_rag/tests/integration/test_agent.py +3 -3
  28. agent_starter_pack/agents/langgraph_base/.template/templateconfig.yaml +31 -0
  29. agent_starter_pack/agents/langgraph_base/README.md +30 -0
  30. agent_starter_pack/agents/langgraph_base/app/__init__.py +17 -0
  31. agent_starter_pack/agents/langgraph_base/app/agent.py +34 -0
  32. {agents/crewai_coding_crew → agent_starter_pack/agents/langgraph_base}/notebooks/evaluating_langgraph_agent.ipynb +30 -17
  33. {agents/langgraph_base_react → agent_starter_pack/agents/langgraph_base}/tests/integration/test_agent.py +2 -2
  34. {src → agent_starter_pack}/base_template/.gitignore +5 -3
  35. agent_starter_pack/base_template/GEMINI.md +5 -0
  36. agent_starter_pack/base_template/Makefile +339 -0
  37. agent_starter_pack/base_template/README.md +267 -0
  38. agent_starter_pack/base_template/deployment/README.md +11 -0
  39. {src → agent_starter_pack}/base_template/deployment/terraform/apis.tf +2 -2
  40. {src → agent_starter_pack}/base_template/deployment/terraform/dev/apis.tf +6 -1
  41. {src → agent_starter_pack}/base_template/deployment/terraform/dev/iam.tf +12 -11
  42. {src → agent_starter_pack}/base_template/deployment/terraform/dev/providers.tf +5 -1
  43. {src → agent_starter_pack}/base_template/deployment/terraform/dev/storage.tf +1 -1
  44. {src → agent_starter_pack}/base_template/deployment/terraform/dev/variables.tf +10 -10
  45. agent_starter_pack/base_template/deployment/terraform/dev/{% if cookiecutter.is_adk %}telemetry.tf{% else %}unused_telemetry.tf{% endif %} +193 -0
  46. agent_starter_pack/base_template/deployment/terraform/github.tf +337 -0
  47. {src → agent_starter_pack}/base_template/deployment/terraform/iam.tf +20 -41
  48. {src → agent_starter_pack}/base_template/deployment/terraform/locals.tf +10 -3
  49. {src/resources/setup_cicd → agent_starter_pack/base_template/deployment/terraform}/providers.tf +8 -1
  50. {src → agent_starter_pack}/base_template/deployment/terraform/service_accounts.tf +7 -8
  51. agent_starter_pack/base_template/deployment/terraform/sql/completions.sql +138 -0
  52. {src → agent_starter_pack}/base_template/deployment/terraform/storage.tf +7 -16
  53. {src → agent_starter_pack}/base_template/deployment/terraform/variables.tf +61 -28
  54. {src → agent_starter_pack}/base_template/deployment/terraform/vars/env.tfvars +6 -1
  55. agent_starter_pack/base_template/deployment/terraform/{% if cookiecutter.cicd_runner == 'github_actions' %}wif.tf{% else %}unused_wif.tf{% endif %} +43 -0
  56. src/base_template/deployment/terraform/build_triggers.tf → agent_starter_pack/base_template/deployment/terraform/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}build_triggers.tf{% else %}unused_build_triggers.tf{% endif %} +55 -38
  57. agent_starter_pack/base_template/deployment/terraform/{% if cookiecutter.is_adk %}telemetry.tf{% else %}unused_telemetry.tf{% endif %} +206 -0
  58. {src → agent_starter_pack}/base_template/pyproject.toml +24 -37
  59. agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/deploy-to-prod.yaml +132 -0
  60. agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/pr_checks.yaml +65 -0
  61. agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/staging.yaml +259 -0
  62. src/base_template/deployment/cd/deploy-to-prod.yaml → agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/deploy-to-prod.yaml +38 -30
  63. src/base_template/deployment/ci/pr_checks.yaml → agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/pr_checks.yaml +5 -5
  64. agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/staging.yaml +322 -0
  65. agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils/telemetry.py +96 -0
  66. {src/base_template/app/utils → agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils}/typing.py +7 -9
  67. agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils/{% if cookiecutter.is_a2a and cookiecutter.agent_name == 'langgraph_base' %}converters{% else %}unused_converters{% endif %}/__init__.py +25 -0
  68. agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils/{% if cookiecutter.is_a2a and cookiecutter.agent_name == 'langgraph_base' %}converters{% else %}unused_converters{% endif %}/part_converter.py +138 -0
  69. agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils/{% if cookiecutter.is_a2a and cookiecutter.agent_name == 'langgraph_base' %}executor{% else %}unused_executor{% endif %}/__init__.py +13 -0
  70. agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils/{% if cookiecutter.is_a2a and cookiecutter.agent_name == 'langgraph_base' %}executor{% else %}unused_executor{% endif %}/a2a_agent_executor.py +265 -0
  71. agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils/{% if cookiecutter.is_a2a and cookiecutter.agent_name == 'langgraph_base' %}executor{% else %}unused_executor{% endif %}/task_result_aggregator.py +152 -0
  72. agent_starter_pack/cli/commands/create.py +1256 -0
  73. agent_starter_pack/cli/commands/enhance.py +611 -0
  74. agent_starter_pack/cli/commands/list.py +203 -0
  75. agent_starter_pack/cli/commands/register_gemini_enterprise.py +1070 -0
  76. agent_starter_pack/cli/commands/setup_cicd.py +862 -0
  77. {src → agent_starter_pack}/cli/main.py +10 -2
  78. {src → agent_starter_pack}/cli/utils/cicd.py +139 -48
  79. agent_starter_pack/cli/utils/gcp.py +263 -0
  80. agent_starter_pack/cli/utils/logging.py +103 -0
  81. agent_starter_pack/cli/utils/remote_template.py +677 -0
  82. agent_starter_pack/cli/utils/template.py +1466 -0
  83. {src → agent_starter_pack}/data_ingestion/data_ingestion_pipeline/components/process_data.py +1 -1
  84. {src → agent_starter_pack}/data_ingestion/data_ingestion_pipeline/submit_pipeline.py +20 -6
  85. {src → agent_starter_pack}/data_ingestion/pyproject.toml +1 -0
  86. {src → agent_starter_pack}/data_ingestion/uv.lock +602 -494
  87. agent_starter_pack/deployment_targets/agent_engine/tests/integration/test_agent_engine_app.py +484 -0
  88. agent_starter_pack/deployment_targets/agent_engine/tests/load_test/README.md +84 -0
  89. agent_starter_pack/deployment_targets/agent_engine/tests/load_test/load_test.py +424 -0
  90. agent_starter_pack/deployment_targets/agent_engine/tests/{% if cookiecutter.is_a2a %}helpers.py{% else %}unused_helpers.py{% endif %} +138 -0
  91. agent_starter_pack/deployment_targets/agent_engine/{{cookiecutter.agent_directory}}/agent_engine_app.py +263 -0
  92. agent_starter_pack/deployment_targets/agent_engine/{{cookiecutter.agent_directory}}/app_utils/deploy.py +414 -0
  93. agent_starter_pack/deployment_targets/agent_engine/{{cookiecutter.agent_directory}}/app_utils/{% if cookiecutter.is_adk_live %}expose_app.py{% else %}unused_expose_app.py{% endif %} +519 -0
  94. agent_starter_pack/deployment_targets/cloud_run/Dockerfile +51 -0
  95. agent_starter_pack/deployment_targets/cloud_run/deployment/terraform/dev/service.tf +243 -0
  96. agent_starter_pack/deployment_targets/cloud_run/deployment/terraform/service.tf +417 -0
  97. agent_starter_pack/deployment_targets/cloud_run/tests/integration/test_server_e2e.py +705 -0
  98. agent_starter_pack/deployment_targets/cloud_run/tests/load_test/.results/.placeholder +321 -0
  99. agent_starter_pack/deployment_targets/cloud_run/tests/load_test/README.md +165 -0
  100. agent_starter_pack/deployment_targets/cloud_run/tests/load_test/load_test.py +329 -0
  101. agent_starter_pack/deployment_targets/cloud_run/{{cookiecutter.agent_directory}}/fast_api_app.py +556 -0
  102. {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/package-lock.json +79 -1044
  103. {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/package.json +1 -9
  104. agent_starter_pack/frontends/adk_live_react/frontend/src/App.tsx +65 -0
  105. {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/components/logger/Logger.tsx +8 -3
  106. {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/components/logger/logger.scss +26 -0
  107. agent_starter_pack/frontends/adk_live_react/frontend/src/components/side-panel/SidePanel.tsx +516 -0
  108. agent_starter_pack/frontends/adk_live_react/frontend/src/components/side-panel/side-panel.scss +563 -0
  109. agent_starter_pack/frontends/adk_live_react/frontend/src/components/transcription-preview/TranscriptionPreview.tsx +106 -0
  110. agent_starter_pack/frontends/adk_live_react/frontend/src/components/transcription-preview/transcription-preview.scss +150 -0
  111. {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/hooks/use-live-api.ts +8 -2
  112. {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/multimodal-live-types.ts +40 -2
  113. {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/utils/audio-recorder.ts +1 -1
  114. {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/utils/audio-streamer.ts +1 -1
  115. {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/utils/multimodal-live-client.ts +210 -24
  116. {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/utils/utils.ts +27 -5
  117. agent_starter_pack/resources/docs/adk-cheatsheet.md +1628 -0
  118. agent_starter_pack/resources/locks/uv-adk_a2a_base-agent_engine.lock +4966 -0
  119. agent_starter_pack/resources/locks/uv-adk_a2a_base-cloud_run.lock +5011 -0
  120. agent_starter_pack/resources/locks/uv-adk_base-agent_engine.lock +4946 -0
  121. agent_starter_pack/resources/locks/uv-adk_base-cloud_run.lock +4991 -0
  122. agent_starter_pack/resources/locks/uv-adk_live-agent_engine.lock +4963 -0
  123. agent_starter_pack/resources/locks/uv-adk_live-cloud_run.lock +5006 -0
  124. agent_starter_pack/resources/locks/uv-agentic_rag-agent_engine.lock +5487 -0
  125. agent_starter_pack/resources/locks/uv-agentic_rag-cloud_run.lock +5532 -0
  126. agent_starter_pack/resources/locks/uv-langgraph_base-agent_engine.lock +5788 -0
  127. agent_starter_pack/resources/locks/uv-langgraph_base-cloud_run.lock +5811 -0
  128. {src → agent_starter_pack}/utils/generate_locks.py +15 -12
  129. {src → agent_starter_pack}/utils/lock_utils.py +4 -7
  130. {src → agent_starter_pack}/utils/watch_and_rebuild.py +2 -2
  131. agent_starter_pack-0.21.0.dist-info/METADATA +182 -0
  132. agent_starter_pack-0.21.0.dist-info/RECORD +171 -0
  133. agent_starter_pack-0.21.0.dist-info/entry_points.txt +2 -0
  134. llm.txt +362 -0
  135. agent_starter_pack-0.3.3.dist-info/METADATA +0 -164
  136. agent_starter_pack-0.3.3.dist-info/RECORD +0 -176
  137. agent_starter_pack-0.3.3.dist-info/entry_points.txt +0 -2
  138. agents/crewai_coding_crew/README.md +0 -34
  139. agents/crewai_coding_crew/app/agent.py +0 -86
  140. agents/crewai_coding_crew/app/crew/config/agents.yaml +0 -39
  141. agents/crewai_coding_crew/app/crew/config/tasks.yaml +0 -37
  142. agents/crewai_coding_crew/app/crew/crew.py +0 -71
  143. agents/crewai_coding_crew/tests/integration/test_agent.py +0 -47
  144. agents/langgraph_base_react/README.md +0 -9
  145. agents/langgraph_base_react/app/agent.py +0 -73
  146. agents/live_api/README.md +0 -37
  147. agents/live_api/app/agent.py +0 -78
  148. agents/live_api/app/server.py +0 -196
  149. agents/live_api/app/templates.py +0 -51
  150. agents/live_api/app/vector_store.py +0 -55
  151. agents/live_api/template/.templateconfig.yaml +0 -29
  152. agents/live_api/tests/integration/test_server_e2e.py +0 -254
  153. agents/live_api/tests/load_test/load_test.py +0 -40
  154. agents/live_api/tests/unit/test_server.py +0 -143
  155. src/base_template/Makefile +0 -72
  156. src/base_template/README.md +0 -208
  157. src/base_template/app/__init__.py +0 -3
  158. src/base_template/app/utils/tracing.py +0 -155
  159. src/base_template/deployment/README.md +0 -126
  160. src/base_template/deployment/cd/staging.yaml +0 -216
  161. src/base_template/deployment/terraform/dev/log_sinks.tf +0 -63
  162. src/base_template/deployment/terraform/log_sinks.tf +0 -70
  163. src/base_template/deployment/terraform/providers.tf +0 -37
  164. src/cli/commands/create.py +0 -664
  165. src/cli/commands/setup_cicd.py +0 -829
  166. src/cli/utils/gcp.py +0 -117
  167. src/cli/utils/logging.py +0 -51
  168. src/cli/utils/template.py +0 -737
  169. src/deployment_targets/agent_engine/app/agent_engine_app.py +0 -336
  170. src/deployment_targets/agent_engine/notebooks/intro_agent_engine.ipynb +0 -1025
  171. src/deployment_targets/agent_engine/tests/integration/test_agent_engine_app.py +0 -183
  172. src/deployment_targets/agent_engine/tests/load_test/README.md +0 -42
  173. src/deployment_targets/agent_engine/tests/load_test/load_test.py +0 -107
  174. src/deployment_targets/cloud_run/app/server.py +0 -154
  175. src/deployment_targets/cloud_run/tests/integration/test_server_e2e.py +0 -249
  176. src/deployment_targets/cloud_run/tests/load_test/.results/.placeholder +0 -0
  177. src/deployment_targets/cloud_run/tests/load_test/README.md +0 -83
  178. src/deployment_targets/cloud_run/tests/load_test/load_test.py +0 -118
  179. src/deployment_targets/cloud_run/uv.lock +0 -6952
  180. src/frontends/live_api_react/frontend/src/App.tsx +0 -205
  181. src/frontends/live_api_react/frontend/src/components/control-tray/ControlTray.tsx +0 -217
  182. src/frontends/live_api_react/frontend/src/components/control-tray/control-tray.scss +0 -201
  183. src/frontends/live_api_react/frontend/src/components/side-panel/SidePanel.tsx +0 -161
  184. src/frontends/live_api_react/frontend/src/components/side-panel/side-panel.scss +0 -285
  185. src/frontends/streamlit/frontend/side_bar.py +0 -214
  186. src/frontends/streamlit/frontend/streamlit_app.py +0 -265
  187. src/frontends/streamlit/frontend/style/app_markdown.py +0 -37
  188. src/frontends/streamlit/frontend/utils/chat_utils.py +0 -67
  189. src/frontends/streamlit/frontend/utils/local_chat_history.py +0 -125
  190. src/frontends/streamlit/frontend/utils/message_editing.py +0 -59
  191. src/frontends/streamlit/frontend/utils/multimodal_utils.py +0 -217
  192. src/frontends/streamlit/frontend/utils/stream_handler.py +0 -301
  193. src/frontends/streamlit/frontend/utils/title_summary.py +0 -94
  194. src/frontends/streamlit_adk/frontend/side_bar.py +0 -214
  195. src/frontends/streamlit_adk/frontend/streamlit_app.py +0 -314
  196. src/frontends/streamlit_adk/frontend/style/app_markdown.py +0 -37
  197. src/frontends/streamlit_adk/frontend/utils/chat_utils.py +0 -84
  198. src/frontends/streamlit_adk/frontend/utils/local_chat_history.py +0 -110
  199. src/frontends/streamlit_adk/frontend/utils/message_editing.py +0 -61
  200. src/frontends/streamlit_adk/frontend/utils/multimodal_utils.py +0 -223
  201. src/frontends/streamlit_adk/frontend/utils/stream_handler.py +0 -311
  202. src/frontends/streamlit_adk/frontend/utils/title_summary.py +0 -129
  203. src/resources/containers/data_processing/Dockerfile +0 -27
  204. src/resources/containers/e2e-tests/Dockerfile +0 -19
  205. src/resources/idx/.idx/dev.nix +0 -57
  206. src/resources/idx/idx-template.json +0 -21
  207. src/resources/idx/idx-template.nix +0 -26
  208. src/resources/locks/uv-adk_base-agent_engine.lock +0 -5338
  209. src/resources/locks/uv-adk_base-cloud_run.lock +0 -5930
  210. src/resources/locks/uv-agentic_rag-agent_engine.lock +0 -5528
  211. src/resources/locks/uv-agentic_rag-cloud_run.lock +0 -6120
  212. src/resources/locks/uv-crewai_coding_crew-agent_engine.lock +0 -6231
  213. src/resources/locks/uv-crewai_coding_crew-cloud_run.lock +0 -6839
  214. src/resources/locks/uv-langgraph_base_react-agent_engine.lock +0 -5233
  215. src/resources/locks/uv-langgraph_base_react-cloud_run.lock +0 -5862
  216. src/resources/locks/uv-live_api-cloud_run.lock +0 -5832
  217. src/resources/setup_cicd/cicd_variables.tf +0 -41
  218. src/resources/setup_cicd/github.tf +0 -87
  219. {agents → agent_starter_pack/agents}/agentic_rag/app/retrievers.py +0 -0
  220. {agents → agent_starter_pack/agents}/agentic_rag/app/templates.py +0 -0
  221. {src → agent_starter_pack}/base_template/deployment/terraform/dev/vars/env.tfvars +0 -0
  222. {src → agent_starter_pack}/base_template/tests/unit/test_dummy.py +0 -0
  223. {src/deployment_targets/agent_engine/app/utils → agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils}/gcs.py +0 -0
  224. {src → agent_starter_pack}/cli/utils/__init__.py +0 -0
  225. {src → agent_starter_pack}/cli/utils/datastores.py +0 -0
  226. {src → agent_starter_pack}/cli/utils/version.py +0 -0
  227. {src → agent_starter_pack}/data_ingestion/README.md +0 -0
  228. {src → agent_starter_pack}/data_ingestion/data_ingestion_pipeline/components/ingest_data.py +0 -0
  229. {src → agent_starter_pack}/data_ingestion/data_ingestion_pipeline/pipeline.py +0 -0
  230. {src → agent_starter_pack}/deployment_targets/agent_engine/deployment_metadata.json +0 -0
  231. {src → agent_starter_pack}/deployment_targets/agent_engine/tests/load_test/.results/.placeholder +0 -0
  232. {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/public/favicon.ico +0 -0
  233. {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/public/index.html +0 -0
  234. {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/public/robots.txt +0 -0
  235. {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/App.scss +0 -0
  236. {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/App.test.tsx +0 -0
  237. {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/components/audio-pulse/AudioPulse.tsx +0 -0
  238. {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/components/audio-pulse/audio-pulse.scss +0 -0
  239. {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/components/logger/mock-logs.ts +0 -0
  240. {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/contexts/LiveAPIContext.tsx +0 -0
  241. {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/hooks/use-media-stream-mux.ts +0 -0
  242. {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/hooks/use-screen-capture.ts +0 -0
  243. {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/hooks/use-webcam.ts +0 -0
  244. {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/index.css +0 -0
  245. {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/index.tsx +0 -0
  246. {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/react-app-env.d.ts +0 -0
  247. {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/reportWebVitals.ts +0 -0
  248. {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/setupTests.ts +0 -0
  249. {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/utils/audioworklet-registry.ts +0 -0
  250. {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/utils/store-logger.ts +0 -0
  251. {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/utils/worklets/audio-processing.ts +0 -0
  252. {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/utils/worklets/vol-meter.ts +0 -0
  253. {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/tsconfig.json +0 -0
  254. {agent_starter_pack-0.3.3.dist-info → agent_starter_pack-0.21.0.dist-info}/WHEEL +0 -0
  255. {agent_starter_pack-0.3.3.dist-info → agent_starter_pack-0.21.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,126 +0,0 @@
1
- # Deployment README.md
2
-
3
- This folder contains the infrastructure-as-code and CI/CD pipeline configurations for deploying a conversational Generative AI application on Google Cloud.
4
-
5
- The application leverages [**Terraform**](http://terraform.io) to define and provision the underlying infrastructure, while [**Cloud Build**](https://cloud.google.com/build/) orchestrates the continuous integration and continuous deployment (CI/CD) pipeline.
6
-
7
- ## Deployment Workflow
8
-
9
- ![Deployment Workflow](https://storage.googleapis.com/github-repo/generative-ai/sample-apps/e2e-gen-ai-app-starter-pack/deployment_workflow.png)
10
-
11
- **Description:**
12
-
13
- 1. CI Pipeline (`deployment/ci/pr_checks.yaml`):
14
-
15
- - Triggered on pull request creation/update
16
- - Runs unit and integration tests
17
-
18
- 2. CD Pipeline (`deployment/cd/staging.yaml`):
19
-
20
- - Triggered on merge to `main` branch
21
- - Builds and pushes application to Artifact Registry
22
- - Deploys to staging environment
23
- - Performs load testing
24
-
25
- 3. Production Deployment (`deployment/cd/deploy-to-prod.yaml`):
26
- - Triggered after successful staging deployment
27
- - Requires manual approval
28
- - Deploys to production environment
29
-
30
- ## Setup
31
-
32
- > **Note:** For a streamlined one-command deployment of the entire CI/CD pipeline and infrastructure using Terraform, you can use the [`agent-starter-pack setup-cicd` CLI command](https://github.com/GoogleCloudPlatform/agent-starter-pack/blob/main/docs/cli/setup_cicd.md). Currently only supporting Github.
33
-
34
- **Prerequisites:**
35
-
36
- 1. A set of Google Cloud projects:
37
- - Staging project
38
- - Production project
39
- - CI/CD project (can be the same as staging or production)
40
- 2. Terraform installed on your local machine
41
- 3. Enable required APIs in the CI/CD project. This will be required for the Terraform deployment:
42
-
43
- ```bash
44
- gcloud config set project $YOUR_CI_CD_PROJECT_ID
45
- gcloud services enable serviceusage.googleapis.com cloudresourcemanager.googleapis.com cloudbuild.googleapis.com secretmanager.googleapis.com
46
- ```
47
-
48
- ## Step-by-Step Guide
49
-
50
- 1. **Create a Git Repository using your favorite Git provider (GitHub, GitLab, Bitbucket, etc.)**
51
-
52
- 2. **Connect Your Repository to Cloud Build**
53
- For detailed instructions, visit: [Cloud Build Repository Setup](https://cloud.google.com/build/docs/repositories#whats_next).<br>
54
-
55
- ![Alt text](https://storage.googleapis.com/github-repo/generative-ai/sample-apps/e2e-gen-ai-app-starter-pack/connection_cb.gif)
56
-
57
- 3. **Configure Terraform Variables**
58
-
59
- - Edit [`deployment/terraform/vars/env.tfvars`](../terraform/vars/env.tfvars) with your Google Cloud settings.
60
-
61
- | Variable | Description | Required |
62
- | ---------------------- | --------------------------------------------------------------- | :------: |
63
- | project_name | Project name used as a base for resource naming | Yes |
64
- | prod_project_id | **Production** Google Cloud Project ID for resource deployment. | Yes |
65
- | staging_project_id | **Staging** Google Cloud Project ID for resource deployment. | Yes |
66
- | cicd_runner_project_id | Google Cloud Project ID where CI/CD pipelines will execute. | Yes |
67
- | region | Google Cloud region for resource deployment. | Yes |
68
- | host_connection_name | Name of the host connection you created in Cloud Build | Yes |
69
- | repository_name | Name of the repository you added to Cloud Build | Yes |
70
-
71
- Other optional variables may include: telemetry and feedback log filters, service account roles, and for projects requiring data ingestion: pipeline cron schedule, pipeline roles, and datastore-specific configurations.
72
-
73
- 4. **Deploy Infrastructure with Terraform**
74
-
75
- - Open a terminal and navigate to the Terraform directory:
76
-
77
- ```bash
78
- cd deployment/terraform
79
- ```
80
-
81
- - Initialize Terraform:
82
-
83
- ```bash
84
- terraform init
85
- ```
86
-
87
- - Apply the Terraform configuration:
88
-
89
- ```bash
90
- terraform apply --var-file vars/env.tfvars
91
- ```
92
-
93
- - Type 'yes' when prompted to confirm
94
-
95
- After completing these steps, your infrastructure will be set up and ready for deployment!
96
-
97
- ## Dev Deployment
98
-
99
- For End-to-end testing of the application, including tracing and feedback sinking to BigQuery, without the need to trigger a CI/CD pipeline.
100
-
101
- First, enable required Google Cloud APIs:
102
-
103
- ```bash
104
- gcloud config set project <your-dev-project-id>
105
- gcloud services enable serviceusage.googleapis.com cloudresourcemanager.googleapis.com
106
- ```
107
-
108
- After you edited the relative [`env.tfvars` file](../terraform/dev/vars/env.tfvars), follow the following instructions:
109
-
110
- ```bash
111
- cd deployment/terraform/dev
112
- terraform init
113
- terraform apply --var-file vars/env.tfvars
114
- ```
115
-
116
- Then deploy the application using the following command (from the root of the repository):
117
-
118
- ```bash
119
- make backend
120
- ```
121
-
122
- ### End-to-end Demo video
123
-
124
- <a href="https://storage.googleapis.com/github-repo/generative-ai/sample-apps/e2e-gen-ai-app-starter-pack/template_deployment_demo.mp4">
125
- <img src="https://storage.googleapis.com/github-repo/generative-ai/sample-apps/e2e-gen-ai-app-starter-pack/preview_video.png" alt="Watch the video" width="300"/>
126
- </a>
@@ -1,216 +0,0 @@
1
- # Copyright 2025 Google LLC
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
- steps:
16
- {%- if cookiecutter.data_ingestion %}
17
- - name: "python:3.11-slim"
18
- id: deploy-data-ingestion-pipeline-staging
19
- entrypoint: bash
20
- args:
21
- - -c
22
- - |
23
- cd data_ingestion && pip install uv==0.6.12 --user && uv sync --frozen && \
24
- uv run python data_ingestion_pipeline/submit_pipeline.py
25
- env:
26
- - "PIPELINE_ROOT=${_PIPELINE_GCS_ROOT}"
27
- - "REGION=${_REGION}"
28
- {%- if cookiecutter.datastore_type == "vertex_ai_search" %}
29
- - "DATA_STORE_REGION=${_DATA_STORE_REGION}"
30
- - "DATA_STORE_ID=${_DATA_STORE_ID}"
31
- {%- elif cookiecutter.datastore_type == "vertex_ai_vector_search" %}
32
- - "VECTOR_SEARCH_INDEX=${_VECTOR_SEARCH_INDEX}"
33
- - "VECTOR_SEARCH_INDEX_ENDPOINT=${_VECTOR_SEARCH_INDEX_ENDPOINT}"
34
- - "VECTOR_SEARCH_BUCKET=${_VECTOR_SEARCH_BUCKET}"
35
- {%- endif %}
36
- - "PROJECT_ID=${_STAGING_PROJECT_ID}"
37
- - "SERVICE_ACCOUNT=${_PIPELINE_SA_EMAIL}"
38
- - "PIPELINE_NAME=${_PIPELINE_NAME}"
39
- - 'PATH=/usr/local/bin:/usr/bin:~/.local/bin'
40
- {%- endif %}
41
- {%- if cookiecutter.deployment_target == 'cloud_run' %}
42
- # Build and Push
43
- - name: "gcr.io/cloud-builders/docker"
44
- args:
45
- [
46
- "build",
47
- "-t",
48
- "$_REGION-docker.pkg.dev/$PROJECT_ID/$_ARTIFACT_REGISTRY_REPO_NAME/$_CONTAINER_NAME",
49
- ".",
50
- ]
51
- - name: "gcr.io/cloud-builders/docker"
52
- args:
53
- [
54
- "push",
55
- "$_REGION-docker.pkg.dev/$PROJECT_ID/$_ARTIFACT_REGISTRY_REPO_NAME/$_CONTAINER_NAME",
56
- ]
57
-
58
- # Deploy to Staging
59
- - name: "gcr.io/cloud-builders/gcloud"
60
- id: deploy-staging
61
- entrypoint: gcloud
62
- args:
63
- - "run"
64
- - "deploy"
65
- - "{{cookiecutter.project_name}}"
66
- - "--image"
67
- - "$_REGION-docker.pkg.dev/$PROJECT_ID/$_ARTIFACT_REGISTRY_REPO_NAME/$_CONTAINER_NAME"
68
- - "--region"
69
- - "${_REGION}"
70
- - "--project"
71
- - "${_STAGING_PROJECT_ID}"
72
- - "--min-instances"
73
- - "1"
74
- - "--no-cpu-throttling"
75
- - "--cpu"
76
- - "4"
77
- - "--memory"
78
- - "4Gi"
79
- - "--concurrency"
80
- - "40"
81
- - "--service-account"
82
- - "${_CLOUD_RUN_APP_SA_EMAIL}"
83
- - "--set-env-vars"
84
- - "COMMIT_SHA=${COMMIT_SHA}{%- if cookiecutter.data_ingestion %}{%- if cookiecutter.datastore_type == "vertex_ai_search" %},DATA_STORE_ID=${_DATA_STORE_ID},DATA_STORE_REGION=${_DATA_STORE_REGION}{%- elif cookiecutter.datastore_type == "vertex_ai_vector_search" %},VECTOR_SEARCH_INDEX=${_VECTOR_SEARCH_INDEX},VECTOR_SEARCH_INDEX_ENDPOINT=${_VECTOR_SEARCH_INDEX_ENDPOINT},VECTOR_SEARCH_BUCKET=${_VECTOR_SEARCH_BUCKET}{%- endif %}{%- endif %}"
85
-
86
- # Fetch Staging Service URL
87
- - name: "gcr.io/cloud-builders/gcloud"
88
- id: fetch-staging-url
89
- entrypoint: /bin/bash
90
- args:
91
- - "-c"
92
- - |
93
- echo $(gcloud run services describe {{cookiecutter.project_name}} \
94
- --region ${_REGION} --project ${_STAGING_PROJECT_ID} --format="value(status.url)") > staging_url.txt
95
-
96
- # Fetch ID Token
97
- - name: gcr.io/cloud-builders/gcloud
98
- id: fetch-id-token
99
- entrypoint: /bin/bash
100
- args:
101
- - "-c"
102
- - |
103
- echo $(gcloud auth print-identity-token -q) > id_token.txt
104
- {%- elif cookiecutter.deployment_target == 'agent_engine' %}
105
- - name: "python:3.11-slim"
106
- id: install-dependencies
107
- entrypoint: /bin/bash
108
- args:
109
- - "-c"
110
- - |
111
- pip install uv==0.6.12 --user && uv sync --frozen
112
- env:
113
- - 'PATH=/usr/local/bin:/usr/bin:~/.local/bin'
114
-
115
- - name: "python:3.11-slim"
116
- id: deploy-staging
117
- entrypoint: /bin/bash
118
- args:
119
- - "-c"
120
- - |
121
- uv export --no-hashes --no-sources --no-header --no-dev --no-emit-project --no-annotate --frozen > .requirements.txt
122
- uv run app/agent_engine_app.py \
123
- --project ${_STAGING_PROJECT_ID} \
124
- --location ${_REGION} \
125
- --set-env-vars="COMMIT_SHA=${COMMIT_SHA}{%- if cookiecutter.data_ingestion %}{%- if cookiecutter.datastore_type == "vertex_ai_search" %},DATA_STORE_ID=${_DATA_STORE_ID},DATA_STORE_REGION=${_DATA_STORE_REGION}{%- elif cookiecutter.datastore_type == "vertex_ai_vector_search" %},VECTOR_SEARCH_INDEX=${_VECTOR_SEARCH_INDEX},VECTOR_SEARCH_INDEX_ENDPOINT=${_VECTOR_SEARCH_INDEX_ENDPOINT},VECTOR_SEARCH_BUCKET=${_VECTOR_SEARCH_BUCKET}{%- endif %}{%- endif %}"
126
- env:
127
- - 'PATH=/usr/local/bin:/usr/bin:~/.local/bin'
128
-
129
-
130
- - name: gcr.io/cloud-builders/gcloud
131
- id: fetch-auth-token
132
- entrypoint: /bin/bash
133
- args:
134
- - "-c"
135
- - |
136
- echo $(gcloud auth print-access-token -q) > auth_token.txt
137
- {%- endif %}
138
-
139
- # Load Testing
140
- - name: "python:3.11-slim"
141
- id: load_test
142
- entrypoint: /bin/bash
143
- args:
144
- - "-c"
145
- - |
146
- {%- if cookiecutter.deployment_target == 'cloud_run' %}
147
- export _ID_TOKEN=$(cat id_token.txt)
148
- export _STAGING_URL=$(cat staging_url.txt)
149
- pip install uv==0.6.12 --user && uv sync --frozen
150
- {%- elif cookiecutter.deployment_target == 'agent_engine' %}
151
- export _AUTH_TOKEN=$(cat auth_token.txt)
152
- {%- endif %}
153
- uv add locust==2.32.6
154
- uv run locust -f tests/load_test/load_test.py \
155
- --headless \
156
- {%- if cookiecutter.deployment_target == 'cloud_run' %}
157
- -H $$_STAGING_URL \
158
- -t 30s -u 10 -r 0.5 \
159
- {%- elif cookiecutter.deployment_target == 'agent_engine' %}
160
- -t 30s -u 2 -r 0.5 \
161
- {%- endif %}
162
- --csv=tests/load_test/.results/results \
163
- --html=tests/load_test/.results/report.html
164
- env:
165
- - 'PATH=/usr/local/bin:/usr/bin:~/.local/bin'
166
-
167
- # Export Load Test Results to GCS
168
- - name: gcr.io/cloud-builders/gcloud
169
- id: export-results-to-gcs
170
- entrypoint: /bin/bash
171
- args:
172
- - "-c"
173
- - |
174
- export _TIMESTAMP=$(date +%Y%m%d-%H%M%S)
175
- gsutil -m cp -r tests/load_test/.results gs://${_BUCKET_NAME_LOAD_TEST_RESULTS}/results-$${_TIMESTAMP}
176
- echo "_________________________________________________________________________"
177
- echo "Load test results copied to gs://${_BUCKET_NAME_LOAD_TEST_RESULTS}/results-$${_TIMESTAMP}"
178
- echo "HTTP link: https://console.cloud.google.com/storage/browser/${_BUCKET_NAME_LOAD_TEST_RESULTS}/results-$${_TIMESTAMP}"
179
- echo "_________________________________________________________________________"
180
-
181
- # Trigger Prod Deployment
182
- - name: gcr.io/cloud-builders/gcloud
183
- id: trigger-prod-deployment
184
- entrypoint: gcloud
185
- args:
186
- - "beta"
187
- - "builds"
188
- - "triggers"
189
- - "run"
190
- - "deploy-{{cookiecutter.project_name}}"
191
- - "--region"
192
- - "$LOCATION"
193
- - "--project"
194
- - "$PROJECT_ID"
195
- - "--sha"
196
- - $COMMIT_SHA
197
-
198
- - name: gcr.io/cloud-builders/gcloud
199
- id: echo-view-build-trigger-link
200
- entrypoint: /bin/bash
201
- args:
202
- - "-c"
203
- - |
204
- echo "_________________________________________________________________________"
205
- echo "Production deployment triggered. View progress and / or approve on the Cloud Build Console:"
206
- echo "https://console.cloud.google.com/cloud-build/builds;region=$LOCATION"
207
- echo "_________________________________________________________________________"
208
-
209
- substitutions:
210
- _STAGING_PROJECT_ID: YOUR_STAGING_PROJECT_ID
211
- _REGION: us-central1
212
-
213
- logsBucket: gs://${PROJECT_ID}-{{ cookiecutter.project_name | replace('_', '-') }}-logs-data/build-logs
214
- options:
215
- substitutionOption: ALLOW_LOOSE
216
- defaultLogsBucketBehavior: REGIONAL_USER_OWNED_BUCKET
@@ -1,63 +0,0 @@
1
- # Copyright 2025 Google LLC
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
- resource "google_project_iam_member" "bigquery_data_editor" {
16
-
17
- project = var.dev_project_id
18
- role = "roles/bigquery.dataEditor"
19
- member = module.log_export_to_bigquery.writer_identity
20
- }
21
-
22
- resource "google_bigquery_dataset" "feedback_dataset" {
23
- project = var.dev_project_id
24
- dataset_id = replace("${var.project_name}_feedback", "-", "_")
25
- friendly_name = "${var.project_name}_feedback"
26
- location = var.region
27
- depends_on = [resource.google_project_service.services]
28
- }
29
-
30
- resource "google_bigquery_dataset" "telemetry_logs_dataset" {
31
- project = var.dev_project_id
32
- dataset_id = replace("${var.project_name}_telemetry", "-", "_")
33
- friendly_name = "${var.project_name}_telemetry"
34
- location = var.region
35
- depends_on = [resource.google_project_service.services]
36
- }
37
-
38
- module "feedback_export_to_bigquery" {
39
- source = "terraform-google-modules/log-export/google"
40
- version = "10.0.0"
41
- log_sink_name = "${var.project_name}_feedback"
42
- parent_resource_type = "project"
43
- parent_resource_id = var.dev_project_id
44
- destination_uri = "bigquery.googleapis.com/projects/${var.dev_project_id}/datasets/${google_bigquery_dataset.feedback_dataset.dataset_id}"
45
- filter = var.feedback_logs_filter
46
- bigquery_options = { use_partitioned_tables = true }
47
- unique_writer_identity = true
48
- depends_on = [google_bigquery_dataset.feedback_dataset]
49
- }
50
-
51
- module "log_export_to_bigquery" {
52
- source = "terraform-google-modules/log-export/google"
53
- version = "10.0.0"
54
-
55
- log_sink_name = "${var.project_name}_telemetry"
56
- parent_resource_type = "project"
57
- parent_resource_id = var.dev_project_id
58
- destination_uri = "bigquery.googleapis.com/projects/${var.dev_project_id}/datasets/${google_bigquery_dataset.telemetry_logs_dataset.dataset_id}"
59
- filter = var.telemetry_logs_filter
60
- bigquery_options = { use_partitioned_tables = true }
61
- unique_writer_identity = true
62
- depends_on = [google_bigquery_dataset.telemetry_logs_dataset]
63
- }
@@ -1,70 +0,0 @@
1
- # Copyright 2025 Google LLC
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
- resource "google_project_iam_member" "bigquery_data_editor" {
16
- for_each = local.deploy_project_ids
17
-
18
- project = each.value
19
- role = "roles/bigquery.dataEditor"
20
- member = module.log_export_to_bigquery[each.key].writer_identity
21
- }
22
-
23
- resource "google_bigquery_dataset" "feedback_dataset" {
24
- for_each = local.deploy_project_ids
25
- project = each.value
26
- dataset_id = replace("${var.project_name}_feedback", "-", "_")
27
- friendly_name = "${var.project_name}_feedback"
28
- location = var.region
29
- depends_on = [resource.google_project_service.cicd_services, resource.google_project_service.shared_services]
30
- }
31
-
32
- resource "google_bigquery_dataset" "telemetry_logs_dataset" {
33
- for_each = local.deploy_project_ids
34
- project = each.value
35
- dataset_id = replace("${var.project_name}_telemetry", "-", "_")
36
- friendly_name = "${var.project_name}_telemetry"
37
- location = var.region
38
- depends_on = [resource.google_project_service.cicd_services, resource.google_project_service.shared_services]
39
- }
40
-
41
- module "log_export_to_bigquery" {
42
- for_each = local.deploy_project_ids
43
-
44
- source = "terraform-google-modules/log-export/google"
45
- version = "10.0.0"
46
-
47
- log_sink_name = "${var.project_name}_telemetry"
48
- parent_resource_type = "project"
49
- parent_resource_id = each.value
50
- destination_uri = "bigquery.googleapis.com/projects/${each.value}/datasets/${google_bigquery_dataset.telemetry_logs_dataset[each.key].dataset_id}"
51
- filter = var.telemetry_logs_filter
52
- bigquery_options = { use_partitioned_tables = true }
53
- unique_writer_identity = true
54
- depends_on = [google_bigquery_dataset.telemetry_logs_dataset]
55
- }
56
-
57
- module "feedback_export_to_bigquery" {
58
- for_each = local.deploy_project_ids
59
-
60
- source = "terraform-google-modules/log-export/google"
61
- version = "10.0.0"
62
- log_sink_name = "${var.project_name}_feedback"
63
- parent_resource_type = "project"
64
- parent_resource_id = each.value
65
- destination_uri = "bigquery.googleapis.com/projects/${each.value}/datasets/${google_bigquery_dataset.feedback_dataset[each.key].dataset_id}"
66
- filter = var.feedback_logs_filter
67
- bigquery_options = { use_partitioned_tables = true }
68
- unique_writer_identity = true
69
- depends_on = [google_bigquery_dataset.feedback_dataset]
70
- }
@@ -1,37 +0,0 @@
1
- # Copyright 2025 Google LLC
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
- terraform {
16
- required_version = ">= 1.0.0"
17
- required_providers {
18
- google = {
19
- source = "hashicorp/google"
20
- version = "< 7.0.0"
21
- }
22
- }
23
- }
24
-
25
- provider "google" {
26
- alias = "staging_billing_override"
27
- billing_project = var.staging_project_id
28
- region = var.region
29
- user_project_override = true
30
- }
31
-
32
- provider "google" {
33
- alias = "prod_billing_override"
34
- billing_project = var.prod_project_id
35
- region = var.region
36
- user_project_override = true
37
- }