Skip to content

Conversation

wietzesuijker
Copy link
Collaborator

Argo Workflows orchestration, AMQP integration, and Python dependencies.

Stack: Part 1 of 5 (merge this first)

What's included

Argo Workflows (workflows/)

  • template.yaml: Main DAG pipeline (convert → register → augment)
  • sensor.yaml: AMQP event listener for RabbitMQ
  • eventsource.yaml: RabbitMQ connection configuration
  • rbac.yaml: Service account permissions
  • test-run.yaml, augment-only.yaml: Development/testing workflows
  • payload.json + examples: Test payloads

Dependencies

  • pyproject.toml: Python dependencies (eopf-geozarr, pystac-client, requests, tenacity)
  • uv.lock: Locked dependency versions
  • .pre-commit-config.yaml: Code quality hooks (ruff, mypy)

Architecture

RabbitMQ → EventSource → Sensor → Argo Workflows
                                   ├─ convert-geozarr
                                   ├─ register-stac
                                   └─ augment-stac

Review notes

Add complete Argo Workflows infrastructure for geozarr pipeline with automated AMQP event triggering.

Workflow pipeline:
- Convert: Sentinel-2 Zarr → GeoZarr (cloud-optimized)
- Register: Create STAC item with metadata
- Augment: Add visualization links (XYZ tiles, TileJSON)

Event-driven automation:
- AMQP EventSource subscribes to RabbitMQ queue
- Sensor triggers workflows on incoming messages
- RBAC configuration for secure execution

Configuration:
- Python dependencies (pyproject.toml, uv.lock)
- Pre-commit hooks (ruff, mypy, yaml validation)
- TTL cleanup (24h auto-delete completed workflows)
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