44 lines
1.7 KiB
YAML
44 lines
1.7 KiB
YAML
# Probe: image-drift
|
||
#
|
||
# Per-service GHCR manifest drift check. Discovery source `railway-services`
|
||
# enumerates every Railway service in the orchestrator's project, filters
|
||
# to `showcase-*` entries, and hands each one to the `image_drift` driver.
|
||
# The driver fetches the expected GHCR digest (tag = `latest` by default)
|
||
# and compares against the digest embedded in the Railway service's
|
||
# deployed `imageRef`.
|
||
#
|
||
# Schedule mirrors the legacy CI bash loop cadence (every 15 minutes).
|
||
# timeout_ms is generous enough for a single GHCR round-trip on a cold
|
||
# TCP stack but short enough that 100 stuck calls can't stack up across
|
||
# ticks. max_concurrency=4 matches the legacy bash pool size; 17
|
||
# showcase services × ~200ms per GHCR call ≈ 850ms wall time per tick.
|
||
kind: image_drift
|
||
id: image-drift
|
||
schedule: "*/15 * * * *"
|
||
timeout_ms: 30000
|
||
max_concurrency: 4
|
||
discovery:
|
||
source: railway-services
|
||
filter:
|
||
namePrefix: "showcase-"
|
||
nameExcludes:
|
||
# Decommissioned starters — Railway services stopped (PR #4390)
|
||
- "showcase-starter-ag2"
|
||
- "showcase-starter-agno"
|
||
- "showcase-starter-claude-sdk-python"
|
||
- "showcase-starter-claude-sdk-typescript"
|
||
- "showcase-starter-crewai-crews"
|
||
- "showcase-starter-google-adk"
|
||
- "showcase-starter-langgraph-fastapi"
|
||
- "showcase-starter-langgraph-python"
|
||
- "showcase-starter-langgraph-typescript"
|
||
- "showcase-starter-langroid"
|
||
- "showcase-starter-llamaindex"
|
||
- "showcase-starter-mastra"
|
||
- "showcase-starter-ms-agent-dotnet"
|
||
- "showcase-starter-ms-agent-python"
|
||
- "showcase-starter-pydantic-ai"
|
||
- "showcase-starter-spring-ai"
|
||
- "showcase-starter-strands"
|
||
key_template: "image_drift:${name}"
|