https://github.com/konflux-ci/tekton-integration-catalog
A collection of Tekton resources and helpers to simplify integration testing in Konflux CI. Designed to make tests easier to run, manage, and automate.
https://github.com/konflux-ci/tekton-integration-catalog
konflux-ci kubernetes openshift shell-script tekton yaml
Last synced: 6 months ago
JSON representation
A collection of Tekton resources and helpers to simplify integration testing in Konflux CI. Designed to make tests easier to run, manage, and automate.
- Host: GitHub
- URL: https://github.com/konflux-ci/tekton-integration-catalog
- Owner: konflux-ci
- License: apache-2.0
- Created: 2024-04-26T08:18:33.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-17T14:20:50.000Z (7 months ago)
- Last Synced: 2025-04-18T04:59:10.361Z (7 months ago)
- Topics: konflux-ci, kubernetes, openshift, shell-script, tekton, yaml
- Language: Shell
- Homepage:
- Size: 461 KB
- Stars: 6
- Watchers: 3
- Forks: 18
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Tekton Integration Catalog
## π Introduction
Welcome to the **Tekton Integration Catalog**! This repository contains a collection of Tekton resources and helpers designed to simplify integration testing in **Konflux CI**. The goal is to make tests **easier to run, manage, and automate**, ensuring efficiency across Konflux Integration Tests System.
With prebuilt Tekton Tasks and StepActions, this catalog provides reusable components that help integrate and validate application components. By leveraging these resources, teams can streamline their testing processes and focus on delivering high-quality software.
## π Structure
This repository is organized into several key directories, each serving a specific purpose for Tekton-related resources.
### π Tasks
The **Tekton Tasks** directory contains reusable tasks that define individual steps in your pipeline.
- **Adding a New Task**:
To add a new task, create a `.yaml` file inside the `tasks//0.1/` directory. Ensure it follows the Tekton [Task specification](https://tekton.dev/docs/pipelines/tasks/), is well-documented (add `README.md` file), [well-versioned](#-versioning) and includes example usage.
### π StepActions
The **StepActions** directory houses modular building blocks that allow you to fine-tune task execution within Tekton Pipelines. These reusable components can be used to:
- Add extra validation steps.
- Reuse logic across multiple tasks.
For further details on StepActions, refer to the [Tekton documentation](https://tekton.dev/docs/pipelines/stepactions/).
### π§© Pipelines
The **Pipelines** directory includes complete Tekton Pipelines composed of Tasks and StepActions. These Pipelines provide end-to-end examples of how to combine reusable components into robust CI/CD workflows. If you're looking to orchestrate multiple tasks into a cohesive flow, Pipelines are a great starting point.
- **Adding a New Pipeline**:
To add a new pipeline, create a `.yaml` file inside the `pipelines//0.1/` directory. Ensure it follows the Tekton [Pipeline specification](https://tekton.dev/docs/pipelines/pipelines/), is well-documented (add `README.md` file), and [well-versioned](#-versioning).
### π§° Konflux Integration Tools
The **Konflux Integration Tools** provide utilities specifically designed to facilitate the development and management of Tekton tasks.
- **Applications Folder**: Contains configurations and definitions for the application name within Konflux.
- **Components Folder**: Includes the Konflux component names and artifact tools, assisting with task development by automating repetitive tasks like configuration management, testing, and deployment.
You can find all these resources in the [`konflux`](./konflux) directory.
### π Scripting
The [`scripts`](./scripts/) directory contains reusable scripts that assist with Tekton pipeline tasks or stepactions, including environment setup, notifications, logging, and deployment.
- **π Adding a New Script**:
To add a new script, create a `.sh` file in the appropriate subdirectory (e.g., `pre-pipeline-scripts`, `post-pipeline-scripts`). Ensure the script is well-documented and easy to use, with a clear purpose and example usage.
## π’ Versioning
We follow a **versioning strategy** to ensure updates donβt break existing workflows.
### π When to Create a New Version
A **new version** of a task/stepaction should be created **if**:
- β
The taskβs **interface changes** (e.g., parameters, workspaces, or result names are modified).
- β
New functionality is introduced that **isnβt backward compatible**.
- β
A critical bug fix **requires an updated implementation**.
Each version should be **clearly labeled** to avoid breaking existing pipelines.
## π€ Contributing
We welcome contributions! If youβd like to **add a new task**, **improve existing ones**, or **enhance documentation**, check out our [Contributing Guide](./CONTRIBUTING.md).