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.
- agent_starter_pack/agents/README.md +7 -0
- agents/langgraph_base_react/template/.templateconfig.yaml → agent_starter_pack/agents/adk_a2a_base/.template/templateconfig.yaml +5 -10
- agent_starter_pack/agents/adk_a2a_base/README.md +37 -0
- src/deployment_targets/cloud_run/Dockerfile → agent_starter_pack/agents/adk_a2a_base/app/__init__.py +2 -14
- agent_starter_pack/agents/adk_a2a_base/app/agent.py +70 -0
- agent_starter_pack/agents/adk_a2a_base/notebooks/adk_a2a_app_testing.ipynb +583 -0
- agents/crewai_coding_crew/notebooks/evaluating_crewai_agent.ipynb → agent_starter_pack/agents/adk_a2a_base/notebooks/evaluating_adk_agent.ipynb +163 -199
- {agents/adk_base → agent_starter_pack/agents/adk_a2a_base}/tests/integration/test_agent.py +2 -2
- agents/adk_base/template/.templateconfig.yaml → agent_starter_pack/agents/adk_base/.template/templateconfig.yaml +4 -1
- {agents → agent_starter_pack/agents}/adk_base/README.md +1 -1
- agent_starter_pack/agents/adk_base/app/__init__.py +17 -0
- {agents → agent_starter_pack/agents}/adk_base/app/agent.py +5 -2
- {agents → agent_starter_pack/agents}/adk_base/notebooks/adk_app_testing.ipynb +128 -82
- agents/langgraph_base_react/notebooks/evaluating_langgraph_agent.ipynb → agent_starter_pack/agents/adk_base/notebooks/evaluating_adk_agent.ipynb +181 -207
- agent_starter_pack/agents/adk_base/tests/integration/test_agent.py +58 -0
- agents/crewai_coding_crew/template/.templateconfig.yaml → agent_starter_pack/agents/adk_live/.template/templateconfig.yaml +5 -9
- agent_starter_pack/agents/adk_live/README.md +32 -0
- agent_starter_pack/agents/adk_live/app/__init__.py +17 -0
- agent_starter_pack/agents/adk_live/app/agent.py +51 -0
- agent_starter_pack/agents/adk_live/tests/unit/test_dummy.py +38 -0
- agents/agentic_rag/template/.templateconfig.yaml → agent_starter_pack/agents/agentic_rag/.template/templateconfig.yaml +7 -3
- {agents → agent_starter_pack/agents}/agentic_rag/README.md +1 -1
- agent_starter_pack/agents/agentic_rag/app/__init__.py +17 -0
- {agents → agent_starter_pack/agents}/agentic_rag/app/agent.py +8 -4
- {agents → agent_starter_pack/agents}/agentic_rag/notebooks/adk_app_testing.ipynb +128 -82
- agent_starter_pack/agents/agentic_rag/notebooks/evaluating_adk_agent.ipynb +1535 -0
- {agents → agent_starter_pack/agents}/agentic_rag/tests/integration/test_agent.py +3 -3
- agent_starter_pack/agents/langgraph_base/.template/templateconfig.yaml +31 -0
- agent_starter_pack/agents/langgraph_base/README.md +30 -0
- agent_starter_pack/agents/langgraph_base/app/__init__.py +17 -0
- agent_starter_pack/agents/langgraph_base/app/agent.py +34 -0
- {agents/crewai_coding_crew → agent_starter_pack/agents/langgraph_base}/notebooks/evaluating_langgraph_agent.ipynb +30 -17
- {agents/langgraph_base_react → agent_starter_pack/agents/langgraph_base}/tests/integration/test_agent.py +2 -2
- {src → agent_starter_pack}/base_template/.gitignore +5 -3
- agent_starter_pack/base_template/GEMINI.md +5 -0
- agent_starter_pack/base_template/Makefile +339 -0
- agent_starter_pack/base_template/README.md +267 -0
- agent_starter_pack/base_template/deployment/README.md +11 -0
- {src → agent_starter_pack}/base_template/deployment/terraform/apis.tf +2 -2
- {src → agent_starter_pack}/base_template/deployment/terraform/dev/apis.tf +6 -1
- {src → agent_starter_pack}/base_template/deployment/terraform/dev/iam.tf +12 -11
- {src → agent_starter_pack}/base_template/deployment/terraform/dev/providers.tf +5 -1
- {src → agent_starter_pack}/base_template/deployment/terraform/dev/storage.tf +1 -1
- {src → agent_starter_pack}/base_template/deployment/terraform/dev/variables.tf +10 -10
- agent_starter_pack/base_template/deployment/terraform/dev/{% if cookiecutter.is_adk %}telemetry.tf{% else %}unused_telemetry.tf{% endif %} +193 -0
- agent_starter_pack/base_template/deployment/terraform/github.tf +337 -0
- {src → agent_starter_pack}/base_template/deployment/terraform/iam.tf +20 -41
- {src → agent_starter_pack}/base_template/deployment/terraform/locals.tf +10 -3
- {src/resources/setup_cicd → agent_starter_pack/base_template/deployment/terraform}/providers.tf +8 -1
- {src → agent_starter_pack}/base_template/deployment/terraform/service_accounts.tf +7 -8
- agent_starter_pack/base_template/deployment/terraform/sql/completions.sql +138 -0
- {src → agent_starter_pack}/base_template/deployment/terraform/storage.tf +7 -16
- {src → agent_starter_pack}/base_template/deployment/terraform/variables.tf +61 -28
- {src → agent_starter_pack}/base_template/deployment/terraform/vars/env.tfvars +6 -1
- agent_starter_pack/base_template/deployment/terraform/{% if cookiecutter.cicd_runner == 'github_actions' %}wif.tf{% else %}unused_wif.tf{% endif %} +43 -0
- 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
- agent_starter_pack/base_template/deployment/terraform/{% if cookiecutter.is_adk %}telemetry.tf{% else %}unused_telemetry.tf{% endif %} +206 -0
- {src → agent_starter_pack}/base_template/pyproject.toml +24 -37
- agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/deploy-to-prod.yaml +132 -0
- agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/pr_checks.yaml +65 -0
- agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/staging.yaml +259 -0
- 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
- 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
- agent_starter_pack/base_template/{% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/staging.yaml +322 -0
- agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils/telemetry.py +96 -0
- {src/base_template/app/utils → agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils}/typing.py +7 -9
- 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
- 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
- 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
- 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
- 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
- agent_starter_pack/cli/commands/create.py +1256 -0
- agent_starter_pack/cli/commands/enhance.py +611 -0
- agent_starter_pack/cli/commands/list.py +203 -0
- agent_starter_pack/cli/commands/register_gemini_enterprise.py +1070 -0
- agent_starter_pack/cli/commands/setup_cicd.py +862 -0
- {src → agent_starter_pack}/cli/main.py +10 -2
- {src → agent_starter_pack}/cli/utils/cicd.py +139 -48
- agent_starter_pack/cli/utils/gcp.py +263 -0
- agent_starter_pack/cli/utils/logging.py +103 -0
- agent_starter_pack/cli/utils/remote_template.py +677 -0
- agent_starter_pack/cli/utils/template.py +1466 -0
- {src → agent_starter_pack}/data_ingestion/data_ingestion_pipeline/components/process_data.py +1 -1
- {src → agent_starter_pack}/data_ingestion/data_ingestion_pipeline/submit_pipeline.py +20 -6
- {src → agent_starter_pack}/data_ingestion/pyproject.toml +1 -0
- {src → agent_starter_pack}/data_ingestion/uv.lock +602 -494
- agent_starter_pack/deployment_targets/agent_engine/tests/integration/test_agent_engine_app.py +484 -0
- agent_starter_pack/deployment_targets/agent_engine/tests/load_test/README.md +84 -0
- agent_starter_pack/deployment_targets/agent_engine/tests/load_test/load_test.py +424 -0
- agent_starter_pack/deployment_targets/agent_engine/tests/{% if cookiecutter.is_a2a %}helpers.py{% else %}unused_helpers.py{% endif %} +138 -0
- agent_starter_pack/deployment_targets/agent_engine/{{cookiecutter.agent_directory}}/agent_engine_app.py +263 -0
- agent_starter_pack/deployment_targets/agent_engine/{{cookiecutter.agent_directory}}/app_utils/deploy.py +414 -0
- 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
- agent_starter_pack/deployment_targets/cloud_run/Dockerfile +51 -0
- agent_starter_pack/deployment_targets/cloud_run/deployment/terraform/dev/service.tf +243 -0
- agent_starter_pack/deployment_targets/cloud_run/deployment/terraform/service.tf +417 -0
- agent_starter_pack/deployment_targets/cloud_run/tests/integration/test_server_e2e.py +705 -0
- agent_starter_pack/deployment_targets/cloud_run/tests/load_test/.results/.placeholder +321 -0
- agent_starter_pack/deployment_targets/cloud_run/tests/load_test/README.md +165 -0
- agent_starter_pack/deployment_targets/cloud_run/tests/load_test/load_test.py +329 -0
- agent_starter_pack/deployment_targets/cloud_run/{{cookiecutter.agent_directory}}/fast_api_app.py +556 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/package-lock.json +79 -1044
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/package.json +1 -9
- agent_starter_pack/frontends/adk_live_react/frontend/src/App.tsx +65 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/components/logger/Logger.tsx +8 -3
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/components/logger/logger.scss +26 -0
- agent_starter_pack/frontends/adk_live_react/frontend/src/components/side-panel/SidePanel.tsx +516 -0
- agent_starter_pack/frontends/adk_live_react/frontend/src/components/side-panel/side-panel.scss +563 -0
- agent_starter_pack/frontends/adk_live_react/frontend/src/components/transcription-preview/TranscriptionPreview.tsx +106 -0
- agent_starter_pack/frontends/adk_live_react/frontend/src/components/transcription-preview/transcription-preview.scss +150 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/hooks/use-live-api.ts +8 -2
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/multimodal-live-types.ts +40 -2
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/utils/audio-recorder.ts +1 -1
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/utils/audio-streamer.ts +1 -1
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/utils/multimodal-live-client.ts +210 -24
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/utils/utils.ts +27 -5
- agent_starter_pack/resources/docs/adk-cheatsheet.md +1628 -0
- agent_starter_pack/resources/locks/uv-adk_a2a_base-agent_engine.lock +4966 -0
- agent_starter_pack/resources/locks/uv-adk_a2a_base-cloud_run.lock +5011 -0
- agent_starter_pack/resources/locks/uv-adk_base-agent_engine.lock +4946 -0
- agent_starter_pack/resources/locks/uv-adk_base-cloud_run.lock +4991 -0
- agent_starter_pack/resources/locks/uv-adk_live-agent_engine.lock +4963 -0
- agent_starter_pack/resources/locks/uv-adk_live-cloud_run.lock +5006 -0
- agent_starter_pack/resources/locks/uv-agentic_rag-agent_engine.lock +5487 -0
- agent_starter_pack/resources/locks/uv-agentic_rag-cloud_run.lock +5532 -0
- agent_starter_pack/resources/locks/uv-langgraph_base-agent_engine.lock +5788 -0
- agent_starter_pack/resources/locks/uv-langgraph_base-cloud_run.lock +5811 -0
- {src → agent_starter_pack}/utils/generate_locks.py +15 -12
- {src → agent_starter_pack}/utils/lock_utils.py +4 -7
- {src → agent_starter_pack}/utils/watch_and_rebuild.py +2 -2
- agent_starter_pack-0.21.0.dist-info/METADATA +182 -0
- agent_starter_pack-0.21.0.dist-info/RECORD +171 -0
- agent_starter_pack-0.21.0.dist-info/entry_points.txt +2 -0
- llm.txt +362 -0
- agent_starter_pack-0.3.3.dist-info/METADATA +0 -164
- agent_starter_pack-0.3.3.dist-info/RECORD +0 -176
- agent_starter_pack-0.3.3.dist-info/entry_points.txt +0 -2
- agents/crewai_coding_crew/README.md +0 -34
- agents/crewai_coding_crew/app/agent.py +0 -86
- agents/crewai_coding_crew/app/crew/config/agents.yaml +0 -39
- agents/crewai_coding_crew/app/crew/config/tasks.yaml +0 -37
- agents/crewai_coding_crew/app/crew/crew.py +0 -71
- agents/crewai_coding_crew/tests/integration/test_agent.py +0 -47
- agents/langgraph_base_react/README.md +0 -9
- agents/langgraph_base_react/app/agent.py +0 -73
- agents/live_api/README.md +0 -37
- agents/live_api/app/agent.py +0 -78
- agents/live_api/app/server.py +0 -196
- agents/live_api/app/templates.py +0 -51
- agents/live_api/app/vector_store.py +0 -55
- agents/live_api/template/.templateconfig.yaml +0 -29
- agents/live_api/tests/integration/test_server_e2e.py +0 -254
- agents/live_api/tests/load_test/load_test.py +0 -40
- agents/live_api/tests/unit/test_server.py +0 -143
- src/base_template/Makefile +0 -72
- src/base_template/README.md +0 -208
- src/base_template/app/__init__.py +0 -3
- src/base_template/app/utils/tracing.py +0 -155
- src/base_template/deployment/README.md +0 -126
- src/base_template/deployment/cd/staging.yaml +0 -216
- src/base_template/deployment/terraform/dev/log_sinks.tf +0 -63
- src/base_template/deployment/terraform/log_sinks.tf +0 -70
- src/base_template/deployment/terraform/providers.tf +0 -37
- src/cli/commands/create.py +0 -664
- src/cli/commands/setup_cicd.py +0 -829
- src/cli/utils/gcp.py +0 -117
- src/cli/utils/logging.py +0 -51
- src/cli/utils/template.py +0 -737
- src/deployment_targets/agent_engine/app/agent_engine_app.py +0 -336
- src/deployment_targets/agent_engine/notebooks/intro_agent_engine.ipynb +0 -1025
- src/deployment_targets/agent_engine/tests/integration/test_agent_engine_app.py +0 -183
- src/deployment_targets/agent_engine/tests/load_test/README.md +0 -42
- src/deployment_targets/agent_engine/tests/load_test/load_test.py +0 -107
- src/deployment_targets/cloud_run/app/server.py +0 -154
- src/deployment_targets/cloud_run/tests/integration/test_server_e2e.py +0 -249
- src/deployment_targets/cloud_run/tests/load_test/.results/.placeholder +0 -0
- src/deployment_targets/cloud_run/tests/load_test/README.md +0 -83
- src/deployment_targets/cloud_run/tests/load_test/load_test.py +0 -118
- src/deployment_targets/cloud_run/uv.lock +0 -6952
- src/frontends/live_api_react/frontend/src/App.tsx +0 -205
- src/frontends/live_api_react/frontend/src/components/control-tray/ControlTray.tsx +0 -217
- src/frontends/live_api_react/frontend/src/components/control-tray/control-tray.scss +0 -201
- src/frontends/live_api_react/frontend/src/components/side-panel/SidePanel.tsx +0 -161
- src/frontends/live_api_react/frontend/src/components/side-panel/side-panel.scss +0 -285
- src/frontends/streamlit/frontend/side_bar.py +0 -214
- src/frontends/streamlit/frontend/streamlit_app.py +0 -265
- src/frontends/streamlit/frontend/style/app_markdown.py +0 -37
- src/frontends/streamlit/frontend/utils/chat_utils.py +0 -67
- src/frontends/streamlit/frontend/utils/local_chat_history.py +0 -125
- src/frontends/streamlit/frontend/utils/message_editing.py +0 -59
- src/frontends/streamlit/frontend/utils/multimodal_utils.py +0 -217
- src/frontends/streamlit/frontend/utils/stream_handler.py +0 -301
- src/frontends/streamlit/frontend/utils/title_summary.py +0 -94
- src/frontends/streamlit_adk/frontend/side_bar.py +0 -214
- src/frontends/streamlit_adk/frontend/streamlit_app.py +0 -314
- src/frontends/streamlit_adk/frontend/style/app_markdown.py +0 -37
- src/frontends/streamlit_adk/frontend/utils/chat_utils.py +0 -84
- src/frontends/streamlit_adk/frontend/utils/local_chat_history.py +0 -110
- src/frontends/streamlit_adk/frontend/utils/message_editing.py +0 -61
- src/frontends/streamlit_adk/frontend/utils/multimodal_utils.py +0 -223
- src/frontends/streamlit_adk/frontend/utils/stream_handler.py +0 -311
- src/frontends/streamlit_adk/frontend/utils/title_summary.py +0 -129
- src/resources/containers/data_processing/Dockerfile +0 -27
- src/resources/containers/e2e-tests/Dockerfile +0 -19
- src/resources/idx/.idx/dev.nix +0 -57
- src/resources/idx/idx-template.json +0 -21
- src/resources/idx/idx-template.nix +0 -26
- src/resources/locks/uv-adk_base-agent_engine.lock +0 -5338
- src/resources/locks/uv-adk_base-cloud_run.lock +0 -5930
- src/resources/locks/uv-agentic_rag-agent_engine.lock +0 -5528
- src/resources/locks/uv-agentic_rag-cloud_run.lock +0 -6120
- src/resources/locks/uv-crewai_coding_crew-agent_engine.lock +0 -6231
- src/resources/locks/uv-crewai_coding_crew-cloud_run.lock +0 -6839
- src/resources/locks/uv-langgraph_base_react-agent_engine.lock +0 -5233
- src/resources/locks/uv-langgraph_base_react-cloud_run.lock +0 -5862
- src/resources/locks/uv-live_api-cloud_run.lock +0 -5832
- src/resources/setup_cicd/cicd_variables.tf +0 -41
- src/resources/setup_cicd/github.tf +0 -87
- {agents → agent_starter_pack/agents}/agentic_rag/app/retrievers.py +0 -0
- {agents → agent_starter_pack/agents}/agentic_rag/app/templates.py +0 -0
- {src → agent_starter_pack}/base_template/deployment/terraform/dev/vars/env.tfvars +0 -0
- {src → agent_starter_pack}/base_template/tests/unit/test_dummy.py +0 -0
- {src/deployment_targets/agent_engine/app/utils → agent_starter_pack/base_template/{{cookiecutter.agent_directory}}/app_utils}/gcs.py +0 -0
- {src → agent_starter_pack}/cli/utils/__init__.py +0 -0
- {src → agent_starter_pack}/cli/utils/datastores.py +0 -0
- {src → agent_starter_pack}/cli/utils/version.py +0 -0
- {src → agent_starter_pack}/data_ingestion/README.md +0 -0
- {src → agent_starter_pack}/data_ingestion/data_ingestion_pipeline/components/ingest_data.py +0 -0
- {src → agent_starter_pack}/data_ingestion/data_ingestion_pipeline/pipeline.py +0 -0
- {src → agent_starter_pack}/deployment_targets/agent_engine/deployment_metadata.json +0 -0
- {src → agent_starter_pack}/deployment_targets/agent_engine/tests/load_test/.results/.placeholder +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/public/favicon.ico +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/public/index.html +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/public/robots.txt +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/App.scss +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/App.test.tsx +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/components/audio-pulse/AudioPulse.tsx +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/components/audio-pulse/audio-pulse.scss +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/components/logger/mock-logs.ts +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/contexts/LiveAPIContext.tsx +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/hooks/use-media-stream-mux.ts +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/hooks/use-screen-capture.ts +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/hooks/use-webcam.ts +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/index.css +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/index.tsx +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/react-app-env.d.ts +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/reportWebVitals.ts +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/setupTests.ts +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/utils/audioworklet-registry.ts +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/utils/store-logger.ts +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/utils/worklets/audio-processing.ts +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/src/utils/worklets/vol-meter.ts +0 -0
- {src/frontends/live_api_react → agent_starter_pack/frontends/adk_live_react}/frontend/tsconfig.json +0 -0
- {agent_starter_pack-0.3.3.dist-info → agent_starter_pack-0.21.0.dist-info}/WHEEL +0 -0
- {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
|
-

|
|
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
|
-

|
|
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
|
-
}
|