You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/en/development/catalog/convention.md
+78Lines changed: 78 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -204,3 +204,81 @@ When adding a new Task, cover the following cases:
204
204
- Allow skipping certificate verification for HTTPS: expose a toggle parameter and clearly document the risks and when to use it.
205
205
- Trust HTTPS via user-provided certificates: expose a workspace for mounting custom CAs/truststores.
206
206
- If the tool uses a “full replacement” trust-store strategy: implement append/merge logic in the Task so user certificates are added to the default trust chain rather than overwriting it, preventing breaks to other HTTPS endpoints and improving UX.
We support two overview rendering paths as described in [TEP-0003: PipelineRun Support Markdown Output](../../teps/0003_pipelinerun_markdown_output.md) and [TEP-0004: Task Overview Template Rendering](../../teps/catalog/0004-task-result-template.md) :
211
+
212
+
1. A `overview-markdown` Task result containing fully-rendered markdown.
213
+
2. A ConfigMap-backed template (for example, using the EJS engine) that consumes structured Task results.
214
+
215
+
For catalog contributors, we adopt the following conventions:
216
+
217
+
- **Platform-provided / curated overview templates MUST use the ConfigMap + template path.**
218
+
- Do **not** let catalog Tasks we own write to a `overview-markdown` result by default.
219
+
- Tasks that support user-defined scripts should, where possible, provide an empty `overview-markdown` result for users to use.
220
+
- Treat `overview-markdown` as a user extension point: if a Pipeline or Task wants to override the UI, it can emit this result and the UI will prefer it over any ConfigMap template.
221
+
222
+
- **ConfigMap location and labels**
223
+
224
+
- ConfigMaps that contain EJS overview templates MUST be stored under the [catalog](https://github.com/AlaudaDevops/catalog) repository's `config/catalog/` directory, and be shipped together with other catalog manifests.
225
+
- Templates are deployed into the `kube-public` namespace so any dashboard instance can read them.
226
+
- Each ConfigMap corresponds to one Task (and version) that owns the overview template and MUST carry the following labels so the UI can discover it:
- `overview-template-selector`tells the UI which ConfigMap to fetch (via label selector).
274
+
- `overview-template-result-key`identifies the Task result (or comma-separated list of results) that carries the structured metrics.
275
+
276
+
- **Result contract and `overview-markdown` usage**
277
+
278
+
- The result should be:
279
+
- Compact enough to stay within the effective per-container termination-message budget.
280
+
- Stable and documented in the Task's `README.md` so template authors and other consumers know which keys are available.
281
+
- Do **not** store rendered HTML in results or annotations; only store structured data (metrics, URLs, labels).
282
+
- `overview-markdown` is reserved for user-authored or downstream custom views. The UI always prefers `overview-markdown` over ConfigMap templates so that:
283
+
- Catalog contributors use ConfigMap templates for pre-baked views.
284
+
- Users can still override the overview by emitting their own `overview-markdown` result from Pipelines or Tasks that they control.
0 commit comments