Browse Source

added the missing file for creating tasks from scratch

exception_work
Nicholas Caughey 3 years ago
parent
commit
39cd02490e
  1. 252
      src/main/java/rest/TektonTaskCreate.java

252
src/main/java/rest/TektonTaskCreate.java

@ -1,82 +1,170 @@
// package io.rest; // package rest;
// import io.fabric8.tekton.client.DefaultTektonClient;
// import io.fabric8.tekton.client.TektonClient; import io.fabric8.tekton.client.DefaultTektonClient;
import io.fabric8.tekton.client.TektonClient;
// import org.eclipse.microprofile.rest.client.inject.RestClient;
// import dto.ScanObj;
import javax.inject.Inject;
// import javax.inject.Inject; import javax.validation.Valid;
// import javax.validation.Valid; import javax.ws.rs.Consumes;
// import javax.ws.rs.Consumes; import javax.ws.rs.POST;
// import javax.ws.rs.POST; import javax.ws.rs.Path;
// import javax.ws.rs.Path; import java.net.URI;
// import java.net.URI; import java.net.URISyntaxException;
// import java.net.URISyntaxException; import java.util.ArrayList;
// import java.util.ArrayList; import java.util.Arrays;
// import java.util.Arrays; import java.util.List;
// import java.util.List; import java.util.UUID;
// import java.util.UUID; import org.json.JSONObject;
// import org.json.JSONObject; import org.json.JSONArray;
// import org.json.JSONArray; import dto.ScanObj;
// import dto.ScanObj; import dto.BrewObj;
// import dto.ConnectDB; import dto.ConnectDB;
// import dto.ScanObjPayload; import dto.ScanObjPayload;
import dto.BrewObjPayload;
// import static constants.HttpHeaders.AUTHORIZATION_STRING; import dto.GitObj;
// import java.sql.Connection; import dto.GitObjPayload;
// import java.sql.DriverManager; import dto.PncObj;
// import java.sql.SQLException; import dto.PncObjPayload;
import static constants.HttpHeaders.AUTHORIZATION_STRING;
// import io.fabric8.tekton.client.DefaultTektonClient; import java.sql.Connection;
// import io.fabric8.tekton.client.TektonClient; import java.sql.DriverManager;
// import io.fabric8.tekton.pipeline.v1beta1.ArrayOrString; import java.sql.SQLException;
// import io.fabric8.tekton.pipeline.v1beta1.PipelineRunBuilder;
// import io.fabric8.tekton.triggers.v1alpha1.TriggerTemplateBuilder; import java.sql.Connection;
import java.sql.DriverManager;
// import java.util.Collections; import java.sql.ResultSet;
import java.sql.Statement;
// import java.sql.Connection;
// import java.sql.DriverManager; import java.util.Collections;
// import java.sql.ResultSet; import java.util.LinkedHashMap;
// import java.sql.Statement; import java.util.Set;
import dto.ScanObj;
// @Path("/tektonCall") import dto.ConnectDB;
// public class TektonTaskCreate {
import java.sql.Connection;
// private static final String NAMESPACE = "default"; import java.sql.DriverManager;
import java.sql.SQLException;
// @RestClient
import java.sql.Connection;
// @POST import java.sql.DriverManager;
// @Consumes({ "application/json" }) import java.sql.ResultSet;
import java.sql.Statement;
// public void invokeTektonTask(@Valid String nvr) throws URISyntaxException {
// try (TektonClient tkn = new DefaultTektonClient()) { import javax.ws.rs.DELETE;
// // Create Task import javax.ws.rs.GET;
// String argCall = String.format("mock-build --config=rhel-r-x86_64 --brew-build %s",nvr); import javax.ws.rs.POST;
// tkn.v1beta1().tasks().inNamespace(NAMESPACE).createOrReplace() import javax.ws.rs.Path;
// .withNewMetadata().withName("tekton-osh-cli").endMetadata() import javax.inject.Inject;
// .withNewSpec() import javax.ws.rs.GET;
// .addNewStep() import javax.ws.rs.Path;
// .withName("osh-config") import javax.ws.rs.PathParam;
// .withImage("alpine:3.12") import java.util.Set;
// .withCommand("osh-cli") import java.util.stream.Collectors;
// .withArgs(argCall) import javax.inject.Inject;
// .endStep() import javax.ws.rs.Consumes;
// .endSpec()
// .done(); import java.sql.*;
// // Create TaskRun import com.fasterxml.jackson.databind.ObjectMapper;
// tkn.v1beta1().taskRuns().inNamespace(NAMESPACE).createOrReplace() import com.fasterxml.jackson.databind.ObjectWriter;
// .withNewMetadata().withName("tekton-osh-cli-task-run").endMetadata()
// .withNewSpec() // import org.hibernate.EntityManager;
// .withNewTaskRef() import jakarta.persistence.EntityManager;
// .withName("tekton-osh-cli") import jakarta.persistence.Cacheable;
// .endTaskRef() import jakarta.persistence.Column;
// .endSpec() import jakarta.persistence.Entity;
// .done(); import jakarta.persistence.GeneratedValue;
// } import jakarta.persistence.Id;
// } import jakarta.persistence.NamedQuery;
// } import jakarta.persistence.QueryHint;
import jakarta.persistence.SequenceGenerator;
import jakarta.persistence.Table;
import io.fabric8.tekton.client.DefaultTektonClient;
import io.fabric8.tekton.client.TektonClient;
import io.fabric8.tekton.pipeline.v1beta1.TaskBuilder;
import io.fabric8.tekton.pipeline.v1beta1.Task;
import org.eclipse.microprofile.rest.client.inject.RestClient;
import dto.ScanObj;
import javax.inject.Inject;
import javax.validation.Valid;
import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;
import org.json.JSONObject;
import org.json.JSONArray;
import dto.ScanObj;
import dto.BrewObj;
import dto.ConnectDB;
import dto.ScanObjPayload;
import dto.BrewObjPayload;
import dto.GitObj;
import dto.GitObjPayload;
import dto.PncObj;
import dto.PncObjPayload;
import static constants.HttpHeaders.AUTHORIZATION_STRING;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import io.fabric8.tekton.client.DefaultTektonClient;
import io.fabric8.tekton.client.TektonClient;
import io.fabric8.tekton.pipeline.v1beta1.TaskBuilder;
import io.fabric8.tekton.pipeline.v1beta1.TaskRunBuilder;
public class TektonTaskCreate {
@RestClient
private static final String NAMESPACE = "default";
@POST
@Consumes({ "application/json" })
public static void invokeTektonTask(String config, String nvr) {
//dont leave this in live needs to be adjusted (currently would cause a ton of issues)
String tektonArgs = "osh-cli mock-build --config="+config+"--brew-build"+nvr;
try (TektonClient tkn = new DefaultTektonClient()) {
// Create Task
tkn.v1beta1().tasks().inNamespace(NAMESPACE).resource(new TaskBuilder()
.withNewMetadata().withName("tekton-osh-client").endMetadata()
.withNewSpec()
.addNewStep()
.withName("osh-client")
.withImage("alpine:3.12")
.withCommand("osh-cli")
.withArgs(tektonArgs)
.endStep()
.endSpec()
.build()).createOrReplace();
// Create TaskRun
tkn.v1beta1().taskRuns().inNamespace(NAMESPACE).resource(new TaskRunBuilder()
.withNewMetadata().withName("tekton-osh-client-task-run").endMetadata()
.withNewSpec()
.withNewTaskRef()
.withName("tekton-osh-client")
.endTaskRef()
.endSpec()
.build()).createOrReplace();
}
}
}
Loading…
Cancel
Save