Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions Fournos_Design_Document.md
Original file line number Diff line number Diff line change
Expand Up @@ -318,6 +318,27 @@ Every Pipeline must carry a `fournos.dev/resolve-image` annotation with the full

Completion detection is handled by the operator's timer polling PipelineRun conditions — no callback task is needed.

### Timeouts

Fournos sets PipelineRun-level timeouts when creating the Tekton PipelineRun (see `fournos/core/tekton.py`):

| Timeout scope | Default | Description |
| ------------- | ------- | ----------- |
| `pipeline` | 25h | Overall PipelineRun deadline |
| `tasks` | 24h | Maximum wall-clock time for all non-finally tasks |
| `finally` | 1h | Maximum wall-clock time for finally tasks (cleanup, artifact export) |

**Cluster-wide Tekton default**: Tekton also applies a cluster-wide `default-timeout-minutes` from the `config-defaults` ConfigMap in the `openshift-pipelines` namespace. This default applies to **individual TaskRuns** that do not have an explicit timeout. If this value is lower than the PipelineRun `tasks` timeout, TaskRuns will be killed early even though the PipelineRun allows more time.

To prevent this, set the cluster-wide default higher than the PipelineRun task timeout:

```bash
oc patch configmap config-defaults -n openshift-pipelines \
-p '{"data":{"default-timeout-minutes":"5940"}}' # 99 hours
```

This ensures individual TaskRuns never hit the cluster default before the PipelineRun-level timeout.
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Outdated

## 9. Kueue configuration

[config/kueue-cluster-config.yaml](config/kueue-cluster-config.yaml):
Expand Down
Loading