Skip to content

Commit 4861d1e

Browse files
Pigbibicodex
andcommitted
fix: harden cloud run runtime guard
Co-Authored-By: Codex <noreply@openai.com>
1 parent 68174dc commit 4861d1e

2 files changed

Lines changed: 24 additions & 5 deletions

File tree

scripts/cloud_run_runtime_guard.py

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,17 @@ def _load_services() -> list[str]:
8787
return unique
8888

8989

90+
def _cloud_run_log_filter(service: str, since_text: str, region: str = "") -> str:
91+
parts = [
92+
'resource.type="cloud_run_revision"',
93+
f'resource.labels.service_name="{service}"',
94+
f'timestamp >= "{since_text}"',
95+
]
96+
if region:
97+
parts.append(f'resource.labels.location="{region}"')
98+
return " AND ".join(parts)
99+
100+
90101
def _service_job_aliases(service: str) -> list[str]:
91102
service_name = str(service or "").strip()
92103
if not service_name:
@@ -510,11 +521,7 @@ def main() -> int:
510521
service_since = _cloud_run_log_since(project, service, since) if ignore_pre_ready_logs else since
511522
service_since_by_name[service] = service_since
512523
service_since_text = _format_timestamp(service_since)
513-
log_filter = (
514-
'resource.type="cloud_run_revision" '
515-
f'AND resource.labels.service_name="{service}" '
516-
f'AND timestamp >= "{service_since_text}"'
517-
)
524+
log_filter = _cloud_run_log_filter(service, service_since_text, _region_for_service(service))
518525
try:
519526
entries = _run_gcloud_logging(project, log_filter, limit)
520527
except RuntimeError as exc:

tests/test_cloud_run_runtime_guard.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,18 @@
88
from scripts import cloud_run_runtime_guard as guard
99

1010

11+
def test_cloud_run_log_filter_includes_region_when_available():
12+
log_filter = guard._cloud_run_log_filter(
13+
"interactive-brokers-live-u1599-tqqq-service",
14+
"2026-07-01T12:00:00Z",
15+
"asia-east1",
16+
)
17+
18+
assert 'resource.labels.service_name="interactive-brokers-live-u1599-tqqq-service"' in log_filter
19+
assert 'resource.labels.location="asia-east1"' in log_filter
20+
assert 'timestamp >= "2026-07-01T12:00:00Z"' in log_filter
21+
22+
1123
def test_scheduler_job_pattern_includes_service_alias():
1224
pattern = guard._scheduler_job_pattern_for_services(
1325
["interactive-brokers-live-u1599-tqqq-service"]

0 commit comments

Comments
 (0)