Add tufcli to cli-stacks configuration - #561
Conversation
Add tufcli-cli-stack component to the cli-stacks project with nudge to client-server, and create the tufcli project overlay to manage the core tufcli and tufcli-init components with nudge configuration (tufcli -> tufcli-cli-stack -> client-server -> operator). Ref: SECURESIGN-5054 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
PR Summary by QodoAdd tufcli project overlay, dev stream, and cli-stacks component nudge chain
AI Description
Diagram
High-Level Assessment
Files changed (10)
|
Configuration Diff6 document(s) impacted: + 5 added
- 0 removed
! 1 modifiedDiff@@ spec.resources @@
# projctl.konflux.dev/v1beta1/ProjectDevelopmentStreamTemplate/rhtas-tenant/cli-stacks-template
! + two list entries added:
+ - apiVersion: appstudio.redhat.com/v1alpha1
+ kind: Component
+ metadata:
+ name: tufcli-cli-stack{{.nameSuffix}}
+ annotations:
+ build.appstudio.openshift.io/pipeline: "{\"name\":\"docker-build-oci-ta\",\"bundle\":\"latest\"}"
+ git-provider: github
+ git-provider-url: "https://github.com"
+ mintmaker.appstudio.redhat.com/disabled: {{.mintmakerDisabled}}
+ spec:
+ source:
+ git:
+ url: "https://github.com/securesign/tufcli"
+ dockerfileUrl: Dockerfile.cli-stack.rh
+ revision: {{.branch}}
+ application: {{.application}}{{.nameSuffix}}
+ componentName: tufcli-cli-stack
+ build-nudges-ref:
+ - client-server{{.nameSuffix}}
+ - apiVersion: appstudio.redhat.com/v1alpha1
+ kind: ImageRepository
+ metadata:
+ name: tufcli-cli-stack{{.nameSuffix}}
+ annotations:
+ image-controller.appstudio.redhat.com/update-component-image: "true"
+ labels:
+ appstudio.redhat.com/application: {{.application}}{{.nameSuffix}}
+ appstudio.redhat.com/component: tufcli-cli-stack{{.nameSuffix}}
+ spec:
+ image:
+ name: rhtas-tenant/tufcli-cli-stack
+ visibility: public
+ notifications:
+ - config:
+ url: "https://bombino.api.redhat.com/v1/sbom/quay/push"
+ event: repo_push
+ method: webhook
+ title: SBOM-event-to-Bombino
@@ (root level) @@
# projctl.konflux.dev/v1beta1/Project/rhtas-tenant/tufcli
! + one document added:
+ ---
+ apiVersion: projctl.konflux.dev/v1beta1
+ kind: Project
+ metadata:
+ name: tufcli
+ namespace: rhtas-tenant
+ spec:
+ description: |
+ tufcli is a Go command-line utility for generating and signing TUF repositories.
+
+ displayName: tufcli
@@ (root level) @@
# projctl.konflux.dev/v1beta1/ProjectDevelopmentStream/rhtas-tenant/tufcli-main
! + one document added:
+ ---
+ apiVersion: projctl.konflux.dev/v1beta1
+ kind: ProjectDevelopmentStream
+ metadata:
+ name: tufcli-main
+ namespace: rhtas-tenant
+ spec:
+ project: tufcli
+ template:
+ name: tufcli-template
+ values:
+ - name: version
+ value: main
+ - name: branch
+ value: main
+ - name: nameSuffix
+ value:
@@ (root level) @@
# projctl.konflux.dev/v1beta1/ProjectDevelopmentStream/rhtas-tenant/tufcli-v1-3
! + one document added:
+ ---
+ apiVersion: projctl.konflux.dev/v1beta1
+ kind: ProjectDevelopmentStream
+ metadata:
+ name: tufcli-v1-3
+ namespace: rhtas-tenant
+ spec:
+ project: tufcli
+ template:
+ name: tufcli-template
+ values:
+ - name: version
+ value: v1.3
+ - name: branch
+ value: release-1.3
@@ (root level) @@
# projctl.konflux.dev/v1beta1/ProjectDevelopmentStream/rhtas-tenant/tufcli-v1-4
! + one document added:
+ ---
+ apiVersion: projctl.konflux.dev/v1beta1
+ kind: ProjectDevelopmentStream
+ metadata:
+ name: tufcli-v1-4
+ namespace: rhtas-tenant
+ spec:
+ project: tufcli
+ template:
+ name: tufcli-template
+ values:
+ - name: version
+ value: v1.4
+ - name: branch
+ value: release-1.4
+ - name: modelTransparencyBranch
+ value: tech-preview
@@ (root level) @@
# projctl.konflux.dev/v1beta1/ProjectDevelopmentStreamTemplate/rhtas-tenant/tufcli-template
! + one document added:
+ ---
+ apiVersion: projctl.konflux.dev/v1beta1
+ kind: ProjectDevelopmentStreamTemplate
+ metadata:
+ name: tufcli-template
+ namespace: rhtas-tenant
+ labels:
+ build.rhtas.com/ec: registry-rhtas
+ build.rhtas.com/type: component
+ spec:
+ resources:
+ - apiVersion: appstudio.redhat.com/v1alpha1
+ kind: Application
+ metadata:
+ name: {{.application}}{{.nameSuffix}}
+ annotations:
+ application.thumbnail: 5
+ spec:
+ displayName: "tufcli ({{.version}})"
+ - apiVersion: appstudio.redhat.com/v1beta2
+ kind: IntegrationTestScenario
+ metadata:
+ name: {{.application}}{{.nameSuffix}}-enterprise-contract
+ annotations:
+ test.appstudio.openshift.io/kind: enterprise-contract
+ spec:
+ application: {{.application}}{{.nameSuffix}}
+ params:
+ - name: POLICY_CONFIGURATION
+ value: rhtap-releng-tenant/registry-rhtas
+ resolverRef:
+ params:
+ - name: url
+ value: "https://github.com/konflux-ci/build-definitions"
+ - name: revision
+ value: main
+ - name: pathInRepo
+ value: pipelines/enterprise-contract.yaml
+ resolver: git
+ resourceKind: pipeline
+ - apiVersion: appstudio.redhat.com/v1alpha1
+ kind: ReleasePlan
+ metadata:
+ name: promote-to-candidate-{{.application}}{{.nameSuffix}}
+ labels:
+ release.appstudio.openshift.io/auto-release: "true"
+ release.appstudio.openshift.io/standing-attribution: "true"
+ spec:
+ application: {{.application}}{{.nameSuffix}}
+ tenantPipeline:
+ params:
+ - name: git-url
+ value: "https://github.com/securesign/releases"
+ - name: revision
+ value: RHTAS-build-bot_candidate-images-{{.version}}
+ - name: code-freeze
+ value: "false"
+ - name: type
+ value: component
+ pipelineRef:
+ params:
+ - name: url
+ value: "https://github.com/securesign/pipelines"
+ - name: revision
+ value: main
+ - name: pathInRepo
+ value: pipelines/promote-to-candidate.yaml
+ resolver: git
+ serviceAccountName: rhtas-build-bot
+ - apiVersion: appstudio.redhat.com/v1alpha1
+ kind: Component
+ metadata:
+ name: tufcli{{.nameSuffix}}
+ annotations:
+ build.appstudio.openshift.io/pipeline: "{\"name\":\"docker-build-oci-ta\",\"bundle\":\"latest\"}"
+ git-provider: github
+ git-provider-url: "https://github.com"
+ mintmaker.appstudio.redhat.com/disabled: {{.mintmakerDisabled}}
+ spec:
+ source:
+ git:
+ url: "https://github.com/securesign/tufcli"
+ dockerfileUrl: Dockerfile.rh
+ revision: {{.branch}}
+ application: {{.application}}{{.nameSuffix}}
+ componentName: tufcli
+ build-nudges-ref:
+ - tufcli-cli-stack{{.nameSuffix}}
+ - apiVersion: appstudio.redhat.com/v1alpha1
+ kind: ImageRepository
+ metadata:
+ name: imagerepository-for-{{.application}}{{.nameSuffix}}-tufcli
+ labels:
+ appstudio.redhat.com/component: tufcli{{.nameSuffix}}
+ spec:
+ image:
+ name: rhtas-tenant/tufcli
+ visibility: public
+ notifications:
+ - config:
+ url: "https://bombino.api.redhat.com/v1/sbom/quay/push"
+ event: repo_push
+ method: webhook
+ title: SBOM-event-to-Bombino
+ - apiVersion: appstudio.redhat.com/v1alpha1
+ kind: Component
+ metadata:
+ name: tufcli-init{{.nameSuffix}}
+ annotations:
+ build.appstudio.openshift.io/pipeline: "{\"name\":\"docker-build-oci-ta\",\"bundle\":\"latest\"}"
+ git-provider: github
+ git-provider-url: "https://github.com"
+ mintmaker.appstudio.redhat.com/disabled: {{.mintmakerDisabled}}
+ spec:
+ source:
+ git:
+ url: "https://github.com/securesign/tufcli"
+ dockerfileUrl: Dockerfile.tufcli-init
+ revision: {{.branch}}
+ application: {{.application}}{{.nameSuffix}}
+ componentName: tufcli-init
+ build-nudges-ref:
+ - rhtas-operator{{.nameSuffix}}
+ - apiVersion: appstudio.redhat.com/v1alpha1
+ kind: ImageRepository
+ metadata:
+ name: imagerepository-for-{{.application}}{{.nameSuffix}}-tufcli-init
+ labels:
+ appstudio.redhat.com/component: tufcli-init{{.nameSuffix}}
+ spec:
+ image:
+ name: rhtas-tenant/tufcli-init
+ visibility: public
+ notifications:
+ - config:
+ url: "https://bombino.api.redhat.com/v1/sbom/quay/push"
+ event: repo_push
+ method: webhook
+ title: SBOM-event-to-Bombino
+ project: tufcli
+ variables:
+ - name: version
+ description: "A version number for a new development stream"
+ - name: branch
+ defaultValue: main
+ description: "Git branch"
+ - name: nameSuffix
+ defaultValue: "-{{hyphenize .version}}"
+ description: "A suffix which will be added to K8s resource name"
+ - name: application
+ defaultValue: tufcli
+ description: "The application name"
+ - name: mintmakerDisabled
+ defaultValue: "false"
+ description: "Whether to disable mintmaker annotation on the Component"📦 Artifacts: base-output.yaml, head-output.yaml, dyff-output.txt |
Summary
tufcli-cli-stackcomponent to the cli-stacks project with nudge toclient-servertufcliproject overlay to manage coretufcliandtufcli-initcomponents with nudge configurationtufclidevelopment streamNudge chain
Test plan
build-nudges-refafter applyRef: SECURESIGN-5054