Browse Source

contians the files for testing createoing tekton tasks

exception_work
Nicholas Caughey 3 years ago
parent
commit
a71996607c
  1. 5
      pom.xml
  2. 20
      src/main/java/rest/TektonResourceClient.java
  3. 82
      src/main/java/rest/TektonTaskCreate.java
  4. 16
      src/main/java/rest/baseScan.yml
  5. 116
      src/main/java/rest/callTekton.java

5
pom.xml

@ -50,6 +50,11 @@
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>io.fabric8</groupId>
<artifactId>tekton-client</artifactId>
<version>6.7.2</version>
</dependency>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-openshift</artifactId>

20
src/main/java/rest/TektonResourceClient.java

@ -0,0 +1,20 @@
// package rest;
// import java.util.List;
// import jakarta.enterprise.context.ApplicationScoped;
// import io.fabric8.tekton.client.TektonClient;
// import io.fabric8.tekton.pipeline.v1beta1.Pipeline;
// @ApplicationScoped
// public class TektonResourceClient {
// // @Inject
// TektonClient tektonClient;l
// public List<Pipeline> listPipelines() {
// return tektonClient.v1beta1().pipelines().list().getItems();
// }
// }

82
src/main/java/rest/TektonTaskCreate.java

@ -0,0 +1,82 @@
// package io.rest;
// 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.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.ConnectDB;
// import dto.ScanObjPayload;
// import static constants.HttpHeaders.AUTHORIZATION_STRING;
// import java.sql.Connection;
// import java.sql.DriverManager;
// import java.sql.SQLException;
// 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.PipelineRunBuilder;
// import io.fabric8.tekton.triggers.v1alpha1.TriggerTemplateBuilder;
// import java.util.Collections;
// import java.sql.Connection;
// import java.sql.DriverManager;
// import java.sql.ResultSet;
// import java.sql.Statement;
// @Path("/tektonCall")
// public class TektonTaskCreate {
// private static final String NAMESPACE = "default";
// @RestClient
// @POST
// @Consumes({ "application/json" })
// public void invokeTektonTask(@Valid String nvr) throws URISyntaxException {
// try (TektonClient tkn = new DefaultTektonClient()) {
// // Create Task
// String argCall = String.format("mock-build --config=rhel-r-x86_64 --brew-build %s",nvr);
// tkn.v1beta1().tasks().inNamespace(NAMESPACE).createOrReplace()
// .withNewMetadata().withName("tekton-osh-cli").endMetadata()
// .withNewSpec()
// .addNewStep()
// .withName("osh-config")
// .withImage("alpine:3.12")
// .withCommand("osh-cli")
// .withArgs(argCall)
// .endStep()
// .endSpec()
// .done();
// // Create TaskRun
// tkn.v1beta1().taskRuns().inNamespace(NAMESPACE).createOrReplace()
// .withNewMetadata().withName("tekton-osh-cli-task-run").endMetadata()
// .withNewSpec()
// .withNewTaskRef()
// .withName("tekton-osh-cli")
// .endTaskRef()
// .endSpec()
// .done();
// }
// }
// }

16
src/main/java/rest/baseScan.yml

@ -0,0 +1,16 @@
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
name: basescan
spec:
params:
- name: buildId
type: string
- name: config
type: string
steps:
- name: baseScan
image: ubuntu
script: |
#!/bin/bash
osh-cli mock-build --config=params.config --brew-build params.buildId

116
src/main/java/rest/callTekton.java

@ -0,0 +1,116 @@
package rest;
import io.fabric8.tekton.client.DefaultTektonClient;
import io.fabric8.tekton.client.TektonClient;
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 java.util.Collections;
import java.util.LinkedHashMap;
import java.util.Set;
import dto.ScanObj;
import dto.ConnectDB;
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 javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.inject.Inject;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import java.util.Set;
import java.util.stream.Collectors;
import javax.inject.Inject;
import javax.ws.rs.Consumes;
import java.sql.*;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.ObjectWriter;
// import org.hibernate.EntityManager;
import jakarta.persistence.EntityManager;
import jakarta.persistence.Cacheable;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
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;
public class callTekton {
private static final String NAMESPACE = "default";
public static void main(String[] args) {
try (TektonClient tkn = new DefaultTektonClient()) {
// Load Task object from YAML
Task task = tkn.v1beta1()
.tasks()
.load(callTekton.class.getResourceAsStream("/baseScan.yml")).get();
// Create Task object into Kubernetes
tkn.v1beta1().tasks().inNamespace(NAMESPACE).createOrReplace(task);
// Get Task object from APIServer
String taskName = task.getMetadata().getName();
task = tkn.v1beta1().tasks().inNamespace(NAMESPACE)
.withName(taskName)
.get();
// Delete Task object
tkn.v1beta1().tasks().inNamespace(NAMESPACE).withName(taskName).delete();
}
}
}
Loading…
Cancel
Save