{"id":28533493,"url":"https://github.com/epam/edp-tekton","last_synced_at":"2025-07-15T12:07:05.016Z","repository":{"id":60785943,"uuid":"541659245","full_name":"epam/edp-tekton","owner":"epam","description":"Tekton library for EDP pipelines. EDP Interceptor that enriches payload from VCS with EDP entities","archived":false,"fork":false,"pushed_at":"2025-06-18T15:02:40.000Z","size":4681,"stargazers_count":2,"open_issues_count":6,"forks_count":9,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-06-18T15:27:17.559Z","etag":null,"topics":["cd","charts","ci","edp","gerrit","interceptor","pipelines","tekton","tekton-pipelines","tekton-tasks","tekton-triggers"],"latest_commit_sha":null,"homepage":"https://docs.kuberocketci.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/epam.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG-pre-0.6.0.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-09-26T15:37:14.000Z","updated_at":"2025-06-13T15:48:28.000Z","dependencies_parsed_at":"2023-09-28T18:17:01.014Z","dependency_job_id":"f2713dbc-a1c2-4d7c-8d7a-ce9d1b6d2b96","html_url":"https://github.com/epam/edp-tekton","commit_stats":{"total_commits":782,"total_committers":16,"mean_commits":48.875,"dds":0.7941176470588236,"last_synced_commit":"03c8d6498a58261e7d9a5ec0db1abddf525dc985"},"previous_names":[],"tags_count":967,"template":false,"template_full_name":null,"purl":"pkg:github/epam/edp-tekton","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epam%2Fedp-tekton","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epam%2Fedp-tekton/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epam%2Fedp-tekton/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epam%2Fedp-tekton/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/epam","download_url":"https://codeload.github.com/epam/edp-tekton/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/epam%2Fedp-tekton/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262685693,"owners_count":23348451,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cd","charts","ci","edp","gerrit","interceptor","pipelines","tekton","tekton-pipelines","tekton-tasks","tekton-triggers"],"created_at":"2025-06-09T17:07:16.215Z","updated_at":"2025-06-30T00:06:10.826Z","avatar_url":"https://github.com/epam.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![codecov](https://codecov.io/gh/epam/edp-tekton/branch/master/graph/badge.svg?token=P2RDX1F68O)](https://codecov.io/gh/epam/edp-tekton)\n\n# KubeRocketCI Tekton\n\u003c!-- TOC --\u003e\n\n- [KubeRocketCI Tekton](#kuberocketci-tekton)\n  - [KubeRocketCI Interceptor](#edp-interceptor)\n  - [Tekton Pipelines](#tekton-pipelines)\n\n\u003c!-- /TOC --\u003e\n\nThe edp-tekton repository consolidates elements for Tekton integration with [KubeRocketCI](https://docs.kuberocketci.io) (former EPAM Delivery Platform (EDP)).\nand disposes of two main components:\n\n- **KubeRocketCI Interceptor**. Follows [Tekton Interceptor](https://tekton.dev/vault/triggers-main/clusterinterceptors/) paradigm and enriches payload from different Version Control Systems (VCS) like Gerrit, GitHub, GitLab or BitBucket with the platform specific metadata.\n- **Tekton Pipelines**. Consists of [Tekton Tasks, Pipelines, Triggers](https://tekton.dev/docs/pipelines/) and implements KubeRocketCI Pipelines logic. Some of the tasks are forks from [origin source](https://github.com/tektoncd/catalog), the others are platform specific.\n\n## KubeRocketCI Interceptor\n\nKubeRocketCI Interceptor is used as a component that provides KubeRocketCI metadata for Tekton Pipelines. The code is based on [Upstream implementation](https://github.com/tektoncd/triggers/tree/main/pkg/interceptors).\n\nKubeRocketCI Interceptor extracts information from VCS payload, like `repository_name`. The `repository_name` has 1-2-1 mapping with the KubeRocketCI `Codebase` (kind: Codebase; apiVersion:v2.edp.epam.com/v1). Interceptor populates Tekton Pipelines with [Codebase SPEC](https://github.com/epam/edp-codebase-operator/blob/master/docs/api.md#codebasespec) data, see the diagram below:\n\n        ┌────────────┐              ┌──────────────────┐       ┌─────────────┐\n        │            │              │   KubeRocketCI   │       │   Tekton    │\n        │  VCS(Git)  ├──────────────►                  ├───────►             │\n        │            │              │   Interceptor    │       │  Pipelines  │\n        └──────┬─────┘              └────────┬─────────┘       └─────────────┘\n               │                             │\n        ┌──────┴─────┐                       │ extract\n        │    Repo    │                       │\n        │            │                       │\n        │            │      ┌────────────────▼───────────────┐\n        └────────────┘      │ apiVersion: v2.edp.epam.com/v1 │\n                            │ kind: Codebase                 │\n                            │                                │\n                            │ spec:                          │\n                            └────────────────────────────────┘\n\nThe data, retrieved from the Codebase SPEC, is used in Tekton Pipelines logic.\nThe docker images for Interceptor are available on the [DockerHub](https://hub.docker.com/repository/docker/epamedp/edp-tekton).\nThe helm-chart for interceptor deployment is in the same repository by the [charts/interceptor](./charts/pipelines-library/values.yaml#L146) directory.\n\n## Tekton Pipelines\n\nTekton Pipelines supports four VCS: Gerrit, GitHub, GitLab and BitBucket. To check the VCS Import strategy, please refer to the [KubeRocketCI Documentation](https://docs.kuberocketci.io)).\n\nTekton Pipelines are implemented and packaged using the [helm-chart](./charts/pipelines-library/) approach. The helm-chart contains:\n\n- `Tasks` - basic building block for Tekton. Some of the tasks are forks from [Upstream Tekton Catalog](https://github.com/tektoncd/catalog).\n- `Pipelines`, which consist of `Tasks` and implement logic for the CI flow. KubeRocketCI follows the below approach for pipelines definition:\n  - Each type of VCS has its own Pipelines, e.g. for Gerrit, GitHub, GitLab and BitBucket;\n  - KubeRocketCI has [two types of Pipelines](https://docs.kuberocketci.io/docs/operator-guide/ci/tekton-overview): `CodeReview` - triggers on Review, `Build` - triggers on Merged Event.\n- `Triggers`, `TriggerBindings`, `TriggerTemplates` - defines the logic for specific VCS Events (Gerrit, GitHub, GitLab, BitBucket) and Pipelines.\n- `Resources` - Kubernetes resources, that are used from Pipelines, e.g. `ServiceAccount` with [IRSA Enablement](https://docs.kuberocketci.io/docs/developer-guide/aws-reference-architecture#iam-roles-for-service-accounts-irsa), `ConfigMaps` for Maven/Gradle Pipelines, Tekton cache, CodeNarc, CTLint, and PVC to share resources between Tasks.\n- `Tekton Pipeline pruner` - created as a cron job, it is designed to clear outdated pipelines.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fepam%2Fedp-tekton","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fepam%2Fedp-tekton","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fepam%2Fedp-tekton/lists"}