Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file removed .devfile/icon/spring-logo.png
Binary file not shown.
22 changes: 15 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,15 @@
.classpath
.project
.settings
target
.odo/env
.idea
.DS_Store
.idea/*
*.iml
*.class
*target/
*.idea/*
*.project
*.classpath
*bin/*
*/keystore/*
logs/*
.settings/*
.factorypath
keys/*
.mvnw
.mvnw.cmd
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# devfile-sample-java-springboot-basic
A basic sample application using Java Spring Boot with devfile
# medis-etl-service
Camel based app that is used to pullforms submissions from CHEFS via API, convert them into a set of CSV files for futher upload and loading into Oracle DB.
14 changes: 7 additions & 7 deletions deploy.yaml
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
kind: Deployment
apiVersion: apps/v1
metadata:
name: my-java-springboot
name: medis-etl-service
spec:
replicas: 1
selector:
matchLabels:
app: java-springboot-app
app: medis-etl-app
template:
metadata:
labels:
app: java-springboot-app
app: medis-etl-service
spec:
containers:
- name: my-java-springboot
image: java-springboot-image:latest
- name: etl-camel
image: medis-etl-image:latest
ports:
- name: http
containerPort: 8081
Expand All @@ -27,12 +27,12 @@ spec:
kind: Service
apiVersion: v1
metadata:
name: my-java-springboot-svc
name: medis-etl-svc
spec:
ports:
- name: http-8081
port: 8081
protocol: TCP
targetPort: 8081
selector:
app: java-springboot-app
app: medis-etl-app
2 changes: 1 addition & 1 deletion devfile.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ parent:
components:
- name: image-build
image:
imageName: java-springboot-image:latest
imageName: medis-etl-image:latest
dockerfile:
uri: docker/Dockerfile
buildContext: .
Expand Down
22 changes: 11 additions & 11 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,24 +9,24 @@
#
# docker run -i --rm -p 8081:8081 springboot/sample-demo
####
FROM quay.io/devfile/maven:3.8.1-openjdk-17-slim
FROM quay.io/devfile/maven:3.8.1-openjdk-17-slim AS build

WORKDIR /build
WORKDIR /app

# Build dependency offline to streamline build
COPY pom.xml .
RUN mvn dependency:go-offline
#RUN mvn dependency:go-offline

COPY src src
RUN mvn package -Dmaven.test.skip=true
COPY src/ ./src/
RUN mvn package
# compute the created jar name and put it in a known location to copy to the next layer.
# If the user changes pom.xml to have a different version, or artifactId, this will find the jar
RUN grep version /build/target/maven-archiver/pom.properties | cut -d '=' -f2 >.env-version
RUN grep artifactId /build/target/maven-archiver/pom.properties | cut -d '=' -f2 >.env-id
RUN mv /build/target/$(cat .env-id)-$(cat .env-version).jar /build/target/export-run-artifact.jar
# RUN grep version /build/target/maven-archiver/pom.properties | cut -d '=' -f2 >.env-version
# RUN grep artifactId /build/target/maven-archiver/pom.properties | cut -d '=' -f2 >.env-id
# RUN mv /build/target/$(cat .env-id)-$(cat .env-version).jar /build/target/export-run-artifact.jar

FROM openjdk:11-jdk
COPY --from=0 /build/target/export-run-artifact.jar /app/target/export-run-artifact.jar
FROM openjdk:17-jdk
COPY --from=build app/target/medis-etl.jar /app/target/export-run-artifact.jar

EXPOSE 8081
ENTRYPOINT [ "java", "-jar", "/app/target/export-run-artifact.jar", "--server.port=8081" ]
ENTRYPOINT [ "java", "-cp", "/app/config/", "-jar", "/app/target/export-run-artifact.jar" ]
72 changes: 72 additions & 0 deletions openshift/app.bc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
---
apiVersion: template.openshift.io/v1
kind: Template
labels:
app.kubernetes.io/component: medis-etl-app
app.kubernetes.io/instance: medis-etl-app
app.kubernetes.io/name: medis-etl-app
app.kubernetes.io/part-of: medis-etl
app.openshift.io/runtime: java-springboot-camel
app: "${APP_NAME}-${JOB_NAME}"
template: "${REPO_NAME}-app-bc-template"
metadata:
name: "${REPO_NAME}-app-bc"
objects:
- apiVersion: image.openshift.io/v1
kind: ImageStream
metadata:
name: medis-etl-image
spec:
lookupPolicy:
local: false

- apiVersion: build.openshift.io/v1
kind: BuildConfig
metadata:
name: medis-etl-app
spec:
failedBuildsHistoryLimit: 5
nodeSelector: null
output:
to:
kind: ImageStreamTag
name: medis-etl-image:latest
postCommit: {}
resources: {}
runPolicy: Serial
source:
git:
uri: ${SOURCE_REPO_URL}
type: Git
strategy:
dockerStrategy:
dockerfilePath: docker/Dockerfile
type: Docker
successfulBuildsHistoryLimit: 5
triggers:
- generic:
secretReference:
name: medis-etl-webhook-secret
type: Generic
- github:
secretReference:
name: medis-etl-github-webhook-secret
type: GitHub
- type: ConfigChange
parameters:
- name: REPO_NAME
description: Application repository name
displayName: Repository Name
required: true
- name: JOB_NAME
description: Job identifier (i.e. 'pr-5' OR 'master')
displayName: Job Branch Name
required: true
- name: SOURCE_REPO_REF
description: Git Pull Request Reference (i.e. 'pull/CHANGE_ID/head')
displayName: Source Repository Reference
required: true
- name: SOURCE_REPO_URL
description: Git Repository URL
displayName: Source Repository URL
required: true
64 changes: 64 additions & 0 deletions openshift/app.cm.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
---
apiVersion: template.openshift.io/v1
kind: Template
labels:
app.kubernetes.io/component: medis-etl-app
app.kubernetes.io/instance: medis-etl-app
app.kubernetes.io/name: medis-etl-app
app.kubernetes.io/part-of: medis-etl
app.openshift.io/runtime: java-springboot-camel
app: "${APP_NAME}-${JOB_NAME}"
template: "${REPO_NAME}-app-cm-template"
metadata:
name: "${REPO_NAME}-app-cm"
objects:
- apiVersion: v1
kind: ConfigMap
metadata:
name: medis-etl-config
data:
application.properties: |
# properties used in route
hostname = localhost
port = 8080
server-socket=5555
socket-read-sleep-time=100
max-socket-read-tries=100
thread-pool-size=5
accept-remote-connections=true
valid-ip-list-file=fwlist.txt

chefs.http.uri=https://submit.digital.gov.bc.ca/app/api/v1/forms/%s/export?format=json&type=submissions&minDate=%s&maxDate=%s

aims.username=2f173b2b-2f3a-407a-aecf-6b4bdc9431ae
aims.password=tbd

ltc.facility.username=e1f4761f-efdd-4529-805e-677d3ae21601
ltc.facility.password=tbd

ltc.staffing.username=16ce36ca-9b4b-4ec6-bb75-96c2e1f258bb
ltc.staffing.password=tbd

ltc.ytd.username=256760e7-6e8b-44c4-8b63-51fb72c8c2cf
ltc.ytd.password=tbd
log4j2.properties: |
appender.out.type = Console
appender.out.name = out
appender.out.layout.type = PatternLayout
appender.out.layout.pattern = [%30.30t] %-30.30c{1} %-5p %m%n
rootLogger.level = INFO
rootLogger.appenderRef.out.ref = out
immutable: false
parameters:
- name: APP_NAME
description: Application name
displayName: Application name
required: true
- name: JOB_NAME
description: Job identifier (i.e. 'pr-5' OR 'master')
displayName: Job Branch Name
required: true
- name: REPO_NAME
description: Application repository name
displayName: Repository Name
required: true
Loading