Chapter 1. Red Hat OpenShift Pipelines release notes


Note

For additional information about the OpenShift Pipelines lifecycle and supported platforms, refer to the OpenShift Operator Life Cycles and Red Hat OpenShift Container Platform Life Cycle Policy.

Release notes contain information about new and deprecated features, breaking changes, and known issues. The following release notes apply for the most recent OpenShift Pipelines releases on OpenShift Container Platform.

Red Hat OpenShift Pipelines is a cloud-native CI/CD experience based on the Tekton project which provides:

  • Standard Kubernetes-native pipeline definitions (CRDs).
  • Serverless pipelines with no CI server management overhead.
  • Extensibility to build images using any Kubernetes tool, such as S2I, Buildah, JIB, and Kaniko.
  • Portability across any Kubernetes distribution.
  • Powerful CLI for interacting with pipelines.
  • Integrated user experience with the Developer perspective of the OpenShift Container Platform web console.

For an overview of Red Hat OpenShift Pipelines, see Understanding OpenShift Pipelines.

1.1. Compatibility and support matrix

Some features in this release are currently in Technology Preview. These experimental features are not intended for production use.

In the table, features are marked with the following statuses:

TP

Technology Preview

GA

General Availability

Table 1.1. Compatibility and support matrix
Red Hat OpenShift Pipelines VersionComponent VersionOpenShift VersionSupport Status

Operator

Pipelines

Triggers

CLI

Chains

Hub

Pipelines as Code

Results

Manual Approval Gate

  

1.17

0.65.x

0.30.x

0.39.x

0.23.x (GA)

1.19.x (TP)

0.29.x (GA)

0.13.x (TP)

0.4.x (TP)

4.15, 4.16, 4.17

GA

1.16

0.62.x

0.29.x

0.38.x

0.22.x (GA)

1.18.x (TP)

0.28.x (GA)

0.12.x (TP)

0.3.x (TP)

4.15, 4.16, 4.17

GA

1.15

0.59.x

0.27.x

0.37.x

0.20.x (GA)

1.17.x (TP)

0.27.x (GA)

0.10.x (TP)

0.2.x (TP)

4.14, 4.15, 4.16

GA

1.14

0.56.x

0.26.x

0.35.x

0.20.x (GA)

1.16.x (TP)

0.24.x (GA)

0.9.x (TP)

NA

4.12, 4.13, 4.14, 4.15, 4.16

GA

For questions and feedback, you can send an email to the product team at pipelines-interest@redhat.com.

1.2. Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. We are beginning with these four terms: master, slave, blacklist, and whitelist. Because of the enormity of this endeavor, these changes will be implemented gradually over several upcoming releases. For more details, see our CTO Chris Wright’s message.

1.3. Release notes for Red Hat OpenShift Pipelines General Availability 1.17

With this update, Red Hat OpenShift Pipelines General Availability (GA) 1.17 is available on OpenShift Container Platform 4.15 and later versions.

1.3.1. New features

In addition to fixes and stability improvements, the following sections highlight what is new in Red Hat OpenShift Pipelines 1.17:

1.3.1.1. Pipelines

  • With this release, you can configure multiple Git providers by using the Git resolver, or you can add multiple configurations for the same Git provider, in the TektonConfig custom resource (CR). You can then specify a Git configuration to use in different task runs and pipeline runs by using the configKey parameter.

    Example of multiple Git provider configurations

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
    # ...
      pipeline:
        git-resolver-config:
          # configuration 1
          fetch-timeout: "1m"
          default-url: "https://github.com/tektoncd/catalog.git"
          default-revision: "main"
          scm-type: "github"
          server-url: ""
          api-token-secret-name: ""
          api-token-secret-key: ""
          api-token-secret-namespace: "default"
          default-org: ""
          # configuration 2
          test1.fetch-timeout: "5m"
          test1.default-url: ""
          test1.default-revision: "stable"
          test1.scm-type: "github"
          test1.server-url: "api.internal-github.com"
          test1.api-token-secret-name: "test1-secret"
          test1.api-token-secret-key: "token"
          test1.api-token-secret-namespace: "test1"
          test1.default-org: "tektoncd"
          # configuration 3
          test2.fetch-timeout: "10m"
          test2.default-url: ""
          test2.default-revision: "stable"
          test2.scm-type: "gitlab"
          test2.server-url: "api.internal-gitlab.com"
          test2.api-token-secret-name: "test2-secret"
          test2.api-token-secret-key: "pat"
          test2.api-token-secret-namespace: "test2"
          test2.default-org: "tektoncd-infra"
    # ...

    Example of using a test1 configuration in a pipeline run

    apiVersion: tekton.dev/v1
    kind: PipelineRun
    metadata:
      name: example
    spec:
      pipelineRef:
        resolver: git
        params:
        # ...
        - name: configKey
          value: test1
    # ...

  • With this update, you can now monitor the running PipelineRun resources at the namespace, pipeline, and pipeline run level, in addition to the cluster level. You can configure the level through the TektonConfig custom resource by setting the metrics.running-pipelinerun.level parameter value to namespace, pipeline, or pipelinerun. The default value is empty, which sets the monitoring at cluster level.

    Example of monitoring the running pipeline run at the namespace level

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
      pipeline:
        # ...
        metrics.running-pipelinerun.level: namespace
    # ...

1.3.1.2. Operator

  • With this update, you can run the skopeo-copy command with additional arguments, for example, --all and --preserve-digests. You can pass these arguments as a space-separated string, as shown in the following example:

    Example command

    $ tkn task start skopeo-copy -p ARGS="--all --preserve-digests"

1.3.1.3. Pipelines as Code

  • With this update, the pipelines_as_code_running_pipelineruns_count metric is added to show the number of running PipelineRun resources in Pipelines as Code. The metric can be filtered by repository or by namespace.
  • With this update, the pipelines_as_code_pipelinerun_duration_seconds_sum metric is added to show the total duration in seconds taken by all PipelineRun resources in Pipelines as Code. The metric can be filtered by repository, namespace, PipelineRun status, and PipelineRun status change reason.

1.3.1.4. Tekton Chains

  • With this update, you can configure the TektonConfig custom resource (CR) to generate the x509 key pair of the ecdsa type and use it with Tekton Chains to sign artifacts. You can generate the key pair by setting the the generateSigningSecret field in the TektonConfig custom resource (CR) to true:

    Example of creating an ecdsa key pair

    apiVersion: operator.tekton.dev/v1
    kind: TektonConfig
    metadata:
      name: config
    spec:
    # ...
      chain:
        disabled: false
        generateSigningSecret: true
    # ...

  • Before this update, if you did not configure Tekton Chains in the TektonConfig CR, the Operator would not pass any default Chains configuration. With this update, if you do not configure Tekton Chains in the TektonConfig CR, the Operator sets the Tekton Chains configuration with these default properties:

    apiVersion: operator.tekton.dev/v1
    kind: TektonConfig
    metadata:
      name: config
    spec:
    # ...
      chain:
        artifacts.taskrun.format: in-toto
        artifacts.taskrun.storage: oci
        artifacts.oci.storage: oci
        artifacts.oci.format: simplesigning
        artifacts.pipelinerun.format: in-toto
        artifacts.pipelinerun.storage: oci
    # ...
  • With this update, Tekton Chains now supports extracting the mongo-server-url URL from a specified file that can have any name. You can now use the storage.docdb.mongo-server-url-path parameter pointing to a valid file path within the container.

1.3.2. Breaking changes

  • With this update, the deprecated ClusterTask resource is removed from the Operator. As an alternative, you can use the cluster resolver to access tasks that OpenShift Pipelines installs in the openshift-pipelines namespace.

    Important

    Before upgrading to OpenShift Pipelines 1.17, if you configured any pipelines that use ClusterTask resources, you must edit them to use the tasks in the openshift-pipelines namespace. Otherwise, after the upgrade, the pipelines will fail.

    For more information about using the tasks in the openshift-pipelines namespace, see Tasks provided in the OpenShift Pipelines namespace.

  • With this update, the community cluster tasks are removed from the Operator. As an alternative, you can download them from the Tekton catalog (GitHub resource). The community cluster tasks are planned to be added as tasks in a future release. The following list shows the removed community cluster tasks:

    • argocd-task-sync-and-wait
    • git-cli
    • helm-upgrade-from-repo
    • helm-upgrade-from-source
    • jib-maven
    • kubeconfig-creator
    • pull-request
    • trigger-jenkins-job

1.3.3. Fixed issues

  • With this update, the Pipelines as Code controller no longer processes the GitLab push event if the push event payload contains no commit. Instead, it correctly displays an error message warning the user that no commit is attached.
  • With this update, the Pipelines as Code controller no longer processes the GitLab tag delete event, which caused the controller to crash. Instead, it correctly displays an error message warning the user that deleting the tag event is not supported.
  • Before this update, some of the standard variables, header values, and body fields, for example the body.eventKey field, were not being resolved in PipelineRun resources for the Bitbucket server. With this update, the issue is fixed.
  • With this update, the skopeo-copy task supports copying multiple images by using the url.txt file if the SOURCE_IMAGE_URL and DESTINATION_IMAGE_URL parameters are left empty.
  • Before this update, running the tkn pac create repo command on an empty repository resulted in the . period symbol being generated as the name of the pipeline run in the template. With this update, the issue is fixed, and the REPO_NAME.git is now used as the pipeline run name.
  • With this update, the pipeline run failure handling is fixed to accurately report validation failures in the status.message field and consistently trigger finally tasks, even if a task fails the validation.
Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.