You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.9 KiB
49 lines
1.9 KiB
package com.redhat.pctsec.tekton; |
|
|
|
import io.fabric8.tekton.client.DefaultTektonClient; |
|
import io.fabric8.tekton.client.TektonClient; |
|
import io.fabric8.tekton.pipeline.v1beta1.ArrayOrString; |
|
import io.fabric8.tekton.pipeline.v1beta1.Param; |
|
import io.fabric8.tekton.pipeline.v1beta1.TaskRun; |
|
import io.fabric8.tekton.pipeline.v1beta1.TaskRunBuilder; |
|
import jakarta.enterprise.context.ApplicationScoped; |
|
import jakarta.inject.Singleton; |
|
import org.apache.commons.lang3.RandomStringUtils; |
|
|
|
import jakarta.inject.Inject; |
|
|
|
@io.quarkus.arc.Unremovable |
|
public class brewTaskRun { |
|
public static final String NAMESPACE = "pct-security-tooling"; |
|
public static final String BUILD_ID = "buildId"; |
|
public static final String SCAN_PROFILE = "scanProfile"; |
|
public static final String TASK_REFERENCE = "osh-scan-task"; |
|
public static final String SERVICE_ACCOUNT = "osh-wrapper-client-sa"; |
|
|
|
//@Inject |
|
TektonClient tektonClient = new DefaultTektonClient(); |
|
|
|
public String invokeScanTask(String buildId) { |
|
// String buildId = "xterm-366-8.el9"; |
|
String scanProfile = "snyk-only-unstable"; |
|
|
|
// random taskrun name generating for now |
|
TaskRun taskRun = new TaskRunBuilder().withNewMetadata().withName("osh-scan-taskrun-" + RandomStringUtils.randomAlphanumeric(8).toLowerCase()) |
|
.endMetadata() |
|
.withNewSpec() |
|
.withServiceAccountName(SERVICE_ACCOUNT) |
|
.withNewTaskRef() |
|
.withName(TASK_REFERENCE) |
|
.endTaskRef() |
|
.withParams( |
|
new Param("buildId", new ArrayOrString(buildId)), |
|
new Param("scanProfile", new ArrayOrString(scanProfile))) |
|
.endSpec() |
|
.build(); |
|
|
|
tektonClient.v1beta1().taskRuns().inNamespace(NAMESPACE).resource(taskRun).create(); |
|
|
|
return "Scan invoked"; |
|
} |
|
|
|
}
|
|
|