Manage Konflux component
/plugin marketplace add pavolloffay/claude-plugins/plugin install konflux@pavolloffaykonflux:component
/konflux:component status <component>
/konflux:component build <components> [--wait duration] [--nudge] [--wait-for-release release-duration]
The konflux:component command to manage Konflux component(s).
This command helps you:
The command performs the following steps:
Prerequisites Check:
oc CLI is installed: which ococ whoamigit CLI is installed: which gitgit remote -vParse Arguments:
component: Component name (required)List components:
kubeclt get component {component} -o yaml
.spec.application.spec.componentName.spec.source.git.url.status.lastBuiltCommit.status.lastPromotedImageGet Git information:
git branch -a --contains <commit-sha> to find the branch nameGet Snapshots:
kubectl get snapshot -l pac.test.appstudio.openshift.io/sha={commit},appstudio.openshift.io/component={component} --sort-by=.metadata.creationTimestamp
Get Releases:
kubectl get release -l pac.test.appstudio.openshift.io/sha={commit},appstudio.openshift.io/component={component}
.spec.snapshot.status.conditions show if the release failed or succeededDisplay result:
| Component | Built SHA | lastPromotedImage | Commit Message | Git Branch | Snapshots (oldest first) |
|------------------|-----------|----------------------|-----------------------------|--------------|--------------------------|
| {component} | {commit} | {lastPromotedImage} | {commit-message} | {git-branch} | {snapshots} |
| otel-bundle-main | 8ba2e60 | | Fix service account (#693) | main | otel-main-jnhfz |
Component: {component}
| Snapshot | Release | Release status |
|-----------------|-------------------------------|------------------------------------------|
| {snapshot} | {release} | {release-status} |
| otel-main-jnhfz | otel-main-jnhfz-8ba2e60-nnwnp | Failed (ManagedPipelineProcessed failed) |
The command performs the following steps:
Prerequisites Check:
oc CLI is installed: which ococ whoamigit CLI is installed: which gitParse Arguments:
$1: Component(s) (required): Konflux Component(s) name$2: flag --wait <duration> (optional) wait duration for the build to finish
s for seconds, m for minutes or h for hours.$3: flag --nudge (optional) nudge files after the build finishes
--nudge can be used only if --wait is used$4: flag --wait-for-release <release-duration> (optional) wait until release is done
--wait-for-release can be used only if --wait is useds for seconds, m for minutes or h for hours.Trigger the build:
kubectl annotate components/{compponent} build.appstudio.openshift.io/request=trigger-pac-build
Get the build information:
kubectl get pipelinerun -l appstudio.openshift.io/component={component}
-on-push in the nameWait for the build to finish:
--wait <duration> is provided wait for the PipelineRun to finish. The duration can be in s for seconds, m for minutes or h for hours.kubectl wait --for=condition=Suceeded=true pipelinerun/{pipelinerun} --timeout={duration}
.metadata.annotations["build.appstudio.openshift.io/build-nudge-files"] in the PipelineRun.spec.components[?(@.name=="{component}")].containerImage
kubectl get snapshot -l appstudio.openshift.io/build-pipelinerun={pipelinerun}
Wait for the release to finish:
--wait-for-release <release-duration> is provided wait for the Release to finish. The release-duration can be in s for seconds, m for minutes or h for hours.kubectl wait --for=condition=Released=true --timeout={release-duration} -l appstudio.openshift.io/build-pipelinerun={pipelinerun}
Nudge files:
--wait <duration> and --nudge are provided nudge the files by repacing the containerImage in those filesDisplay result:
Component: {component} | PipelineRun: {pipelinerun-name} | Snapshot: {snapshot} | Container Image: {containerImage}
Get status of otel-collector-main component:
/konflux:component status otel-collector-main
Trigger build of the otel-collector-main component:
/konflux:component build otel-collector-main
Trigger build of the otel-collector-main and otel-operator-main component:
/konflux:component build otel-collector-main otel-operator-main
Trigger build of the otel-collector-main component and wait 30 minutes to finish:
/konflux:component build otel-collector-main --wait 30m
PipelineRun progress and failure:
kubectl get taskrun -l tekton.dev/pipelineRun={pipelinerun}kubectl get pod -l tekton.dev/taskRun={taskrun}Release progress and failure
.status.managedProcessing.pipelineRunrhtap-releng-tenant/managed-vks2b. Which means the PipelineRun name is managed-vks2b and runs in rhtap-releng-tenant Kubernetes namespace.kubectl get taskrun -l tekton.dev/pipelineRun={pipelinerun} -n {namespace}kubectl get pod -l tekton.dev/taskRun={taskrun} -n {namespace}/konflux:application status <application> - Show status of all components in a Konflux application