diff --git a/README.md b/README.md index ace00bc..27c6a11 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -## Example java application +## Example java application -- ### Requirements @@ -34,4 +34,4 @@ gradle test ### Available endpoints - `/` GET -- `/current-connections` GET \ No newline at end of file +- `/current-connections` GET diff --git a/build.gradle b/build.gradle index 177652e..380c992 100644 --- a/build.gradle +++ b/build.gradle @@ -31,5 +31,5 @@ tasks.named('test') { dependencyCheck { - format = 'JSON' + format = 'HTML' } diff --git a/deploy/BuildConfig.yaml b/deploy/BuildConfig.yaml new file mode 100644 index 0000000..db65dd4 --- /dev/null +++ b/deploy/BuildConfig.yaml @@ -0,0 +1,71 @@ +kind: BuildConfig +apiVersion: build.openshift.io/v1 +metadata: + name: opdr4-bc2 + namespace: janjansenn2-dev + uid: 418da23e-24f6-4980-a718-d1bff003f6cf + resourceVersion: '998166957' + generation: 8 + creationTimestamp: '2023-11-22T09:00:25Z' + managedFields: + - manager: openshift-apiserver + operation: Update + apiVersion: build.openshift.io/v1 + time: '2023-11-22T09:08:21Z' + fieldsType: FieldsV1 + fieldsV1: + 'f:status': + 'f:lastVersion': {} + - manager: Mozilla + operation: Update + apiVersion: build.openshift.io/v1 + time: '2023-11-22T12:50:08Z' + fieldsType: FieldsV1 + fieldsV1: + 'f:spec': + 'f:output': + 'f:to': {} + 'f:runPolicy': {} + 'f:source': + 'f:git': + .: {} + 'f:ref': {} + 'f:uri': {} + 'f:secrets': {} + 'f:type': {} + 'f:strategy': + 'f:dockerStrategy': + .: {} + 'f:dockerfilePath': {} + 'f:pullSecret': {} + 'f:type': {} + 'f:triggers': {} +spec: + nodeSelector: null + output: + to: + kind: ImageStreamTag + name: 'opdr4_is:latest' + resources: {} + successfulBuildsHistoryLimit: 5 + failedBuildsHistoryLimit: 5 + strategy: + type: Docker + dockerStrategy: + pullSecret: + name: opdr4-secret2 + dockerfilePath: Dockerfile + postCommit: {} + source: + type: Git + git: + uri: 'https://github.com/xtenone/example-java-app.git' + ref: main + secrets: + - secret: + name: opdr4-secret + triggers: + - type: ConfigChange + runPolicy: Serial +status: + lastVersion: 2 diff --git a/deploy/Deployment.yaml b/deploy/Deployment.yaml new file mode 100644 index 0000000..b8b6074 --- /dev/null +++ b/deploy/Deployment.yaml @@ -0,0 +1,170 @@ +kind: Deployment +apiVersion: apps/v1 +metadata: + name: opdr4-ngix2 + namespace: janjansenn2-dev + uid: efb34504-3c44-438f-a26c-e8c5e847c91c + resourceVersion: '1003278358' + generation: 1 + creationTimestamp: '2023-11-23T13:39:21Z' + annotations: + deployment.kubernetes.io/revision: '1' + managedFields: + - manager: Mozilla + operation: Update + apiVersion: apps/v1 + time: '2023-11-23T13:39:21Z' + fieldsType: FieldsV1 + fieldsV1: + 'f:spec': + 'f:progressDeadlineSeconds': {} + 'f:replicas': {} + 'f:revisionHistoryLimit': {} + 'f:selector': {} + 'f:strategy': + 'f:rollingUpdate': + .: {} + 'f:maxSurge': {} + 'f:maxUnavailable': {} + 'f:type': {} + 'f:template': + 'f:metadata': + 'f:labels': + .: {} + 'f:app': {} + 'f:spec': + 'f:containers': + 'k:{"name":"container"}': + 'f:image': {} + 'f:volumeMounts': + .: {} + 'k:{"mountPath":"/opt/app-root/src"}': + .: {} + 'f:mountPath': {} + 'f:name': {} + 'f:terminationMessagePolicy': {} + .: {} + 'f:resources': {} + 'f:command': {} + 'f:terminationMessagePath': {} + 'f:imagePullPolicy': {} + 'f:ports': + .: {} + 'k:{"containerPort":8080,"protocol":"TCP"}': + .: {} + 'f:containerPort': {} + 'f:protocol': {} + 'f:name': {} + 'f:dnsPolicy': {} + 'f:restartPolicy': {} + 'f:schedulerName': {} + 'f:securityContext': {} + 'f:terminationGracePeriodSeconds': {} + 'f:volumes': + .: {} + 'k:{"name":"config-volume"}': + .: {} + 'f:configMap': + .: {} + 'f:defaultMode': {} + 'f:name': {} + 'f:name': {} + - manager: kube-controller-manager + operation: Update + apiVersion: apps/v1 + time: '2023-11-23T13:39:22Z' + fieldsType: FieldsV1 + fieldsV1: + 'f:metadata': + 'f:annotations': + .: {} + 'f:deployment.kubernetes.io/revision': {} + 'f:status': + 'f:availableReplicas': {} + 'f:conditions': + .: {} + 'k:{"type":"Available"}': + .: {} + 'f:lastTransitionTime': {} + 'f:lastUpdateTime': {} + 'f:message': {} + 'f:reason': {} + 'f:status': {} + 'f:type': {} + 'k:{"type":"Progressing"}': + .: {} + 'f:lastTransitionTime': {} + 'f:lastUpdateTime': {} + 'f:message': {} + 'f:reason': {} + 'f:status': {} + 'f:type': {} + 'f:observedGeneration': {} + 'f:readyReplicas': {} + 'f:replicas': {} + 'f:updatedReplicas': {} + subresource: status +spec: + replicas: 1 + selector: + matchLabels: + app: opdr4-nginx + template: + metadata: + creationTimestamp: null + labels: + app: opdr4-nginx + spec: + volumes: + - name: config-volume + configMap: + name: dependency-security-report + defaultMode: 420 + containers: + - resources: {} + terminationMessagePath: /dev/termination-log + name: container + command: + - nginx + - '-g' + - daemon off; + ports: + - containerPort: 8080 + protocol: TCP + imagePullPolicy: Always + volumeMounts: + - name: config-volume + mountPath: /opt/app-root/src + terminationMessagePolicy: File + image: registry.access.redhat.com/ubi8/nginx-120 + restartPolicy: Always + terminationGracePeriodSeconds: 30 + dnsPolicy: ClusterFirst + securityContext: {} + schedulerName: default-scheduler + strategy: + type: RollingUpdate + rollingUpdate: + maxUnavailable: 25% + maxSurge: 25% + revisionHistoryLimit: 10 + progressDeadlineSeconds: 600 +status: + observedGeneration: 1 + replicas: 1 + updatedReplicas: 1 + readyReplicas: 1 + availableReplicas: 1 + conditions: + - type: Available + status: 'True' + lastUpdateTime: '2023-11-23T13:39:22Z' + lastTransitionTime: '2023-11-23T13:39:22Z' + reason: MinimumReplicasAvailable + message: Deployment has minimum availability. + - type: Progressing + status: 'True' + lastUpdateTime: '2023-11-23T13:39:22Z' + lastTransitionTime: '2023-11-23T13:39:21Z' + reason: NewReplicaSetAvailable + message: ReplicaSet "opdr4-ngix2-84854b6c7c" has successfully progressed. diff --git a/deploy/Deployment2.yaml b/deploy/Deployment2.yaml new file mode 100644 index 0000000..351a733 --- /dev/null +++ b/deploy/Deployment2.yaml @@ -0,0 +1,165 @@ +kind: Deployment +apiVersion: apps/v1 +metadata: + annotations: + deployment.kubernetes.io/revision: '1' + image.openshift.io/triggers: >- + [{"from":{"kind":"ImageStreamTag","name":"opdr4_is:latest","namespace":"janjansenn2-dev"},"fieldPath":"spec.template.spec.containers[?(@.name==\"container\")].image","pause":"false"}] + resourceVersion: '1002511459' + name: opdr4-deployment1 + uid: 6f09b550-bd3f-45b4-b463-b0e3ba2a43a3 + creationTimestamp: '2023-11-22T12:34:39Z' + generation: 10 + managedFields: + - manager: Mozilla + operation: Update + apiVersion: apps/v1 + fieldsType: FieldsV1 + fieldsV1: + 'f:spec': + 'f:replicas': {} + subresource: scale + - manager: Mozilla + operation: Update + apiVersion: apps/v1 + time: '2023-11-23T09:30:13Z' + fieldsType: FieldsV1 + fieldsV1: + 'f:metadata': + 'f:annotations': + .: {} + 'f:image.openshift.io/triggers': {} + 'f:labels': + .: {} + 'f:app': {} + 'f:spec': + 'f:progressDeadlineSeconds': {} + 'f:revisionHistoryLimit': {} + 'f:selector': {} + 'f:strategy': + 'f:rollingUpdate': + .: {} + 'f:maxSurge': {} + 'f:maxUnavailable': {} + 'f:type': {} + 'f:template': + 'f:metadata': + 'f:annotations': + .: {} + 'f:openshift.openshift.io/restartedAt': {} + 'f:labels': + .: {} + 'f:app': {} + 'f:spec': + 'f:containers': + 'k:{"name":"container"}': + .: {} + 'f:image': {} + 'f:imagePullPolicy': {} + 'f:name': {} + 'f:ports': + .: {} + 'k:{"containerPort":8080,"protocol":"TCP"}': + .: {} + 'f:containerPort': {} + 'f:protocol': {} + 'f:resources': {} + 'f:terminationMessagePath': {} + 'f:terminationMessagePolicy': {} + 'f:dnsPolicy': {} + 'f:restartPolicy': {} + 'f:schedulerName': {} + 'f:securityContext': {} + 'f:terminationGracePeriodSeconds': {} + - manager: kube-controller-manager + operation: Update + apiVersion: apps/v1 + time: '2023-11-23T09:57:49Z' + fieldsType: FieldsV1 + fieldsV1: + 'f:metadata': + 'f:annotations': + 'f:deployment.kubernetes.io/revision': {} + 'f:status': + 'f:availableReplicas': {} + 'f:conditions': + .: {} + 'k:{"type":"Available"}': + .: {} + 'f:lastTransitionTime': {} + 'f:lastUpdateTime': {} + 'f:message': {} + 'f:reason': {} + 'f:status': {} + 'f:type': {} + 'k:{"type":"Progressing"}': + .: {} + 'f:lastTransitionTime': {} + 'f:lastUpdateTime': {} + 'f:message': {} + 'f:reason': {} + 'f:status': {} + 'f:type': {} + 'f:observedGeneration': {} + 'f:readyReplicas': {} + 'f:replicas': {} + 'f:updatedReplicas': {} + subresource: status + namespace: janjansenn2-dev + labels: + app: opdr4 +spec: + replicas: 1 + selector: + matchLabels: + app: opdr4-deployment1 + template: + metadata: + creationTimestamp: null + labels: + app: opdr4-deployment1 + annotations: + openshift.openshift.io/restartedAt: '2023-11-22T12:46:16.043Z' + spec: + containers: + - name: container + image: >- + image-registry.openshift-image-registry.svc:5000/janjansenn2-dev/opdr4_is@sha256:033ace7f7ead1dc091fd3b55fabbd1472c918d42c245cf6d8a2eea9f01c66160 + ports: + - containerPort: 8080 + protocol: TCP + resources: {} + terminationMessagePath: /dev/termination-log + terminationMessagePolicy: File + imagePullPolicy: IfNotPresent + restartPolicy: Always + terminationGracePeriodSeconds: 30 + dnsPolicy: ClusterFirst + securityContext: {} + schedulerName: default-scheduler + strategy: + type: RollingUpdate + rollingUpdate: + maxUnavailable: 25% + maxSurge: 25% + revisionHistoryLimit: 10 + progressDeadlineSeconds: 600 +status: + observedGeneration: 10 + replicas: 1 + updatedReplicas: 1 + readyReplicas: 1 + availableReplicas: 1 + conditions: + - type: Available + status: 'True' + lastUpdateTime: '2023-11-23T09:57:49Z' + lastTransitionTime: '2023-11-23T09:57:49Z' + reason: MinimumReplicasAvailable + message: Deployment has minimum availability. + - type: Progressing + status: 'True' + lastUpdateTime: '2023-11-23T09:57:49Z' + lastTransitionTime: '2023-11-23T09:30:42Z' + reason: NewReplicaSetAvailable + message: ReplicaSet "opdr4-deployment1-9c75bcc8d" has successfully progressed. diff --git a/deploy/EventListener, Trigger and Trigger template.yaml b/deploy/EventListener, Trigger and Trigger template.yaml new file mode 100644 index 0000000..0b6cceb --- /dev/null +++ b/deploy/EventListener, Trigger and Trigger template.yaml @@ -0,0 +1,150 @@ +apiVersion: triggers.tekton.dev/v1alpha1 +kind: EventListener +metadata: + creationTimestamp: '2023-11-22T13:00:12Z' + generation: 1 + managedFields: + - apiVersion: triggers.tekton.dev/v1alpha1 + fieldsType: FieldsV1 + fieldsV1: + 'f:spec': + .: {} + 'f:serviceAccountName': {} + 'f:triggers': {} + manager: Mozilla + operation: Update + time: '2023-11-22T13:00:12Z' + - apiVersion: triggers.tekton.dev/v1beta1 + fieldsType: FieldsV1 + fieldsV1: + 'f:status': + .: {} + 'f:address': + .: {} + 'f:url': {} + 'f:conditions': {} + 'f:configuration': + .: {} + 'f:generatedName': {} + manager: openshift-pipelines-triggers-controller + operation: Update + subresource: status + time: '2023-11-23T09:57:48Z' + name: opdr4-eventlistener1 + namespace: janjansenn2-dev + resourceVersion: '1002511447' + uid: 116406e6-b9c8-4d09-afdd-6c9718db39d9 +spec: + namespaceSelector: {} + resources: {} + serviceAccountName: pipeline + triggers: + - bindings: + - kind: TriggerBinding + ref: opdr4-trigger-binding + name: pr-trigger + template: + ref: opdr4-github-trigger-template +status: + address: + url: 'http://el-opdr4-eventlistener1.janjansenn2-dev.svc.cluster.local:8080' + conditions: + - lastTransitionTime: '2023-11-23T09:57:48Z' + message: Deployment has minimum availability. + reason: MinimumReplicasAvailable + status: 'True' + type: Available + - lastTransitionTime: '2023-11-23T09:57:48Z' + message: Deployment exists + status: 'True' + type: Deployment + - lastTransitionTime: '2023-11-23T09:57:48Z' + message: >- + ReplicaSet "el-opdr4-eventlistener1-5fc5bbdf6f" has successfully + progressed. + reason: NewReplicaSetAvailable + status: 'True' + type: Progressing + - lastTransitionTime: '2023-11-23T09:57:48Z' + message: EventListener is ready + status: 'True' + type: Ready + - lastTransitionTime: '2023-11-23T09:57:48Z' + message: Service exists + status: 'True' + type: Service + configuration: + generatedName: el-opdr4-eventlistener1 + +--- +apiVersion: triggers.tekton.dev/v1alpha1 +kind: TriggerTemplate +metadata: + creationTimestamp: '2023-11-22T12:55:42Z' + generation: 5 + managedFields: + - apiVersion: triggers.tekton.dev/v1alpha1 + fieldsType: FieldsV1 + fieldsV1: + 'f:spec': + .: {} + 'f:params': {} + 'f:resourcetemplates': {} + manager: Mozilla + operation: Update + time: '2023-11-22T13:38:42Z' + name: opdr4-github-trigger-template + namespace: janjansenn2-dev + resourceVersion: '998340616' + uid: 49091046-7172-441d-884a-ed9d144c1cdd +spec: + params: + - default: main + description: The git revision + name: gitrevision + resourcetemplates: + - apiVersion: tekton.dev/v1 + kind: PipelineRun + metadata: + generateName: opdr4-pipeline-run- + spec: + params: + - name: repo-url + value: 'https://github.com/xtenone/example-java-app.git' + - name: revision + value: main + pipelineRef: + name: opdr4-test + workspaces: + - name: shared-workspace + persistentVolumeClaim: + claimName: shared-workspace-pvc + +--- + +apiVersion: triggers.tekton.dev/v1alpha1 +kind: TriggerBinding +metadata: + creationTimestamp: '2023-11-22T12:59:52Z' + generation: 1 + managedFields: + - apiVersion: triggers.tekton.dev/v1alpha1 + fieldsType: FieldsV1 + fieldsV1: + 'f:spec': + .: {} + 'f:params': {} + manager: Mozilla + operation: Update + time: '2023-11-22T12:59:52Z' + name: opdr4-trigger-binding + namespace: janjansenn2-dev + resourceVersion: '998202423' + uid: f303f06a-3a56-43c2-a9f0-ab79e188dc17 +spec: + params: + - name: gitrevision + value: $(body.pull_request.head.sha) + +--- + diff --git a/deploy/ImageStream.yaml b/deploy/ImageStream.yaml new file mode 100644 index 0000000..3f48405 --- /dev/null +++ b/deploy/ImageStream.yaml @@ -0,0 +1,63 @@ +kind: ImageStream +apiVersion: image.openshift.io/v1 +metadata: + name: opdr4_is + namespace: janjansenn2-dev + uid: 93366a91-2970-4ddf-9bf3-42059887c44c + resourceVersion: '998446806' + generation: 4 + creationTimestamp: '2023-11-22T08:24:33Z' + annotations: + openshift.io/image.dockerRepositoryCheck: '2023-11-22T08:42:36Z' +spec: + lookupPolicy: + local: false + tags: + - name: latest + annotations: null + from: + kind: DockerImage + name: 'registry.digitalocean.com/openshiftcourse/gradle:8-jdk17' + generation: 3 + importPolicy: + importMode: Legacy + referencePolicy: + type: Source + - name: prd + annotations: null + from: + kind: ImageStreamImage + name: >- + opdr4_is@sha256:033ace7f7ead1dc091fd3b55fabbd1472c918d42c245cf6d8a2eea9f01c66160 + generation: 4 + importPolicy: + importMode: Legacy + referencePolicy: + type: Source +status: + dockerImageRepository: 'image-registry.openshift-image-registry.svc:5000/janjansenn2-dev/opdr4_is' + publicDockerImageRepository: >- + default-route-openshift-image-registry.apps.sandbox-m4.g2pi.p1.openshiftapps.com/janjansenn2-dev/opdr4_is + tags: + - tag: latest + items: + - created: '2023-11-22T09:10:46Z' + dockerImageReference: >- + image-registry.openshift-image-registry.svc:5000/janjansenn2-dev/opdr4_is@sha256:033ace7f7ead1dc091fd3b55fabbd1472c918d42c245cf6d8a2eea9f01c66160 + image: >- + sha256:033ace7f7ead1dc091fd3b55fabbd1472c918d42c245cf6d8a2eea9f01c66160 + generation: 3 + - created: '2023-11-22T08:42:36Z' + dockerImageReference: >- + registry.digitalocean.com/openshiftcourse/gradle@sha256:184d2741c042cb7d640657a4e6239a6d1008ffc49c0b0dd57fe5a33b69053f99 + image: >- + sha256:184d2741c042cb7d640657a4e6239a6d1008ffc49c0b0dd57fe5a33b69053f99 + generation: 3 + - tag: prd + items: + - created: '2023-11-22T14:08:54Z' + dockerImageReference: >- + image-registry.openshift-image-registry.svc:5000/janjansenn2-dev/opdr4_is@sha256:033ace7f7ead1dc091fd3b55fabbd1472c918d42c245cf6d8a2eea9f01c66160 + image: >- + sha256:033ace7f7ead1dc091fd3b55fabbd1472c918d42c245cf6d8a2eea9f01c66160 + generation: 4 diff --git a/deploy/Route.yaml b/deploy/Route.yaml new file mode 100644 index 0000000..54edc61 --- /dev/null +++ b/deploy/Route.yaml @@ -0,0 +1,55 @@ +kind: Route +apiVersion: route.openshift.io/v1 +metadata: + name: opdr4-deployment1 + namespace: janjansenn2-dev + uid: 002ab60d-1ef6-4663-adba-8330039fe26e + resourceVersion: '998126582' + creationTimestamp: '2023-11-22T12:38:40Z' + annotations: + openshift.io/host.generated: 'true' + managedFields: + - manager: oc + operation: Update + apiVersion: route.openshift.io/v1 + time: '2023-11-22T12:38:40Z' + fieldsType: FieldsV1 + fieldsV1: + 'f:spec': + 'f:port': + .: {} + 'f:targetPort': {} + 'f:to': + 'f:kind': {} + 'f:name': {} + 'f:weight': {} + 'f:wildcardPolicy': {} + - manager: openshift-router + operation: Update + apiVersion: route.openshift.io/v1 + time: '2023-11-22T12:38:40Z' + fieldsType: FieldsV1 + fieldsV1: + 'f:status': + 'f:ingress': {} + subresource: status +spec: + host: opdr4-deployment1-janjansenn2-dev.apps.sandbox-m4.g2pi.p1.openshiftapps.com + to: + kind: Service + name: opdr4-deployment1 + weight: 100 + port: + targetPort: 8080 + wildcardPolicy: None +status: + ingress: + - host: >- + opdr4-deployment1-janjansenn2-dev.apps.sandbox-m4.g2pi.p1.openshiftapps.com + routerName: default + conditions: + - type: Admitted + status: 'True' + lastTransitionTime: '2023-11-22T12:38:40Z' + wildcardPolicy: None + routerCanonicalHostname: router-default.apps.sandbox-m4.g2pi.p1.openshiftapps.com diff --git a/deploy/Route2.yaml b/deploy/Route2.yaml new file mode 100644 index 0000000..5d50898 --- /dev/null +++ b/deploy/Route2.yaml @@ -0,0 +1,54 @@ +kind: Route +apiVersion: route.openshift.io/v1 +metadata: + name: opdr4-ngix2 + namespace: janjansenn2-dev + uid: 3f1136ae-0581-4d99-a82e-0b82d3f79f72 + resourceVersion: '1003285502' + creationTimestamp: '2023-11-23T13:41:28Z' + annotations: + openshift.io/host.generated: 'true' + managedFields: + - manager: oc + operation: Update + apiVersion: route.openshift.io/v1 + time: '2023-11-23T13:41:28Z' + fieldsType: FieldsV1 + fieldsV1: + 'f:spec': + 'f:port': + .: {} + 'f:targetPort': {} + 'f:to': + 'f:kind': {} + 'f:name': {} + 'f:weight': {} + 'f:wildcardPolicy': {} + - manager: openshift-router + operation: Update + apiVersion: route.openshift.io/v1 + time: '2023-11-23T13:41:28Z' + fieldsType: FieldsV1 + fieldsV1: + 'f:status': + 'f:ingress': {} + subresource: status +spec: + host: opdr4-ngix2-janjansenn2-dev.apps.sandbox-m4.g2pi.p1.openshiftapps.com + to: + kind: Service + name: opdr4-ngix2 + weight: 100 + port: + targetPort: 8080 + wildcardPolicy: None +status: + ingress: + - host: opdr4-ngix2-janjansenn2-dev.apps.sandbox-m4.g2pi.p1.openshiftapps.com + routerName: default + conditions: + - type: Admitted + status: 'True' + lastTransitionTime: '2023-11-23T13:41:28Z' + wildcardPolicy: None + routerCanonicalHostname: router-default.apps.sandbox-m4.g2pi.p1.openshiftapps.com diff --git a/deploy/Service.yaml b/deploy/Service.yaml new file mode 100644 index 0000000..04d82e3 --- /dev/null +++ b/deploy/Service.yaml @@ -0,0 +1,45 @@ +kind: Service +apiVersion: v1 +metadata: + name: opdr4-deployment1 + namespace: janjansenn2-dev + uid: 44d1eb06-40c6-439e-9733-8c53367e617f + resourceVersion: '998124376' + creationTimestamp: '2023-11-22T12:38:02Z' + managedFields: + - manager: oc + operation: Update + apiVersion: v1 + time: '2023-11-22T12:38:02Z' + fieldsType: FieldsV1 + fieldsV1: + 'f:spec': + 'f:internalTrafficPolicy': {} + 'f:ports': + .: {} + 'k:{"port":8080,"protocol":"TCP"}': + .: {} + 'f:port': {} + 'f:protocol': {} + 'f:targetPort': {} + 'f:selector': {} + 'f:sessionAffinity': {} + 'f:type': {} +spec: + clusterIP: 172.30.175.210 + ipFamilies: + - IPv4 + ports: + - protocol: TCP + port: 8080 + targetPort: 8080 + internalTrafficPolicy: Cluster + clusterIPs: + - 172.30.175.210 + type: ClusterIP + ipFamilyPolicy: SingleStack + sessionAffinity: None + selector: + app: opdr4-deployment1 +status: + loadBalancer: {} diff --git a/deploy/Service2.yaml b/deploy/Service2.yaml new file mode 100644 index 0000000..de4a614 --- /dev/null +++ b/deploy/Service2.yaml @@ -0,0 +1,45 @@ +kind: Service +apiVersion: v1 +metadata: + name: opdr4-ngix2 + namespace: janjansenn2-dev + uid: 67c5a837-77dc-46e4-a96a-a3be99e21200 + resourceVersion: '1003283536' + creationTimestamp: '2023-11-23T13:40:52Z' + managedFields: + - manager: oc + operation: Update + apiVersion: v1 + time: '2023-11-23T13:40:52Z' + fieldsType: FieldsV1 + fieldsV1: + 'f:spec': + 'f:internalTrafficPolicy': {} + 'f:ports': + .: {} + 'k:{"port":8080,"protocol":"TCP"}': + .: {} + 'f:port': {} + 'f:protocol': {} + 'f:targetPort': {} + 'f:selector': {} + 'f:sessionAffinity': {} + 'f:type': {} +spec: + clusterIP: 172.30.164.250 + ipFamilies: + - IPv4 + ports: + - protocol: TCP + port: 8080 + targetPort: 8080 + internalTrafficPolicy: Cluster + clusterIPs: + - 172.30.164.250 + type: ClusterIP + ipFamilyPolicy: SingleStack + sessionAffinity: None + selector: + app: opdr4-nginx +status: + loadBalancer: {} diff --git a/deploy/Tekton Pipeline.yaml b/deploy/Tekton Pipeline.yaml new file mode 100644 index 0000000..79c26b8 --- /dev/null +++ b/deploy/Tekton Pipeline.yaml @@ -0,0 +1,91 @@ +apiVersion: tekton.dev/v1 +kind: Pipeline +metadata: + creationTimestamp: '2023-11-22T10:00:23Z' + generation: 18 + managedFields: + - apiVersion: tekton.dev/v1 + fieldsType: FieldsV1 + fieldsV1: + 'f:spec': + .: {} + 'f:finally': {} + 'f:params': {} + 'f:tasks': {} + 'f:workspaces': {} + manager: Mozilla + operation: Update + time: '2023-11-23T10:24:27Z' + name: opdr4-test + namespace: janjansenn2-dev + resourceVersion: '1002604730' + uid: 7b38b46c-5a2f-4a44-b8dd-2393cba467c3 +spec: + finally: + - name: opdr4-clean-volume + taskRef: + kind: Task + name: opdr4-cleanup + workspaces: + - name: volume1 + workspace: shared-workspace + params: + - default: 'https://github.com/musghost/example-java-app.git' + description: The git repository URL + name: repo-url + type: string + - default: main + description: The git revision + name: revision + type: string + tasks: + - name: 1-pull + params: + - name: url + value: $(params.repo-url) + - name: revision + value: $(params.revision) + taskRef: + kind: Task + name: opdr4-1pull + workspaces: + - name: volume1 + workspace: shared-workspace + - name: opdr4-2security + runAfter: + - 1-pull + taskRef: + kind: Task + name: opdr4-2security + workspaces: + - name: volume1 + workspace: shared-workspace + - name: opdr4-3unittest + runAfter: + - opdr4-2security + taskRef: + kind: Task + name: opdr4-3unittest + workspaces: + - name: volume1 + workspace: shared-workspace + - name: opdr4-4buildtar + runAfter: + - opdr4-3unittest + taskRef: + kind: Task + name: opdr4-4buildtar + workspaces: + - name: volume1 + workspace: shared-workspace + - name: opdr4-ngix + runAfter: + - opdr4-4buildtar + taskRef: + kind: Task + name: opdr4-ngix + workspaces: + - name: volume1 + workspace: shared-workspace + workspaces: + - name: shared-workspace diff --git a/deploy/Tekton Tasks.yaml b/deploy/Tekton Tasks.yaml new file mode 100644 index 0000000..c7c577a --- /dev/null +++ b/deploy/Tekton Tasks.yaml @@ -0,0 +1,252 @@ +apiVersion: tekton.dev/v1 +kind: Task +metadata: + creationTimestamp: '2023-11-22T09:21:34Z' + generation: 8 + managedFields: + - apiVersion: tekton.dev/v1beta1 + fieldsType: FieldsV1 + fieldsV1: + 'f:spec': + .: {} + 'f:workspaces': {} + manager: Mozilla + operation: Update + time: '2023-11-22T09:53:11Z' + - apiVersion: tekton.dev/v1 + fieldsType: FieldsV1 + fieldsV1: + 'f:spec': + 'f:params': {} + 'f:steps': {} + manager: Mozilla + operation: Update + time: '2023-11-22T10:15:08Z' + name: opdr4-1pull + namespace: janjansenn2-dev + resourceVersion: '997618962' + uid: 99dc5ce4-0e1e-4a98-a1b2-3c168ce060e0 +spec: + params: + - default: 'https://github.com/musghost/example-java-app.git' + description: The git repository url + name: url + type: string + - default: main + description: The git revision + name: revision + type: string + steps: + - computeResources: {} + image: quay.io/wire/alpine-git + name: pull + script: | + #!/usr/bin/env sh + cd $(workspaces.volume1.path) + git clone $(params.url) app4 + cd app4 + git checkout $(params.revision) + workspaces: + - name: volume1 + +--- +apiVersion: tekton.dev/v1 +kind: Task +metadata: + creationTimestamp: '2023-11-22T09:22:35Z' + generation: 3 + managedFields: + - apiVersion: tekton.dev/v1 + fieldsType: FieldsV1 + fieldsV1: + 'f:spec': + .: {} + 'f:steps': {} + 'f:workspaces': {} + manager: Mozilla + operation: Update + time: '2023-11-22T10:20:05Z' + name: opdr4-2security + namespace: janjansenn2-dev + resourceVersion: '997636215' + uid: 9c64dd14-27d3-46e2-9326-d1305ad8c624 +spec: + steps: + - computeResources: {} + image: 'registry.digitalocean.com/openshiftcourse/gradle:8-jdk17' + name: 2-securitycheck + script: | + #!/usr/bin/env sh + cd $(workspaces.volume1.path) + cd app4 + gradle dependencyCheckAnalyze + workspaces: + - name: volume1 + +--- +apiVersion: tekton.dev/v1 +kind: Task +metadata: + creationTimestamp: '2023-11-22T09:22:54Z' + generation: 3 + managedFields: + - apiVersion: tekton.dev/v1 + fieldsType: FieldsV1 + fieldsV1: + 'f:spec': + .: {} + 'f:steps': {} + 'f:workspaces': {} + manager: Mozilla + operation: Update + time: '2023-11-22T13:54:06Z' + name: opdr4-3unittest + namespace: janjansenn2-dev + resourceVersion: '998394562' + uid: 8005d8a4-338e-4fe1-a66d-43899de48bc1 +spec: + steps: + - computeResources: {} + image: 'registry.digitalocean.com/openshiftcourse/gradle:8-jdk17' + name: 3-unittest + script: | + #!/usr/bin/env sh + cd $(workspaces.volume1.path) + cd app4 + gradle test + workspaces: + - name: volume1 + +--- +apiVersion: tekton.dev/v1 +kind: Task +metadata: + creationTimestamp: '2023-11-22T09:23:26Z' + generation: 3 + managedFields: + - apiVersion: tekton.dev/v1 + fieldsType: FieldsV1 + fieldsV1: + 'f:spec': + .: {} + 'f:steps': {} + 'f:workspaces': {} + manager: Mozilla + operation: Update + time: '2023-11-22T13:54:22Z' + name: opdr4-4buildtar + namespace: janjansenn2-dev + resourceVersion: '998395485' + uid: 945a26f4-1f59-4e38-be22-9d90126efd0f +spec: + steps: + - computeResources: {} + image: 'registry.digitalocean.com/openshiftcourse/gradle:8-jdk17' + name: 4-buildtar + script: | + #!/usr/bin/env sh + cd $(workspaces.volume1.path) + cd app4 + gradle build + workspaces: + - name: volume1 + +--- +apiVersion: tekton.dev/v1 +kind: Task +metadata: + creationTimestamp: '2023-11-23T08:27:33Z' + generation: 5 + managedFields: + - apiVersion: tekton.dev/v1 + fieldsType: FieldsV1 + fieldsV1: + 'f:spec': + .: {} + 'f:steps': {} + 'f:workspaces': {} + manager: Mozilla + operation: Update + time: '2023-11-23T12:57:09Z' + name: opdr4-cleanup + namespace: janjansenn2-dev + resourceVersion: '1003132277' + uid: 1d7d8323-0ad0-4508-9a10-6ea562c53166 +spec: + steps: + - computeResources: {} + image: jitesoft/alpine + name: pull + script: | + #!/usr/bin/env sh + cd $(workspaces.volume1.path) + ls -a + rm -fr * + ls -a + workspaces: + - name: volume1 + +--- +apiVersion: tekton.dev/v1 +kind: Task +metadata: + creationTimestamp: '2023-11-23T09:49:52Z' + generation: 20 + managedFields: + - apiVersion: tekton.dev/v1 + fieldsType: FieldsV1 + fieldsV1: + 'f:spec': + .: {} + 'f:steps': {} + 'f:workspaces': {} + manager: Mozilla + operation: Update + time: '2023-11-23T13:08:03Z' + name: opdr4-ngix + namespace: janjansenn2-dev + resourceVersion: '1003171303' + uid: 929684d0-0d50-48c6-a5b1-574b5826179b +spec: + steps: + - computeResources: {} + image: 'quay.io/openshift/origin-cli:latest' + name: tag-imagestream-step + script: | + #!/usr/bin/env sh + cd $(workspaces.volume1.path) + cd app4 + oc delete configmap dependency-security-report || true + oc create configmap dependency-security-report \ + --from-file=index.html=build/reports/dependency-check-report.html + workspaces: + - name: volume1 + +--- +apiVersion: tekton.dev/v1 +kind: Task +metadata: + creationTimestamp: '2023-11-22T14:01:41Z' + generation: 3 + managedFields: + - apiVersion: tekton.dev/v1 + fieldsType: FieldsV1 + fieldsV1: + 'f:spec': + .: {} + 'f:steps': {} + manager: Mozilla + operation: Update + time: '2023-11-22T14:08:40Z' + name: opdr4-prd + namespace: janjansenn2-dev + resourceVersion: '998445967' + uid: 20176fff-6927-4698-909c-856208f951f2 +spec: + steps: + - computeResources: {} + image: 'quay.io/openshift/origin-cli:latest' + name: tag-imagestream-step + script: | + #!/usr/bin/env bash + oc tag opdr4_is:latest opdr4_is:prd diff --git a/deploy/kustomization.yaml b/deploy/kustomization.yaml new file mode 100644 index 0000000..54e11eb --- /dev/null +++ b/deploy/kustomization.yaml @@ -0,0 +1,14 @@ + +resources: +- ImageStream.yaml +- BuildConfig.yaml +- Deployment.yaml +- Deployment2.yaml +- Service.yaml +- Service2.yaml +- Route.yaml +- Route2.yaml +- Tekton Tasks.yaml +- Tekton Pipeline.yaml +- EventListener, Trigger and Trigger template.yaml +- kustomization.yaml \ No newline at end of file diff --git a/deploy/notincluded-pvc.yaml b/deploy/notincluded-pvc.yaml new file mode 100644 index 0000000..d0c26c5 --- /dev/null +++ b/deploy/notincluded-pvc.yaml @@ -0,0 +1,83 @@ +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: shared-workspace-pvc + namespace: janjansenn2-dev + uid: 0410e639-bc51-4773-aad5-59f90557ffef + resourceVersion: '1002453859' + creationTimestamp: '2023-11-23T09:41:06Z' + annotations: + pv.kubernetes.io/bind-completed: 'yes' + pv.kubernetes.io/bound-by-controller: 'yes' + volume.beta.kubernetes.io/storage-provisioner: ebs.csi.aws.com + volume.kubernetes.io/selected-node: ip-10-0-233-205.ec2.internal + volume.kubernetes.io/storage-provisioner: ebs.csi.aws.com + finalizers: + - kubernetes.io/pvc-protection + managedFields: + - manager: Mozilla + operation: Update + apiVersion: v1 + time: '2023-11-23T09:41:06Z' + fieldsType: FieldsV1 + fieldsV1: + 'f:spec': + 'f:accessModes': {} + 'f:resources': + 'f:requests': + .: {} + 'f:storage': {} + 'f:storageClassName': {} + 'f:volumeMode': {} + - manager: kube-scheduler + operation: Update + apiVersion: v1 + time: '2023-11-23T09:41:12Z' + fieldsType: FieldsV1 + fieldsV1: + 'f:metadata': + 'f:annotations': + .: {} + 'f:volume.kubernetes.io/selected-node': {} + - manager: kube-controller-manager + operation: Update + apiVersion: v1 + time: '2023-11-23T09:41:15Z' + fieldsType: FieldsV1 + fieldsV1: + 'f:metadata': + 'f:annotations': + 'f:pv.kubernetes.io/bind-completed': {} + 'f:pv.kubernetes.io/bound-by-controller': {} + 'f:volume.beta.kubernetes.io/storage-provisioner': {} + 'f:volume.kubernetes.io/storage-provisioner': {} + 'f:spec': + 'f:volumeName': {} + - manager: kube-controller-manager + operation: Update + apiVersion: v1 + time: '2023-11-23T09:41:15Z' + fieldsType: FieldsV1 + fieldsV1: + 'f:status': + 'f:accessModes': {} + 'f:capacity': + .: {} + 'f:storage': {} + 'f:phase': {} + subresource: status +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi + volumeName: pvc-0410e639-bc51-4773-aad5-59f90557ffef + storageClassName: gp3 + volumeMode: Filesystem +status: + phase: Bound + accessModes: + - ReadWriteOnce + capacity: + storage: 1Gi