Installing on OpenShift
This guide covers installing Pipelines as Code on OpenShift clusters using the Red Hat OpenShift Pipelines Operator or manual installation methods.Prerequisites
Before installing Pipelines as Code on OpenShift:- OpenShift cluster: Version 4.10 or higher
- Cluster admin access: Required for operator installation or manual installation
- oc CLI: OpenShift command-line tool configured for your cluster
Method 1: Operator Installation (Recommended)
The Red Hat OpenShift Pipelines Operator is the easiest and recommended way to install Pipelines as Code on OpenShift.Install the Operator
Access the OpenShift Web Console
Log in to your OpenShift cluster’s web console as a cluster administrator.
Navigate to OperatorHub
- Click on Operators → OperatorHub in the left navigation menu
- Search for “Red Hat OpenShift Pipelines”
Install the operator
- Click on the Red Hat OpenShift Pipelines tile
- Click Install
- Accept the default installation settings
- Click Install again to confirm
Verify Operator Installation
Check that Pipelines as Code is running:When installed via the OpenShift Pipelines Operator, the default namespace is
openshift-pipelines (not pipelines-as-code).Configure Pipelines as Code via TektonConfig
When Pipelines as Code is installed through the Tekton Operator, configuration is managed through theTektonConfig custom resource.
View the current configuration:
Update Configuration
To modify Pipelines as Code settings, edit the TektonConfig:Disable Pipelines as Code
If you need to disable Pipelines as Code while keeping the operator:Method 2: Manual Installation
For advanced use cases or when you need more control, you can manually install Pipelines as Code.Prerequisites for Manual Installation
Ensure Tekton Pipelines is installed (usually included with OpenShift Pipelines):Disable Operator-Managed Installation
If you have the OpenShift Pipelines Operator installed, disable its Pipelines as Code management:Install Pipelines as Code
Apply the release manifest
Install the stable release:This creates:
- The
pipelines-as-codenamespace - Custom Resource Definitions (CRDs)
- RBAC roles and bindings
- Controller, webhook, and watcher deployments
- OpenShift Route for the controller
- Required ConfigMaps and Secrets
For the latest development version, use:
OpenShift Route
OpenShift automatically creates a Route for the Pipelines as Code controller, making it accessible from the internet.Get the Route URL
Retrieve the controller’s public URL:Route Configuration
The automatically created Route includes:- TLS termination: Edge termination with redirect from HTTP to HTTPS
- Timeout: 600 seconds for long-running webhook operations
- Target port:
http-listener(port 8080)
Configure RBAC for Users
Non-admin users need explicit permissions to create Repository CRDs in their namespaces.Grant Repository CR Permissions
Using theoc CLI:
Grant to a Group
To grant permissions to all users in a group:Optional Configurations
Configure TLS Certificates
By default, OpenShift Routes handle TLS termination. To configure TLS directly on the controller:Integrate with OpenShift Console
Pipelines as Code automatically integrates with the OpenShift Console. When installed on OpenShift, logs and PipelineRun details will link to the OpenShift Console. To verify the integration:Configure Monitoring
OpenShift automatically enables monitoring for Pipelines as Code. The namespace includes the label:Verification
Verify your installation:Test the controller endpoint
Upgrading
Operator-Based Installation
Upgrades are handled automatically by the operator. To upgrade to a new operator version:- Navigate to Operators → Installed Operators
- Find Red Hat OpenShift Pipelines
- Follow the upgrade prompts if available
Manual Installation
To upgrade a manual installation:Troubleshooting
Operator Not Installing Pipelines as Code
Check the TektonConfig:true.
Route Not Created
If using manual installation, check if the Route exists:Configuration Changes Not Applied
For operator installations, ensure you’re editing TektonConfig, not the ConfigMap directly:View Controller Logs
Next Steps
After installing Pipelines as Code on OpenShift:- Configure a Git Provider: Set up GitHub App, GitLab, or other Git provider integration
- Create a Repository CR: Connect your Git repository to Pipelines as Code
- Define Pipelines: Add pipeline definitions in the
.tekton/directory - Test the Setup: Create a pull request to trigger your first pipeline
Uninstalling
Operator Installation
To uninstall:- Navigate to Operators → Installed Operators
- Find Red Hat OpenShift Pipelines
- Click the menu (⋮) and select Uninstall Operator