Skip to content

Commit b3509b0

Browse files
committed
feat: enhance Argo UI visibility with step headers and parameters
- Add show-parameters step displaying full workflow config in UI - Add step headers (1/4, 2/4, etc) to all pipeline stages - Add progress indicators and section dividers for better readability - Add workflow metadata labels (collection, item-id) for filtering - Fix sensor event binding (rabbitmq-geozarr/geozarr-events) - Add S1 E2E test job (amqp-publish-s1-e2e.yaml) Argo UI now shows: • Full payload/parameters in dedicated initial step • Clear step numbers and progress for each stage • Final URLs for STAC item and S3 output • Better context during long-running conversions
1 parent 0f7b2a5 commit b3509b0

File tree

3 files changed

+268
-61
lines changed

3 files changed

+268
-61
lines changed

workflows/amqp-publish-s1-e2e.yaml

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
---
2+
apiVersion: v1
3+
kind: ConfigMap
4+
metadata:
5+
name: amqp-payload-s1-e2e
6+
namespace: devseed-staging
7+
data:
8+
body.json: |
9+
{
10+
"source_url": "https://stac.core.eopf.eodc.eu/collections/sentinel-1-l1-grd/items/S1A_IW_GRDH_1SDV_20251007T052723_20251007T052748_061315_07A653_A991",
11+
"item_id": "S1A_IW_GRDH_20251007T052723_e2e_test",
12+
"collection": "sentinel-1-l1-grd-dp-test"
13+
}
14+
---
15+
apiVersion: batch/v1
16+
kind: Job
17+
metadata:
18+
name: amqp-publish-s1-e2e
19+
namespace: devseed-staging
20+
spec:
21+
ttlSecondsAfterFinished: 300
22+
template:
23+
spec:
24+
restartPolicy: Never
25+
containers:
26+
- name: publish
27+
image: python:3.11-slim
28+
env:
29+
- name: AMQP_HOST
30+
value: "rabbitmq.core.svc.cluster.local"
31+
- name: AMQP_PORT
32+
value: "5672"
33+
- name: AMQP_EXCHANGE
34+
value: "geozarr"
35+
- name: AMQP_ROUTING_KEY
36+
value: "eopf.items.sentinel-1-l1-grd"
37+
- name: AMQP_USER
38+
valueFrom:
39+
secretKeyRef:
40+
name: rabbitmq-credentials
41+
key: username
42+
- name: AMQP_PASSWORD
43+
valueFrom:
44+
secretKeyRef:
45+
name: rabbitmq-credentials
46+
key: password
47+
volumeMounts:
48+
- name: payload
49+
mountPath: /payload
50+
command:
51+
- /bin/bash
52+
- -c
53+
- |
54+
set -e
55+
pip install -q pika tenacity
56+
cat <<'PUBLISH_SCRIPT' > /tmp/publish.py
57+
import json
58+
import logging
59+
import pika
60+
from tenacity import retry, stop_after_attempt, wait_exponential
61+
62+
logging.basicConfig(level=logging.INFO)
63+
logger = logging.getLogger(__name__)
64+
65+
@retry(stop=stop_after_attempt(5), wait=wait_exponential(multiplier=1, min=2, max=10))
66+
def publish_message(host, port, user, password, exchange, routing_key, payload_file):
67+
with open(payload_file) as f:
68+
payload = json.load(f)
69+
70+
credentials = pika.PlainCredentials(user, password)
71+
parameters = pika.ConnectionParameters(host=host, port=port, credentials=credentials)
72+
connection = pika.BlockingConnection(parameters)
73+
channel = connection.channel()
74+
75+
channel.exchange_declare(exchange=exchange, exchange_type='topic', durable=True)
76+
channel.basic_publish(
77+
exchange=exchange,
78+
routing_key=routing_key,
79+
body=json.dumps(payload),
80+
properties=pika.BasicProperties(content_type='application/json', delivery_mode=2)
81+
)
82+
83+
logger.info(f"Published to {exchange}/{routing_key}: {payload}")
84+
connection.close()
85+
86+
if __name__ == "__main__":
87+
import os
88+
publish_message(
89+
os.getenv("AMQP_HOST"),
90+
int(os.getenv("AMQP_PORT", "5672")),
91+
os.getenv("AMQP_USER"),
92+
os.getenv("AMQP_PASSWORD"),
93+
os.getenv("AMQP_EXCHANGE"),
94+
os.getenv("AMQP_ROUTING_KEY"),
95+
"/payload/body.json"
96+
)
97+
PUBLISH_SCRIPT
98+
python /tmp/publish.py
99+
volumes:
100+
- name: payload
101+
configMap:
102+
name: amqp-payload-s1-e2e

workflows/sensor.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ spec:
88
serviceAccountName: operate-workflow-sa
99
dependencies:
1010
- name: geozarr-event
11-
eventSourceName: amqp
12-
eventName: eopf-items-convert
11+
eventSourceName: rabbitmq-geozarr
12+
eventName: geozarr-events
1313

1414
triggers:
1515
- template:

0 commit comments

Comments
 (0)