Skip to content

Adding chart changes to run Graph generation as a cronjob. - #428

Open
hina-shah wants to merge 9 commits into
masterfrom
feat/cronjob-setup-v2
Open

hina-shah wants to merge 9 commits into
masterfrom
feat/cronjob-setup-v2

Conversation

@hina-shah

Copy link
Copy Markdown
Contributor

No description provided.

Hina Shah and others added 9 commits August 3, 2026 13:48
- graph_pipeline.py: track per-source outcomes (cached/built/failed) and
  graph-level failures; extend write_build_results() to include all graphs
  and source detail; hook Slack notification after write
- source_resolution.py: add resolve_with_status() returning (result, status,
  error); populate _last_error in _produce() for failed sources
- report_handler.py: new module; reads build results JSON and posts a
  per-graph Slack summary with per-source status and error messages
- config.py: add ORION_SLACK_WEBHOOK_URL config field
- helm/orion/values.yaml: add logsVolume, basePVC, schedule, slackWebhookURL
- helm/orion/templates/cronjob.yaml: CronJob template with basePVC/logsVolume
  support and Slack webhook env var
- helm/orion/templates/pvc.yaml: PVC creation for basePVC (PV created by admin)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- values.yaml: remove duplicate logsVolume block; master's version
  (with enabled flag and size) is canonical
- cronjob.yaml: use logsVolume.enabled (matching graph-builder.yaml
  pattern from master); support PVC fallback when use_nfs is false

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Container runs as root when unset (Dockerfile has no USER directive).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
xxhash>=3.6.0 requires bytes input; passing str raises
'TypeError: Strings must be encoded before hashing'.
All three xxh64_hexdigest call sites now call .encode() first.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Track up_to_date vs stable in graph_pipeline.py: skip rebuild when
  graph exists and is current, record Metadata.UP_TO_DATE for unchanged graphs
- Add UP_TO_DATE constant to Metadata class
- Extend report_handler.py with white_circle emoji and message for
  up_to_date graphs in Slack build notifications
- Add debug uid/gid and directory listing to orion/__init__.py to
  aid NFS permission diagnosis
- Helm: remove preRunCommand support (graph-builder.yaml, cronjob.yaml,
  values.yaml) — superseded by helm set at deploy time if needed
- Helm: remove basePVC references from cronjob.yaml and pvc.yaml;
  separate sourcesVolume/graphsVolume/logsVolume is the only supported path
- Helm: container-level securityContext on init and main containers
- Helm: job name uses orion.fullname for parallel deployment safety
- Add scripts/test_nfs_permissions.sh to diagnose uid squashing and
  attribute caching on NFS mounts
- Update example-graph-spec.yaml with additional test sources

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…rors

- report_handler.py: list each source on its own indented line instead
  of joining with pipes; increase error truncation to 120 chars
- ingest_pipeline.py: track last_failure_reason (fetch/parsing/
  normalization/supplementation/QC stage) when run_pipeline fails
- source_resolution.py: include the failed stage in the error message
  surfaced to the build report and Slack notification

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant