Package tasks in an OCI bundle and push them on quay
REG_USERNAME="yyyyyyy"
REG_PASSWORD="xxxxxxxxx"
tkn bundle \
--remote-username $REG_USERNAME \
--remote-password $REG_PASSWORD \
push quay.io/ch007m/tekton-bundle:latest \
-f bundles/fetch-packconfig-registrysecret.yaml \
-f bundles/list-source-workspace.yaml \
-f bundles/pack-builder.yaml
The tasks packaged in an oci bundle can be listed
tkn bundle list quay.io/ch007m/tekton-bundle:latest
task.tekton.dev/list-source-workspace
task.tekton.dev/fetch-packconfig-registrysecret
task.tekton.dev/pack-builder
To get the list of the konflux tekton bundles (oci or git) supported/trusted:
## See tool doc: https://www.conftest.dev/
brew install conftest
mkdir temp && cd temp
conftest pull --policy './temp' oci::quay.io/konflux-ci/tekton-catalog/data-acceptable-bundles:latest
cat temp/data/data/trusted_tekton_tasks.yml | yq -o=json | jq -r '.trusted_tasks | keys[]' > temp/bundles_list.txt
cat temp/bundles_list.txt
To extract the task resource from the bundle, you can use the tekton client with the following command:
REGISTRY_NAME=quay.io/konflux-ci/tekton-catalog
BUNDLE_NAME=task-git-clone
BUNDLE_VERSION=0.1
BUNDLE_URL=$REGISTRY_NAME/$BUNDLE_NAME:$BUNDLE_VERSION
tkn bundle list $BUNDLE_URL task -o json > git-clone.json
tkn bundle list $BUNDLE_URL task -o yaml > git-clone.yaml
BUNDLE_NAME=task-git-clone-oci-ta
BUNDLE_VERSION=0.1
BUNDLE_URL=$REGISTRY_NAME/$BUNDLE_NAME:$BUNDLE_VERSION
tkn bundle list $BUNDLE_URL task -o json > git-clone-oci-ta.json
tkn bundle list $BUNDLE_URL task -o yaml > git-clone-oci-ta.yaml