diff --git a/README.md b/README.md index 91b087c4..5e25461d 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ The edp-tekton repository consolidates elements for Tekton integration with [KubeRocketCI](https://docs.kuberocketci.io) (former EPAM Delivery Platform (EDP)). and disposes of two main components: -- **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 or GitLab with the platform specific metadata. +- **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. - **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. ## KubeRocketCI Interceptor @@ -43,14 +43,14 @@ The helm-chart for interceptor deployment is in the same repository by the [char ## Tekton Pipelines -Tekton Pipelines supports three VCS: Gerrit, GitHub, GitLab. To check the VCS Import strategy, please refer to the [KubeRocketCI Documentation](https://docs.kuberocketci.io)). +Tekton 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)). Tekton Pipelines are implemented and packaged using the [helm-chart](./charts/pipelines-library/) approach. The helm-chart contains: - `Tasks` - basic building block for Tekton. Some of the tasks are forks from [Upstream Tekton Catalog](https://github.com/tektoncd/catalog). - `Pipelines`, which consist of `Tasks` and implement logic for the CI flow. KubeRocketCI follows the below approach for pipelines definition: - - Each type of VCS has its own Pipelines, e.g. for Gerrit, GitHub, GitLab; + - Each type of VCS has its own Pipelines, e.g. for Gerrit, GitHub, GitLab and BitBucket; - 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. -- `Triggers`, `TriggerBindings`, `TriggerTemplates` - defines the logic for specific VCS Events (Gerrit, GitHub, GitLab) and Pipelines. +- `Triggers`, `TriggerBindings`, `TriggerTemplates` - defines the logic for specific VCS Events (Gerrit, GitHub, GitLab, BitBucket) and Pipelines. - `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. - `Tekton Pipeline pruner` - created as a cron job, it is designed to clear outdated pipelines. diff --git a/charts/pipelines-library/Chart.yaml b/charts/pipelines-library/Chart.yaml index a4891109..a30b1449 100644 --- a/charts/pipelines-library/Chart.yaml +++ b/charts/pipelines-library/Chart.yaml @@ -19,6 +19,7 @@ keywords: - gerrit - github - gitlab + - bitbucket maintainers: - name: epmd-edp email: SupportEPMD-EDP@epam.com diff --git a/charts/pipelines-library/README.md b/charts/pipelines-library/README.md index 1f978719..28cd937e 100644 --- a/charts/pipelines-library/README.md +++ b/charts/pipelines-library/README.md @@ -9,15 +9,15 @@ A Helm chart for KubeRocketCI Tekton Pipelines ## Tekton Pipelines -Tekton Pipelines supports three VCS: Gerrit, GitHub, GitLab. To check the VCS Import strategy, please refer to the [KubeRocketCI Documentation](https://docs.kuberocketci.io)). +Tekton 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)). Tekton Pipelines are implemented and packaged using the [helm-chart](./charts/pipelines-library/) approach. The helm-chart contains: - `Tasks` - basic building block for Tekton. Some of the tasks are forks from [Upstream Tekton Catalog](https://github.com/tektoncd/catalog). - `Pipelines`, which consist of `Tasks` and implement logic for the CI flow. KubeRocketCI follows the below approach for pipelines definition: - - Each type of VCS has its own Pipelines, e.g. for Gerrit, GitHub, GitLab; + - Each type of VCS has its own Pipelines, e.g. for Gerrit, GitHub, GitLab and BitBucket; - 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. -- `Triggers`, `TriggerBindings`, `TriggerTemplates` - defines the logic for specific VCS Events (Gerrit, GitHub, GitLab) and Pipelines. +- `Triggers`, `TriggerBindings`, `TriggerTemplates` - defines the logic for specific VCS Events (Gerrit, GitHub, GitLab, BitBucket) and Pipelines. - `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. - `Tekton Pipeline pruner` - created as a cron job, it is designed to clear outdated pipelines. @@ -46,7 +46,7 @@ EDP Interceptor extracts information from VCS payload, like `repository_name`. T The data, retrieved from the Codebase SPEC, is used in Tekton Pipelines logic. The docker images for Interceptor are available on the [DockerHub](https://hub.docker.com/repository/docker/epamedp/edp-tekton). The helm-chart for interceptor deployment is in the same repository by the [charts/interceptor](./charts/interceptor) directory. -Follows [Tekton Interceptor](https://tekton.dev/vault/triggers-main/clusterinterceptors/) paradigm and enriches payload from different Version Control Systems (VCS) like Gerrit, GitHub or GitLab with KubeRocketCI specific data. +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 KubeRocketCI specific data. **Homepage:** diff --git a/charts/pipelines-library/README.md.gotmpl b/charts/pipelines-library/README.md.gotmpl index ae2fcbd7..2967fffa 100644 --- a/charts/pipelines-library/README.md.gotmpl +++ b/charts/pipelines-library/README.md.gotmpl @@ -10,15 +10,15 @@ ## Tekton Pipelines -Tekton Pipelines supports three VCS: Gerrit, GitHub, GitLab. To check the VCS Import strategy, please refer to the [KubeRocketCI Documentation](https://docs.kuberocketci.io)). +Tekton 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)). Tekton Pipelines are implemented and packaged using the [helm-chart](./charts/pipelines-library/) approach. The helm-chart contains: - `Tasks` - basic building block for Tekton. Some of the tasks are forks from [Upstream Tekton Catalog](https://github.com/tektoncd/catalog). - `Pipelines`, which consist of `Tasks` and implement logic for the CI flow. KubeRocketCI follows the below approach for pipelines definition: - - Each type of VCS has its own Pipelines, e.g. for Gerrit, GitHub, GitLab; + - Each type of VCS has its own Pipelines, e.g. for Gerrit, GitHub, GitLab and BitBucket; - 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. -- `Triggers`, `TriggerBindings`, `TriggerTemplates` - defines the logic for specific VCS Events (Gerrit, GitHub, GitLab) and Pipelines. +- `Triggers`, `TriggerBindings`, `TriggerTemplates` - defines the logic for specific VCS Events (Gerrit, GitHub, GitLab, BitBucket) and Pipelines. - `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. - `Tekton Pipeline pruner` - created as a cron job, it is designed to clear outdated pipelines. @@ -47,7 +47,7 @@ EDP Interceptor extracts information from VCS payload, like `repository_name`. T The data, retrieved from the Codebase SPEC, is used in Tekton Pipelines logic. The docker images for Interceptor are available on the [DockerHub](https://hub.docker.com/repository/docker/epamedp/edp-tekton). The helm-chart for interceptor deployment is in the same repository by the [charts/interceptor](./charts/interceptor) directory. -Follows [Tekton Interceptor](https://tekton.dev/vault/triggers-main/clusterinterceptors/) paradigm and enriches payload from different Version Control Systems (VCS) like Gerrit, GitHub or GitLab with KubeRocketCI specific data. +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 KubeRocketCI specific data. {{ template "chart.homepageLine" . }} diff --git a/charts/pipelines-library/templates/_helpers.tpl b/charts/pipelines-library/templates/_helpers.tpl index 76b738e1..5800d7b2 100644 --- a/charts/pipelines-library/templates/_helpers.tpl +++ b/charts/pipelines-library/templates/_helpers.tpl @@ -46,7 +46,7 @@ app.kubernetes.io/managed-by: {{ .Release.Service }} Validate values of gitProviders */}} {{- define "edp-tekton.validateGitProviders" -}} -{{- $allowedProviders := list "github" "gitlab" "gerrit" -}} +{{- $allowedProviders := list "github" "gitlab" "gerrit" "bitbucket" -}} {{- range .Values.global.gitProviders }} {{- if not (has . $allowedProviders) }} {{- printf "Error: Invalid gitProvider %s. The gitProvider must be one of: %s" . (join ", " $allowedProviders) | fail }} diff --git a/charts/pipelines-library/values.yaml b/charts/pipelines-library/values.yaml index 3e6ff6b2..05364a03 100644 --- a/charts/pipelines-library/values.yaml +++ b/charts/pipelines-library/values.yaml @@ -468,3 +468,34 @@ gitServers: {} # annotations: {} # # -- Ingress TLS configuration # tls: [] + +# my-bitbucket: +# gitProvider: bitbucket +# host: bitbucket.org +# webhook: +# skipWebhookSSLVerification: false +# eventListener: +# # -- Enable EventListener +# enabled: true +# # -- EventListener resources +# resources: +# requests: +# memory: "64Mi" +# cpu: "50m" +# limits: +# memory: "128Mi" +# cpu: "500m" +# # -- Node labels for EventListener pod assignment +# nodeSelector: {} +# # -- Tolerations for EventListener pod assignment +# tolerations: [] +# # -- Affinity for EventListener pod assignment +# affinity: {} + +# ingress: +# # -- Enable ingress controller resource +# enabled: true +# # -- Ingress annotations +# annotations: {} +# # -- Ingress TLS configuration +# tls: []