Konflux is a build tool
Use this skill to query Konflux objects from the Kubernetes cluster. Konflux objects are application, component, pipelinerun, taskrun, snapshot and release. The skill can be used to query logs from failed or removed pipelines and pods.
$ Instalar
git clone https://github.com/konflux-ci/skills /tmp/skills && cp -r /tmp/skills/skills/component-build-status/skills ~/.claude/skills/skills// tip: Run this command in your terminal to install the skill
name: Konflux is a build tool description: Use this skill to query Konflux objects from the Kubernetes cluster. Konflux objects are application, component, pipelinerun, taskrun, snapshot and release. The skill can be used to query logs from failed or removed pipelines and pods.
Konflux skill
This skill helps debug OpenShift bare metal installation failures in CI jobs by analyzing dev-scripts logs, libvirt console logs, sosreports, and other metal-specific artifacts.
This still helps to interact and debug Konflux objects in a Kubernetes cluster.
When to Use This Skill
Use this skill when:
- Understand how to query and correlate Konflux objects like Application, Component, PipelineRun, TaskRun, Snapshot and Release.
- Get already removed PipelineRun, TaskRun and Pod objects
- Get logs from already removed Pod
Component object
Follows the snippet of Component object:
apiVersion: appstudio.redhat.com/v1alpha1
kind: Component
metadata:
name: otel-collector-main
namespace: rhosdt-tenant
spec:
application: otel-main
build-nudges-ref:
- otel-bundle-main
componentName: otel-collector-main
containerImage: quay.io/redhat-user-workloads/rhosdt-tenant/otel/opentelemetry-collector
source:
git:
context: ./
dockerfileUrl: Dockerfile.collector
revision: main
url: https://github.com/os-observability/konflux-opentelemetry.git
status:
lastBuiltCommit: d1b34105a829d711460e73d113cd9e47c4b3adfc
lastPromotedImage: quay.io/redhat-user-workloads/rhosdt-tenant/otel/opentelemetry-collector@sha256:cb0800a5b973f0e3e51c48b686bbaec8651a1417ba74b87f63434883e2331b94
PipelineRun object
Follows the snippet of PipelineRun object:
apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
labels:
app.kubernetes.io/managed-by: pipelinesascode.tekton.dev
app.kubernetes.io/version: v0.38.0
appstudio.openshift.io/application: otel-main
appstudio.openshift.io/component: otel-operator-main
kueue.x-k8s.io/priority-class: konflux-default
kueue.x-k8s.io/queue-name: pipelines-queue
pipelines.appstudio.openshift.io/type: build
pipelinesascode.tekton.dev/check-run-id: "55290806256"
pipelinesascode.tekton.dev/event-type: incoming
pipelinesascode.tekton.dev/original-prname: otel-operator-main-on-push
pipelinesascode.tekton.dev/repository: otel-collector-main
pipelinesascode.tekton.dev/sha: d1b34105a829d711460e73d113cd9e47c4b3adfc
pipelinesascode.tekton.dev/state: completed
pipelinesascode.tekton.dev/url-org: os-observability
pipelinesascode.tekton.dev/url-repository: konflux-opentelemetry
tekton.dev/pipeline: otel-operator-main-on-push-ms2kp
name: otel-operator-main-on-push-ms2kp
namespace: rhosdt-tenant
status:
childReferences:
- apiVersion: tekton.dev/v1
kind: TaskRun
name: otel-operator-main-on-push-ms2kp-init
pipelineTaskName: init
- apiVersion: tekton.dev/v1
kind: TaskRun
name: otel-operator-main-on-push-ms2kp-clone-repository
pipelineTaskName: clone-repository
whenExpressions:
- input: "true"
operator: in
values:
- "true"
- apiVersion: tekton.dev/v1
kind: TaskRun
name: otel-operator-main-on-push-ms2kp-prefetch-dependencies
pipelineTaskName: prefetch-dependencies
- apiVersion: tekton.dev/v1
kind: TaskRun
name: otel-operator-main-on-push-ms2kp-build-images-0
pipelineTaskName: build-images
whenExpressions:
- input: "true"
operator: in
values:
- "true"
results:
- name: IMAGE_URL
value: quay.io/redhat-user-workloads/rhosdt-tenant/otel/opentelemetry-operator:d1b34105a829d711460e73d113cd9e47c4b3adfc
- name: IMAGE_DIGEST
value: sha256:03cc17a2bd8d0d94bac2ff3e55528c7dfad3f84c24b8944309d6b83c7d429e93
- name: CHAINS-GIT_URL
value: https://github.com/os-observability/konflux-opentelemetry
- name: CHAINS-GIT_COMMIT
value: d1b34105a829d711460e73d113cd9e47c4b3adfc
conditions:
- lastTransitionTime: "2025-11-13T11:47:24Z"
message: 'Tasks Completed: 19 (Failed: 0, Cancelled 0), Skipped: 0'
reason: Succeeded
status: "True"
type: Succeeded
TaskRun object
Follows the snippet of TaskRun object:
apiVersion: tekton.dev/v1
kind: TaskRun
metadata:
labels:
app.kubernetes.io/managed-by: pipelinesascode.tekton.dev
app.kubernetes.io/version: v0.38.0
appstudio.openshift.io/application: otel-main
appstudio.openshift.io/component: otel-operator-main
build.appstudio.redhat.com/build_type: docker
build.appstudio.redhat.com/target-platform: linux-ppc64le
kueue.x-k8s.io/priority-class: konflux-default
kueue.x-k8s.io/queue-name: pipelines-queue
pipelines.appstudio.openshift.io/type: build
pipelinesascode.tekton.dev/check-run-id: "55217348140"
pipelinesascode.tekton.dev/event-type: incoming
pipelinesascode.tekton.dev/original-prname: otel-operator-main-on-push
pipelinesascode.tekton.dev/repository: otel-collector-main
pipelinesascode.tekton.dev/sha: 8ba2e60ab95f65af6a61f01dc255f9b05c8c7292
pipelinesascode.tekton.dev/state: queued
pipelinesascode.tekton.dev/url-org: os-observability
pipelinesascode.tekton.dev/url-repository: konflux-opentelemetry
tekton.dev/memberOf: tasks
tekton.dev/pipeline: otel-operator-main-on-push-cjz8d
tekton.dev/pipelineRun: otel-operator-main-on-push-cjz8d
tekton.dev/pipelineRunUID: 2483e676-9177-4184-844e-c103e5c44313
tekton.dev/pipelineTask: build-images
tekton.dev/task: buildah-remote-oci-ta
name: otel-operator-main-on-push-cjz8d-build-images-2
namespace: rhosdt-tenant
status:
podName: otel-operator-main-on-push-cjz8d-build-images-2-pod
conditions:
- lastTransitionTime: "2025-11-12T18:11:33Z"
message: All Steps have completed executing
reason: Succeeded
status: "True"
type: Succeeded
Release object
Follows the snippet of Release object:
apiVersion: appstudio.redhat.com/v1alpha1
kind: Release
metadata:
labels:
appstudio.openshift.io/application: otel-main
appstudio.openshift.io/build-pipelinerun: otel-bundle-main-on-push-6r6j8
appstudio.openshift.io/component: otel-bundle-main
pac.test.appstudio.openshift.io/check-run-id: "55293065390"
pac.test.appstudio.openshift.io/event-type: incoming
pac.test.appstudio.openshift.io/original-prname: otel-bundle-main-on-push
pac.test.appstudio.openshift.io/repository: otel-collector-main
pac.test.appstudio.openshift.io/sha: d1b34105a829d711460e73d113cd9e47c4b3adfc
pac.test.appstudio.openshift.io/state: completed
pac.test.appstudio.openshift.io/url-org: os-observability
pac.test.appstudio.openshift.io/url-repository: konflux-opentelemetry
release.appstudio.openshift.io/automated: "true"
name: otel-main-2xpp5-d1b3410-j6262
namespace: rhosdt-tenant
status:
conditions:
- lastTransitionTime: "2025-11-13T12:12:37Z"
message: ""
reason: Succeeded
status: "True"
type: Released
Snapshot object
Follows the snippet of Snapshot obeject:
apiVersion: appstudio.redhat.com/v1alpha1
kind: Snapshot
metadata:
labels:
appstudio.openshift.io/application: otel-main
appstudio.openshift.io/build-pipelinerun: otel-target-allocator-main-on-push-b4rj4
appstudio.openshift.io/component: otel-target-allocator-main
pac.test.appstudio.openshift.io/check-run-id: "55306002131"
pac.test.appstudio.openshift.io/event-type: incoming
pac.test.appstudio.openshift.io/original-prname: otel-target-allocator-main-on-push
pac.test.appstudio.openshift.io/repository: otel-collector-main
pac.test.appstudio.openshift.io/sha: d1b34105a829d711460e73d113cd9e47c4b3adfc
pac.test.appstudio.openshift.io/state: completed
pac.test.appstudio.openshift.io/url-org: os-observability
pac.test.appstudio.openshift.io/url-repository: konflux-opentelemetry
test.appstudio.openshift.io/pipelinerunfinishtime: "1763044403"
test.appstudio.openshift.io/type: component
name: otel-main-8s28p
namespace: rhosdt-tenant
spec:
components:
- containerImage: quay.io/redhat-user-workloads/rhosdt-tenant/otel/opentelemetry-bundle@sha256:dfc3d2a037f32fceab65f6be052227c775b49282b02090ed6dcff062bfd0edd0
name: otel-bundle-main
source:
git:
context: ./
dockerfileUrl: Dockerfile.bundle
revision: d1b34105a829d711460e73d113cd9e47c4b3adfc
url: https://github.com/os-observability/konflux-opentelemetry.git
status:
conditions:
- lastTransitionTime: "2025-11-13T14:33:32Z"
message: No required IntegrationTestScenarios found, skipped testing
reason: Passed
status: "True"
type: AppStudioTestSucceeded
- lastTransitionTime: "2025-11-13T14:33:32Z"
message: The Snapshot was auto-released
reason: AutoReleased
status: "True"
type: AutoReleased
Query objects
Any labels can be used to query specific objects:
- Query by Application:
kubectl get {object-type} -l appstudio.openshift.io/application={component-name} - Query by Component:
kubectl get {object-type} -l appstudio.openshift.io/component={component-name} - Query by PipelineRun:
kubectl get {object-type} -l appstudio.openshift.io/build-pipelinerun={pipelinerun} - Query by Git SHA:
kubectl get {object-type} -l pac.test.appstudio.openshift.io/sha={git-sha}
Get removed PipelineRun, TaskRun, Pods and logs
The kubearchive CLI can be used to query removed objects like PipelineRun, TaskRun, Pods and Pod logs.
The tool has similar commands like kubectl but it does not support getting object via label selector.
- Prerequisites Check
- Verify
kubectl kaCLI is installed:which kubectl ka - If it is not installed the installation instructions are at https://kubearchive.github.io/kubearchive/main/cli/installation.html
- Verify
- Get PipelineRun
export KUBECTL_PLUGIN_KA_HOST="https://kubearchive-api-server-product-kubearchive.apps.$(oc whoami --show-server | sed -E 's|^.*api\.?(.*):[0-9]+$|\1|')" kubectl ka get pipelinerun {pipelinerun} - Get TaskRun
export KUBECTL_PLUGIN_KA_HOST="https://kubearchive-api-server-product-kubearchive.apps.$(oc whoami --show-server | sed -E 's|^.*api\.?(.*):[0-9]+$|\1|')" kubectl ka get pipelinerun {taskrun} - Get Pod logs
export KUBECTL_PLUGIN_KA_HOST="https://kubearchive-api-server-product-kubearchive.apps.$(oc whoami --show-server | sed -E 's|^.*api\.?(.*):[0-9]+$|\1|')" kubectl ka logs pod {pod}
Repository
