agent-starter-pack 0.9.1__py3-none-any.whl → 0.10.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 (57) hide show
  1. {agent_starter_pack-0.9.1.dist-info → agent_starter_pack-0.10.0.dist-info}/METADATA +5 -7
  2. {agent_starter_pack-0.9.1.dist-info → agent_starter_pack-0.10.0.dist-info}/RECORD +54 -52
  3. agents/adk_base/.template/templateconfig.yaml +1 -1
  4. agents/adk_gemini_fullstack/.template/templateconfig.yaml +1 -1
  5. agents/agentic_rag/.template/templateconfig.yaml +1 -1
  6. agents/agentic_rag/README.md +1 -1
  7. agents/live_api/tests/integration/test_server_e2e.py +7 -1
  8. llm.txt +3 -2
  9. src/base_template/Makefile +4 -3
  10. src/base_template/README.md +7 -2
  11. src/base_template/deployment/README.md +6 -121
  12. src/base_template/deployment/terraform/github.tf +284 -0
  13. src/base_template/deployment/terraform/providers.tf +5 -0
  14. src/base_template/deployment/terraform/variables.tf +40 -1
  15. src/base_template/deployment/terraform/vars/env.tfvars +7 -1
  16. src/base_template/deployment/terraform/{% if cookiecutter.cicd_runner == 'github_actions' %}wif.tf{% else %}unused_wif.tf{% endif %} +43 -0
  17. src/base_template/deployment/terraform/{build_triggers.tf → {% if cookiecutter.cicd_runner == 'google_cloud_build' %}build_triggers.tf{% else %}unused_build_triggers.tf{% endif %} } +33 -18
  18. src/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/deploy-to-prod.yaml +114 -0
  19. src/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/pr_checks.yaml +65 -0
  20. src/base_template/{% if cookiecutter.cicd_runner == 'github_actions' %}.github{% else %}unused_github{% endif %}/workflows/staging.yaml +170 -0
  21. src/base_template/{deployment/cd/deploy-to-prod.yaml → {% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/deploy-to-prod.yaml } +7 -7
  22. src/base_template/{deployment/cd/staging.yaml → {% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}/staging.yaml } +7 -7
  23. src/cli/commands/create.py +223 -41
  24. src/cli/commands/list.py +4 -10
  25. src/cli/commands/setup_cicd.py +292 -298
  26. src/cli/utils/cicd.py +19 -7
  27. src/cli/utils/remote_template.py +82 -15
  28. src/cli/utils/template.py +79 -19
  29. src/deployment_targets/cloud_run/app/server.py +19 -0
  30. src/deployment_targets/cloud_run/deployment/terraform/dev/service.tf +4 -3
  31. src/deployment_targets/cloud_run/deployment/terraform/service.tf +4 -3
  32. src/deployment_targets/cloud_run/tests/integration/test_server_e2e.py +35 -0
  33. src/deployment_targets/cloud_run/tests/load_test/README.md +1 -1
  34. src/frontends/live_api_react/frontend/package-lock.json +19 -16
  35. src/frontends/streamlit/frontend/side_bar.py +1 -1
  36. src/frontends/streamlit/frontend/utils/chat_utils.py +1 -1
  37. src/frontends/streamlit/frontend/utils/local_chat_history.py +2 -2
  38. src/resources/containers/e2e-tests/Dockerfile +39 -17
  39. src/resources/docs/adk-cheatsheet.md +1 -1
  40. src/resources/locks/uv-adk_base-agent_engine.lock +164 -131
  41. src/resources/locks/uv-adk_base-cloud_run.lock +177 -144
  42. src/resources/locks/uv-adk_gemini_fullstack-agent_engine.lock +164 -131
  43. src/resources/locks/uv-adk_gemini_fullstack-cloud_run.lock +177 -144
  44. src/resources/locks/uv-agentic_rag-agent_engine.lock +223 -190
  45. src/resources/locks/uv-agentic_rag-cloud_run.lock +251 -218
  46. src/resources/locks/uv-crewai_coding_crew-agent_engine.lock +315 -485
  47. src/resources/locks/uv-crewai_coding_crew-cloud_run.lock +358 -531
  48. src/resources/locks/uv-langgraph_base_react-agent_engine.lock +281 -249
  49. src/resources/locks/uv-langgraph_base_react-cloud_run.lock +323 -290
  50. src/resources/locks/uv-live_api-cloud_run.lock +350 -327
  51. src/resources/setup_cicd/cicd_variables.tf +0 -41
  52. src/resources/setup_cicd/github.tf +0 -87
  53. src/resources/setup_cicd/providers.tf +0 -39
  54. {agent_starter_pack-0.9.1.dist-info → agent_starter_pack-0.10.0.dist-info}/WHEEL +0 -0
  55. {agent_starter_pack-0.9.1.dist-info → agent_starter_pack-0.10.0.dist-info}/entry_points.txt +0 -0
  56. {agent_starter_pack-0.9.1.dist-info → agent_starter_pack-0.10.0.dist-info}/licenses/LICENSE +0 -0
  57. /src/base_template/{deployment/ci → {% if cookiecutter.cicd_runner == 'google_cloud_build' %}.cloudbuild{% else %}unused_.cloudbuild{% endif %}}/pr_checks.yaml +0 -0
@@ -0,0 +1,65 @@
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
+ name: PR Checks
16
+
17
+ on:
18
+ pull_request:
19
+ branches:
20
+ - main
21
+ paths:
22
+ - 'app/**'
23
+ - 'data_ingestion/**'
24
+ - 'tests/**'
25
+ - 'deployment/**'
26
+ - 'uv.lock'
27
+ {%- if cookiecutter.data_ingestion %}
28
+ - 'data_ingestion/**'
29
+ {%- endif %}
30
+
31
+ jobs:
32
+ test:
33
+ runs-on: ubuntu-latest
34
+ permissions:
35
+ contents: 'read'
36
+ id-token: 'write'
37
+ steps:
38
+ - name: Checkout code
39
+ uses: actions/checkout@v4
40
+
41
+ - id: 'auth'
42
+ name: 'Authenticate to Google Cloud'
43
+ uses: 'google-github-actions/auth@v2'
44
+ with:
45
+ workload_identity_provider: 'projects/{% raw %}${{ vars.GCP_PROJECT_NUMBER }}{% endraw %}/locations/global/workloadIdentityPools/{% raw %}${{ secrets.WIF_POOL_ID }}{% endraw %}/providers/{% raw %}${{ secrets.WIF_PROVIDER_ID }}{% endraw %}'
46
+ service_account: '{% raw %}${{ secrets.GCP_SERVICE_ACCOUNT }}{% endraw %}'
47
+ create_credentials_file: true
48
+ project_id: {% raw %}${{ vars.CICD_PROJECT_ID }}{% endraw %}
49
+
50
+
51
+ - name: Set up Python 3.11
52
+ uses: actions/setup-python@v4
53
+ with:
54
+ python-version: '3.11'
55
+
56
+ - name: Install uv and dependencies
57
+ run: |
58
+ pip install uv==0.6.12
59
+ uv sync --locked
60
+
61
+ - name: Run unit tests
62
+ run: uv run pytest tests/unit
63
+
64
+ - name: Run integration tests
65
+ run: uv run pytest tests/integration
@@ -0,0 +1,170 @@
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
+ name: Deploy to Staging
16
+
17
+ on:
18
+ push:
19
+ branches:
20
+ - main
21
+ paths:
22
+ - 'app/**'
23
+ - 'data_ingestion/**'
24
+ - 'tests/**'
25
+ - 'deployment/**'
26
+ - 'uv.lock'
27
+
28
+ jobs:
29
+ deploy_and_test_staging:
30
+ runs-on: ubuntu-latest
31
+ permissions:
32
+ contents: 'read'
33
+ id-token: 'write'
34
+
35
+ steps:
36
+ - name: Checkout code
37
+ uses: actions/checkout@v4
38
+
39
+ - name: Set up Python 3.11
40
+ uses: actions/setup-python@v4
41
+ with:
42
+ python-version: '3.11'
43
+
44
+ - id: 'auth'
45
+ name: 'Authenticate to Google Cloud'
46
+ uses: 'google-github-actions/auth@v2'
47
+ with:
48
+ workload_identity_provider: 'projects/{% raw %}${{ vars.GCP_PROJECT_NUMBER }}{% endraw %}/locations/global/workloadIdentityPools/{% raw %}${{ secrets.WIF_POOL_ID }}{% endraw %}/providers/{% raw %}${{ secrets.WIF_PROVIDER_ID }}{% endraw %}'
49
+ service_account: '{% raw %}${{ secrets.GCP_SERVICE_ACCOUNT }}{% endraw %}'
50
+ create_credentials_file: true
51
+ project_id: {% raw %}${{ vars.CICD_PROJECT_ID }}{% endraw %}
52
+ {%- if cookiecutter.deployment_target == 'cloud_run' %}
53
+
54
+ - name: Set up Cloud SDK
55
+ uses: 'google-github-actions/setup-gcloud@v2'
56
+ {%- endif %}
57
+ {%- if cookiecutter.data_ingestion %}
58
+
59
+ - name: Deploy data ingestion pipeline (Staging)
60
+ run: |
61
+ cd data_ingestion && pip install uv==0.6.12 && cd data_ingestion_pipeline && \
62
+ uv sync --locked && uv run python submit_pipeline.py
63
+ env:
64
+ PIPELINE_ROOT: {% raw %}${{ vars.PIPELINE_GCS_ROOT_STAGING }}{% endraw %}
65
+ REGION: {% raw %}${{ vars.REGION }}{% endraw %}
66
+ {%- if cookiecutter.datastore_type == "vertex_ai_search" %}
67
+ DATA_STORE_REGION: {% raw %}${{ vars.DATA_STORE_REGION }}{% endraw %}
68
+ DATA_STORE_ID: {% raw %}${{ vars.DATA_STORE_ID_STAGING }}{% endraw %}
69
+ {%- elif cookiecutter.datastore_type == "vertex_ai_vector_search" %}
70
+ VECTOR_SEARCH_INDEX: {% raw %}${{ vars.VECTOR_SEARCH_INDEX_STAGING }}{% endraw %}
71
+ VECTOR_SEARCH_INDEX_ENDPOINT: {% raw %}${{ vars.VECTOR_SEARCH_INDEX_ENDPOINT_STAGING }}{% endraw %}
72
+ VECTOR_SEARCH_BUCKET: {% raw %}${{ vars.VECTOR_SEARCH_BUCKET_STAGING }}{% endraw %}
73
+ {%- endif %}
74
+ PROJECT_ID: {% raw %}${{ vars.STAGING_PROJECT_ID }}{% endraw %}
75
+ SERVICE_ACCOUNT: {% raw %}${{ vars.PIPELINE_SA_EMAIL_STAGING }}{% endraw %}
76
+ PIPELINE_NAME: {% raw %}${{ vars.PIPELINE_NAME }}{% endraw %}
77
+ {%- endif %}
78
+
79
+ {%- if cookiecutter.deployment_target == 'cloud_run' %}
80
+
81
+ - name: Configure Docker for Artifact Registry
82
+ run: |
83
+ gcloud auth configure-docker {% raw %}${{ vars.REGION }}{% endraw %}-docker.pkg.dev --quiet
84
+
85
+ - name: Build and Push Docker Image
86
+ run: |
87
+ docker build -t {% raw %}${{ vars.REGION }}{% endraw %}-docker.pkg.dev/{% raw %}${{ vars.CICD_PROJECT_ID }}{% endraw %}/{% raw %}${{ vars.ARTIFACT_REGISTRY_REPO_NAME }}{% endraw %}/{% raw %}${{ vars.CONTAINER_NAME }}{% endraw %} \
88
+ --build-arg COMMIT_SHA={% raw %}${{ github.sha }}{% endraw %} .
89
+ docker push {% raw %}${{ vars.REGION }}{% endraw %}-docker.pkg.dev/{% raw %}${{ vars.CICD_PROJECT_ID }}{% endraw %}/{% raw %}${{ vars.ARTIFACT_REGISTRY_REPO_NAME }}{% endraw %}/{% raw %}${{ vars.CONTAINER_NAME }}{% endraw %}
90
+
91
+ - name: Deploy to Staging (Cloud Run)
92
+ run: |
93
+ gcloud run deploy {{cookiecutter.project_name}} \
94
+ --image {% raw %}${{ vars.REGION }}{% endraw %}-docker.pkg.dev/{% raw %}${{ vars.CICD_PROJECT_ID }}{% endraw %}/{% raw %}${{ vars.ARTIFACT_REGISTRY_REPO_NAME }}{% endraw %}/{% raw %}${{ vars.CONTAINER_NAME }}{% endraw %} \
95
+ --region {% raw %}${{ vars.REGION }}{% endraw %} \
96
+ --project {% raw %}${{ vars.STAGING_PROJECT_ID }}{% endraw %}
97
+
98
+ - name: Fetch Staging Service URL
99
+ id: fetch-url
100
+ run: |
101
+ _STAGING_URL=$(gcloud run services describe {{cookiecutter.project_name}} \
102
+ --region {% raw %}${{ vars.REGION }}{% endraw %} --project {% raw %}${{ vars.STAGING_PROJECT_ID }}{% endraw %} --format="value(status.url)")
103
+ echo "_staging_url=${_STAGING_URL}" >> $GITHUB_OUTPUT
104
+
105
+ - name: Fetch ID Token
106
+ id: fetch-token
107
+ run: |
108
+ _ID_TOKEN=$(gcloud auth print-identity-token --impersonate-service-account={% raw %}${{ secrets.GCP_SERVICE_ACCOUNT }}{% endraw %} -q)
109
+ echo "::add-mask::${_ID_TOKEN}"
110
+ echo "_id_token=${_ID_TOKEN}" >> $GITHUB_OUTPUT
111
+
112
+ {%- elif cookiecutter.deployment_target == 'agent_engine' %}
113
+
114
+ - name: Install uv and dependencies
115
+ run: |
116
+ pip install uv==0.6.12
117
+ uv sync --locked
118
+
119
+ - name: Deploy to Staging (Agent Engine)
120
+ run: |
121
+ uv export --no-hashes --no-sources --no-header --no-dev --no-emit-project --no-annotate --locked > .requirements.txt
122
+ uv run app/agent_engine_app.py \
123
+ --project {% raw %}${{ vars.STAGING_PROJECT_ID }}{% endraw %} \
124
+ --location {% raw %}${{ vars.REGION }}{% endraw %} \
125
+ --set-env-vars="COMMIT_SHA={% raw %}${{ github.sha }}{% endraw %}{%- if cookiecutter.data_ingestion %}{%- if cookiecutter.datastore_type == "vertex_ai_search" %},DATA_STORE_ID={% raw %}${{ vars.DATA_STORE_ID_STAGING }}{% endraw %},DATA_STORE_REGION={% raw %}${{ vars.DATA_STORE_REGION }}{% endraw %}{%- elif cookiecutter.datastore_type == "vertex_ai_vector_search" %},VECTOR_SEARCH_INDEX={% raw %}${{ vars.VECTOR_SEARCH_INDEX_STAGING }}{% endraw %},VECTOR_SEARCH_INDEX_ENDPOINT={% raw %}${{ vars.VECTOR_SEARCH_INDEX_ENDPOINT_STAGING }}{% endraw %},VECTOR_SEARCH_BUCKET={% raw %}${{ vars.VECTOR_SEARCH_BUCKET_STAGING }}{% endraw %}{%- endif %}{%- endif %}"
126
+
127
+ - name: Fetch Auth Token
128
+ id: fetch-token
129
+ run: |
130
+ _AUTH_TOKEN=$(gcloud auth print-access-token -q)
131
+ echo "::add-mask::${_AUTH_TOKEN}"
132
+ echo "_auth_token=${_AUTH_TOKEN}" >> $GITHUB_OUTPUT
133
+ {%- endif %}
134
+
135
+ - name: Run load test
136
+ run: |
137
+ {%- if cookiecutter.deployment_target == 'cloud_run' %}
138
+ export _ID_TOKEN="{% raw %}${{ steps.fetch-token.outputs._id_token }}{% endraw %}"
139
+ export _STAGING_URL="{% raw %}${{ steps.fetch-url.outputs._staging_url }}{% endraw %}"
140
+ {%- elif cookiecutter.deployment_target == 'agent_engine' %}
141
+ export _AUTH_TOKEN="{% raw %}${{ steps.fetch-token.outputs._auth_token }}{% endraw %}"
142
+ {%- endif %}
143
+ pip install locust==2.31.1
144
+ locust -f tests/load_test/load_test.py \
145
+ --headless \
146
+ {%- if cookiecutter.deployment_target == 'cloud_run' %}
147
+ -H ${_STAGING_URL} \
148
+ -t 30s -u 10 -r 0.5 \
149
+ {%- elif cookiecutter.deployment_target == 'agent_engine' %}
150
+ -t 30s -u 2 -r 0.5 \
151
+ {%- endif %}
152
+ --csv=tests/load_test/.results/results \
153
+ --html=tests/load_test/.results/report.html
154
+
155
+ - name: Export Load Test Results to GCS
156
+ run: |
157
+ TIMESTAMP=$(date +%Y%m%d-%H%M%S)
158
+ gcloud storage cp --recursive tests/load_test/.results gs://{% raw %}${{ vars.BUCKET_NAME_LOAD_TEST_RESULTS }}{% endraw %}/results-${TIMESTAMP} --quiet
159
+ echo "_________________________________________________________________________"
160
+ echo "Load test results copied to gs://{% raw %}${{ vars.BUCKET_NAME_LOAD_TEST_RESULTS }}{% endraw %}/results-${TIMESTAMP}"
161
+ echo "HTTP link: https://console.cloud.google.com/storage/browser/{% raw %}${{ vars.BUCKET_NAME_LOAD_TEST_RESULTS }}{% endraw %}/results-${TIMESTAMP}"
162
+ echo "_________________________________________________________________________"
163
+
164
+ call_production_workflow:
165
+ needs: deploy_and_test_staging
166
+ uses: ./.github/workflows/deploy-to-prod.yaml
167
+ permissions:
168
+ contents: 'read'
169
+ id-token: 'write'
170
+ secrets: inherit
@@ -23,18 +23,18 @@ steps:
23
23
  cd data_ingestion && pip install uv==0.6.12 --user && cd data_ingestion_pipeline && \
24
24
  uv sync --locked && uv run python submit_pipeline.py
25
25
  env:
26
- - "PIPELINE_ROOT=${_PIPELINE_GCS_ROOT}"
26
+ - "PIPELINE_ROOT=${_PIPELINE_GCS_ROOT_PROD}"
27
27
  - "REGION=${_REGION}"
28
28
  {%- if cookiecutter.datastore_type == "vertex_ai_search" %}
29
29
  - "DATA_STORE_REGION=${_DATA_STORE_REGION}"
30
- - "DATA_STORE_ID=${_DATA_STORE_ID}"
30
+ - "DATA_STORE_ID=${_DATA_STORE_ID_PROD}"
31
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}"
32
+ - "VECTOR_SEARCH_INDEX=${_VECTOR_SEARCH_INDEX_PROD}"
33
+ - "VECTOR_SEARCH_INDEX_ENDPOINT=${_VECTOR_SEARCH_INDEX_ENDPOINT_PROD}"
34
+ - "VECTOR_SEARCH_BUCKET=${_VECTOR_SEARCH_BUCKET_PROD}"
35
35
  {%- endif %}
36
36
  - "PROJECT_ID=${_PROD_PROJECT_ID}"
37
- - "SERVICE_ACCOUNT=${_PIPELINE_SA_EMAIL}"
37
+ - "SERVICE_ACCOUNT=${_PIPELINE_SA_EMAIL_PROD}"
38
38
  - "PIPELINE_NAME=${_PIPELINE_NAME}"
39
39
  - "CRON_SCHEDULE=${_PIPELINE_CRON_SCHEDULE}"
40
40
  - "DISABLE_CACHING=TRUE"
@@ -77,7 +77,7 @@ steps:
77
77
  uv run app/agent_engine_app.py \
78
78
  --project ${_PROD_PROJECT_ID} \
79
79
  --location ${_REGION} \
80
- --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 %}"
80
+ --set-env-vars="COMMIT_SHA=${COMMIT_SHA}{%- if cookiecutter.data_ingestion %}{%- if cookiecutter.datastore_type == "vertex_ai_search" %},DATA_STORE_ID=${_DATA_STORE_ID_PROD},DATA_STORE_REGION=${_DATA_STORE_REGION}{%- elif cookiecutter.datastore_type == "vertex_ai_vector_search" %},VECTOR_SEARCH_INDEX=${_VECTOR_SEARCH_INDEX_PROD},VECTOR_SEARCH_INDEX_ENDPOINT=${_VECTOR_SEARCH_INDEX_ENDPOINT_PROD},VECTOR_SEARCH_BUCKET=${_VECTOR_SEARCH_BUCKET_PROD}{%- endif %}{%- endif %}"
81
81
  env:
82
82
  - 'PATH=/usr/local/bin:/usr/bin:~/.local/bin'
83
83
  {%- endif %}
@@ -23,18 +23,18 @@ steps:
23
23
  cd data_ingestion && pip install uv==0.6.12 --user && cd data_ingestion_pipeline && \
24
24
  uv sync --locked && uv run python submit_pipeline.py
25
25
  env:
26
- - "PIPELINE_ROOT=${_PIPELINE_GCS_ROOT}"
26
+ - "PIPELINE_ROOT=${_PIPELINE_GCS_ROOT_STAGING}"
27
27
  - "REGION=${_REGION}"
28
28
  {%- if cookiecutter.datastore_type == "vertex_ai_search" %}
29
29
  - "DATA_STORE_REGION=${_DATA_STORE_REGION}"
30
- - "DATA_STORE_ID=${_DATA_STORE_ID}"
30
+ - "DATA_STORE_ID=${_DATA_STORE_ID_STAGING}"
31
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}"
32
+ - "VECTOR_SEARCH_INDEX=${_VECTOR_SEARCH_INDEX_STAGING}"
33
+ - "VECTOR_SEARCH_INDEX_ENDPOINT=${_VECTOR_SEARCH_INDEX_ENDPOINT_STAGING}"
34
+ - "VECTOR_SEARCH_BUCKET=${_VECTOR_SEARCH_BUCKET_STAGING}"
35
35
  {%- endif %}
36
36
  - "PROJECT_ID=${_STAGING_PROJECT_ID}"
37
- - "SERVICE_ACCOUNT=${_PIPELINE_SA_EMAIL}"
37
+ - "SERVICE_ACCOUNT=${_PIPELINE_SA_EMAIL_STAGING}"
38
38
  - "PIPELINE_NAME=${_PIPELINE_NAME}"
39
39
  - 'PATH=/usr/local/bin:/usr/bin:~/.local/bin'
40
40
  {%- endif %}
@@ -111,7 +111,7 @@ steps:
111
111
  uv run app/agent_engine_app.py \
112
112
  --project ${_STAGING_PROJECT_ID} \
113
113
  --location ${_REGION} \
114
- --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 %}"
114
+ --set-env-vars="COMMIT_SHA=${COMMIT_SHA}{%- if cookiecutter.data_ingestion %}{%- if cookiecutter.datastore_type == "vertex_ai_search" %},DATA_STORE_ID=${_DATA_STORE_ID_STAGING},DATA_STORE_REGION=${_DATA_STORE_REGION}{%- elif cookiecutter.datastore_type == "vertex_ai_vector_search" %},VECTOR_SEARCH_INDEX=${_VECTOR_SEARCH_INDEX_STAGING},VECTOR_SEARCH_INDEX_ENDPOINT=${_VECTOR_SEARCH_INDEX_ENDPOINT_STAGING},VECTOR_SEARCH_BUCKET=${_VECTOR_SEARCH_BUCKET_STAGING}{%- endif %}{%- endif %}"
115
115
  env:
116
116
  - 'PATH=/usr/local/bin:/usr/bin:~/.local/bin'
117
117