{"id":18637318,"url":"https://github.com/openshift/tektoncd-pipeline-operator","last_synced_at":"2025-04-11T09:32:46.134Z","repository":{"id":36370266,"uuid":"179161650","full_name":"openshift/tektoncd-pipeline-operator","owner":"openshift","description":"tektoncd-pipeline operator for Kubernetes to manage installation, updation and uninstallation of tekton-cd pipelines.","archived":false,"fork":false,"pushed_at":"2021-06-22T00:40:19.000Z","size":20885,"stargazers_count":52,"open_issues_count":0,"forks_count":59,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-03-25T12:12:13.003Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","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/openshift.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-04-02T21:29:42.000Z","updated_at":"2024-02-17T09:22:29.000Z","dependencies_parsed_at":"2022-09-11T00:03:06.770Z","dependency_job_id":null,"html_url":"https://github.com/openshift/tektoncd-pipeline-operator","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshift%2Ftektoncd-pipeline-operator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshift%2Ftektoncd-pipeline-operator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshift%2Ftektoncd-pipeline-operator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/openshift%2Ftektoncd-pipeline-operator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/openshift","download_url":"https://codeload.github.com/openshift/tektoncd-pipeline-operator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248368327,"owners_count":21092336,"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":[],"created_at":"2024-11-07T05:35:20.800Z","updated_at":"2025-04-11T09:32:41.123Z","avatar_url":"https://github.com/openshift.png","language":"Go","readme":"# Tektoncd-operator\n\n**NOTE: This repository is now deprecated and archived, the OpenShift\nPipeline Operator lives in the\n[`tektoncd/operator`](https://github.com/tektoncd/operator) upstream\nrepository.**\n\nPlease report your issues on\n[`tektoncd/operator`](https://github.com/tektoncd/operator) or on the\nRed Hat bugzilla tracker.\n\n## FAQ\n[click here](/docs/faq.md)\n\n# Configurations\n\n### Override Images:\nFollowing environment variables allows overriding images of pipelines, trigger and\ntask addons components\n\n1) `IMAGE_PIPELINES_\u003cDEPLOYMENT-IMAGE-NAME\u003e` e.g. `IMAGE_PIPELINES_WEBHOOK`\nIt allows overriding pipelines or triggers deployment images. Note, `*_PIPELINE_*`\nwill override images in pipelines manifest only. Same way `IMAGE__TRIGGERS_*`\n2) `IMAGE_PIPELINES__ARG_\u003cDEPLOYMENT-IMAGE-ARG-NAME\u003e` e.g. `IMAGE_PIPELINES_ARG_NOP`\nIt allows overriding pipelines or triggers deployment images of containers `args`.\nNote, `*_PIPELINE_ARG_*` will override images in pipelines manifest only. Same way `IMAGE__TRIGGERS_ARG_*`\n3) `IMAGE_ADDONS_\u003cSTEP-NAME\u003e` e.g. `IMAGE_ADDONS_PUSH`\nIt allows overriding `ClusterTask` addons steps images.\n4) `IMAGE_ADDONS_PARAM_\u003cNAME\u003e` e.g. `IMAGE_ADDONS_PARAM_BUILDER`\nIt allows overriding `ClusterTask` addons params images. the `_PARAM_` will replace the\nvalue of `Task.Spec.Param`.\n\n`Note: IF IMAGE NAME, IMAGE ARGUMENT, STEP NAME AND PARAMETER NAME HAS \"-\" IN IT, THEN PLEASE SUBSTITUTE IT BY \"_\"`\n\n`Note: BE CAUTIOUS WHILE SUBSTITUTING THE IMAGES. FOR INSTANCE, IF DEPLOYMENT HAS MORE THAN ONE CONTAINER AND\nCONTAINER HAS SAME NAME AS DEFINED IN THE OVERRIDE IMAGE CONFIGURATION, THEN THIS COULD RESULT IN UNWATED IMAGE SUBSTITUTATION`\n\n\n\n## Dev env\n\n### Checkout your fork\n\nThe Go tools require that you clone the repository to the\n`src/github.com/openshift/tektoncd-pipeline-operator` directory in your\n[`GOPATH`](https://github.com/golang/go/wiki/SettingGOPATH).\n\nTo check out this repository:\n\n1. Create your own\n   [fork of this repo](https://help.github.com/articles/fork-a-repo/)\n1. Clone it to your machine:\n\n```shell\nmkdir -p ${GOPATH}/src/github.com/openshift\ncd ${GOPATH}/src/github.com/openshift\ngit clone git@github.com:${YOUR_GITHUB_USERNAME}/tektoncd-pipeline-operator.git\ncd tektoncd-pipeline-operator\ngit remote add upstream git@github.com:tektoncd/tektoncd-pipeline-operator.git\ngit remote set-url --push upstream no_push\n```\n\n### Prerequisites\nYou must install these tools:\n\n1. [`go`](https://golang.org/doc/install): The language Tektoncd-pipeline-operator is\n   built in\n1. [`git`](https://help.github.com/articles/set-up-git/): For source control\n1. [`kubectl`](https://kubernetes.io/docs/tasks/tools/install-kubectl/): For\n   interacting with your kube cluster\n1. [operator-sdk](https://github.com/operator-framework/operator-sdk/releases/tag/v0.17.2)\n1. [opm](https://github.com/operator-framework/operator-registry/releases/tag/v1.13.7)\n1. [yamllint](https://pypi.org/project/yamllint/)\n\n### Install Minikube\n\n**Create minikube instance**\n\n```\nminikube start -p mk-tekton \\\n --cpus=4 --memory=8192 --kubernetes-version=v1.12.0 \\\n --extra-config=apiserver.enable-admission-plugins=\"LimitRanger,NamespaceExists,NamespaceLifecycle,ResourceQuota,ServiceAccount,DefaultStorageClass,MutatingAdmissionWebhook\"  \\\n --extra-config=apiserver.service-node-port-range=80-32767\n```\n\n**Set the shell environment up for the container runtime**\n\n```\neval $(minikube docker-env -p mk-tekton)\n```\n\n### Development build\n\n[Development Guide](docs/development.md)\n\n#### [Running tests](docs/tests.md)\n\n### Install OLM\n\n**Clone OLM repository (into go path)**\n\n```\ngit clone git@github.com:operator-framework/operator-lifecycle-manager.git \\\n          $GOPATH/src/github.com/operator-framework/\n```\n\n**Install OLM**\n\nEnsure minikube is installed and docker env is set [see above](#install-minikube)\n\n```\ncd $GOPATH/src/github.com/operator-framework/operator-lifecycle-manager\n```\n```\nGO111MODULE=on NO_MINIKUBE=true make run-local\n```\n**NOTE:** NO_MINIKUBE=true: we don't want to start a new minikube instance while installing OLM\n\n**Launch web console**\n\nOpen a new terminal\n\n```\ncd $GOPATH/src/github.com/operator-framework/operator-lifecycle-manager\n```\n\n```\n./scripts/run_console_local.sh\n```\n\n### Deploy openshift-pipelines-operator on minikube for testing\n\n1. Change directory to `${GOPATH}/src/github.com/openshift/tektoncd-pipeline-operator`\n\n1. Create `openshift-operators` namespace\n\n   `kubectl create namespace openshift-operators`\n\n1. Apply operator crd\n\n   `kubectl apply -f deploy/crds/*_crd.yaml`\n\n1. Deploy the operator\n\n    `kubectl apply -f deploy/ -n openshift-operators`\n\n1. Install pipeline by creating an `Install` CR\n\n    `kubectl apply -f deploy/crds/*_cr.yaml`\n\n### Deploy openshift-pipelines-operator using CatalogSource on OLM\n\n1. Install minikube [see above](#install-minikube)\n1. Install olm [see above](#install-olm)\n1. Create `openshift-operators` namespace\n\n   `kubectl create namespace openshift-operators`\n\n2. Generate local catalog source\n\n    `NAMESPACE=operators ./scripts/olm_catalog.sh \u003e olm/openshift-pipelines-operator.resources.yaml`\n\n1. Add local catalog source\n\n    `kubectl apply -f  olm/openshift-pipelines-operator.resources.yaml`\n\n    Once the CatalogSource has been applied, you should find it\n    under `Catalog \u003e Operator Management`  of the [web console]\n\n1. Subscribe to `Openshift Pipelines Operator`\n    1. Open [web console]\n    1. Select [`openshift-operators` namespace](http://0.0.0.0:9000/status/ns/openshift-operators)\n    1. Select [`Catalog \u003e Operator Management`](http://0.0.0.0:9000/operatormanagement/ns/openshift-operators)\n    1. Select [`Catalog \u003e Operator Management \u003e Operator Catalogs`](http://0.0.0.0:9000/operatormanagement/ns/openshift-operators/catalogsources)\n    1. Scroll down to `Openshift Pipelines Operator` under `Openshift Pipelines Operator Registry`\n\n        **NOTE:** it will take a few minutes to appear after applying the `catalogsource`\n\n    1. Click `Create Subscription` button\n        1. ensure `namespace` in yaml is `openshift-operator` e.g.\n            \u003cdetails\u003e\n              \u003csummary\u003e sample subscription \u003c/summary\u003e\n\n              ```yaml\n                apiVersion: operators.coreos.com/v1alpha1\n                kind: Subscription\n                metadata:\n                  generateName: openshift-pipelines-operator-\n                  namespace: openshift-operators\n                spec:\n                  source: openshift-pipelines-operator-registry\n                  sourceNamespace: openshift-operators\n                  name: openshift-pipelines-operator\n                  startingCSV: openshift-pipelines-operator.v0.3.1\n                  channel: alpha\n              ```\n            \u003c/details\u003e\n        1. Click `Create` button at the bottom\n\n  1. Verify operator is installed successfully\n      1. Select `Catalog \u003e Installed operators`\n      1. Look for `Status` `InstallSucceeded`\n\n1. Install Tektoncd-Pipeline by creating an `install` CR\n    1. Select `Catalog \u003e Developer Catalog`, you should find `Openshift Pipelines Install`\n    1. Click on it and it should show the Operator Details Panel\n    1. Click on `Create` which show an example as below\n        \u003cdetails\u003e\n        \u003csummary\u003e example \u003c/summary\u003e\n\n        ```yaml\n            apiVersion: tekton.dev/v1alpha1\n            kind: Install\n            metadata:\n            name: pipelines-install\n            namespace: openshift-pipelines-operator\n            spec: {}\n        ```\n        \u003c/details\u003e\n\n        **NOTE:** This will install Openshift Pipeline resources in `Tekton-Pipelines` Namespace\n    1. Verify that the pipeline is installed\n        1. Ensure pipeline pods are running\n\n           `kubectl get all -n tekton-pipelines`\n\n        1. Ensure pipeline crds exist\n\n           `kubectl get crds | grep tekton`\n\n           should show\n\n           ```shell\n           clustertasks.tekton.dev\n           installs.tekton.dev\n           pipelineresources.tekton.dev\n           pipelineruns.tekton.dev\n           pipelines.tekton.dev\n           taskruns.tekton.dev\n           tasks.tekton.dev\n           ```\n    **NOTE:** Now TektonCD Pipelines can be created and run\n\n### End to End workflow\n\nThis section explains how to test changes to the operator by executing the entire end-to-end workflow of edit, test, build, package, etc...\n\nIt assumes you have already followed install [minikube](#install-minikube) and [OLM](#install-olm).\n\n#### Generate new image, CSV\n\n1. Make changes to the operator\n1. Test operator locally with `operator-sdk run --local`\n1. Build operator image `operator-sdk build \u003cimagename:tag\u003e`\n1. Update image reference in `deploy/operator.yaml`\n1. Update image reference in CSV `deploy/olm-catalog/openshift-pipelines-operator/0.3.1/openshift-pipelines-operator.v0.3.1.clusterserviceversion.yaml`\n\n#### Update Local CatalogSource\n\n1. 1. Build local catalog source **localOperators**\n\n    `NAMESPACE=operators ./scripts/olm_catalog.sh \u003e olm/openshift-pipelines-operator.resources.yaml`\n\n[web console]: http://localhost:9000\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenshift%2Ftektoncd-pipeline-operator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenshift%2Ftektoncd-pipeline-operator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenshift%2Ftektoncd-pipeline-operator/lists"}