Important
Currently support for pre-existing Pipelines/Tekton instances is a work-in-progress (WIP)
If you have your own RHDH instance created you can configure it to work with the pipelines service with the use of our config script. You will need the following information on hand:
- Namespace of RHDH instance
- Deployment name of RHDH
- ConfigMap name for your RHDH plugins
- Typically
dynamic-plugins
forHelm
installs andbackstage-dynamic-plugins-<name of developer hub instance>
forOperator
installs
- Typically
- Kubernetes API service account
You are able to store these values in environment variables. Set the following the use environment variables:
$EXISTING_NAMESPACE
- Name of target RHDH namespace
$EXISTING_DEPLOYMENT
- Name of target RHDH deployment
$RHDH_PLUGINS
- Name of the dynamic plugins ConfigMap
The installer will configure and set up cosign that the configure-pipeline.sh
script needs to reference the cosign public key to set to the cosign secret under the deployment namespaces.
To configure cosign to sign secrets follow these steps:
- Download
cosign
cli tool- Set the architecture you are on
ARCH=<architecture>
, for exampleamd64
orarm64
- Set the kind of operating system you are using
OS=<operating-system>
, for examplelinux
ordarwin
- Download using
curl
curl -L https://github.com/sigstore/cosign/releases/latest/download/cosign-$OS-$ARCH -o cosign && chmod +x cosign
- Set the architecture you are on
- Delete the default secret if it exists
kubectl delete secrets -n "openshift-pipelines" "signing-secrets" --ignore-not-found=true
- Create a random password
RANDOM_PASS=$( openssl rand -base64 30 )
- Generate the key pair secret directly in the cluster, the secret should be created as immutable
env COSIGN_PASSWORD=$RANDOM_PASS ./cosign generate-key-pair "k8s://openshift-pipelines/signing-secrets" >/dev/null
- If the secret is not marked as immutable, make it so
kubectl patch secret -n "openshift-pipelines" "signing-secrets" \ --dry-run=client -o yaml \ --patch='{"immutable": true}' \ | kubectl apply -f - >/dev/null
Once you have done the prior steps and have the information from the prior steps readily available you can follow:
- Run
export RHDH_INSTANCE_PROVIDED=true
- Run
bash ./scripts/configure-pipelines.sh
and follow the prompts in the command line
You will follow the same steps as step 3 of the script configuration for a pre-existing instance.
First you will need to create the service account that RHDH will need to interact with the cluster such as creating tekton pipeline runs.
Once the service account is created there will be a tied secret which stores the service account token, e.g. if a service account rhdh-kubernetes-plugin
is created then a secret with the name pattern rhdh-kubernetes-plugin-token-*
is also created.
Keep note of the name of this secret.
You will follow the same steps as step 3 for the ai-rhdh-installer provisioned operators
You can follow the following same steps for setting up the deployment namespaces with the ai-rhdh-installer: