Use the right container image
* Updated Zuul and Helm files with the right settings * Cleared Buildpacks settings, and added Dockerfile Change-Id: I35fc05e34fad405e0981f822e39139d7d244252e
This commit is contained in:
parent
0c05760636
commit
2cf4d6a7f9
@ -5,7 +5,7 @@
|
|||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
|
|
||||||
image:
|
image:
|
||||||
repository: "quay.io/nebulous/resource-manager-java-spring-boot-demo"
|
repository: "quay.io/nebulous/resource-manager"
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
# Overrides the image tag whose default is the chart appVersion.
|
# Overrides the image tag whose default is the chart appVersion.
|
||||||
tag: ""
|
tag: ""
|
||||||
|
1
resource-discovery/.dockerignore
Normal file
1
resource-discovery/.dockerignore
Normal file
@ -0,0 +1 @@
|
|||||||
|
target/
|
48
resource-discovery/Dockerfile
Normal file
48
resource-discovery/Dockerfile
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
|
||||||
|
ARG BUILDER_IMAGE=docker.io/library/maven:3.9.5-eclipse-temurin-17
|
||||||
|
ARG RUN_IMAGE=docker.io/library/eclipse-temurin:17.0.8.1_1-jre
|
||||||
|
|
||||||
|
# ----------------- Builder image -----------------
|
||||||
|
FROM docker.io/library/maven:3.9.5-eclipse-temurin-17 as rd-builder
|
||||||
|
ENV BASEDIR /app
|
||||||
|
WORKDIR ${BASEDIR}
|
||||||
|
COPY src ${BASEDIR}/src
|
||||||
|
COPY pom.xml ${BASEDIR}/
|
||||||
|
COPY run.sh ${BASEDIR}/
|
||||||
|
RUN mvn -f ${BASEDIR}/pom.xml -DskipTests clean install && \
|
||||||
|
java -Djarmode=layertools -jar ${BASEDIR}/target/resource-discovery-*.jar extract
|
||||||
|
|
||||||
|
# ----------------- Runtime image -----------------
|
||||||
|
FROM docker.io/library/eclipse-temurin:17.0.8.1_1-jre
|
||||||
|
|
||||||
|
# Setup environment
|
||||||
|
ENV BASEDIR /opt/resource-discovery
|
||||||
|
ENV RD_HOME ${BASEDIR}
|
||||||
|
|
||||||
|
# Install required and optional packages
|
||||||
|
RUN wget --progress=dot:giga -O /usr/local/bin/dumb-init \
|
||||||
|
https://github.com/Yelp/dumb-init/releases/download/v1.2.5/dumb-init_1.2.5_x86_64 && \
|
||||||
|
chmod +x /usr/local/bin/dumb-init
|
||||||
|
|
||||||
|
# Add RD user
|
||||||
|
ARG RD_USER=rd
|
||||||
|
RUN mkdir ${RD_HOME} ; \
|
||||||
|
addgroup ${RD_USER} ; \
|
||||||
|
adduser --home ${RD_HOME} --no-create-home --ingroup ${RD_USER} --disabled-password ${RD_USER} ; \
|
||||||
|
chown ${RD_USER}:${RD_USER} ${RD_HOME}
|
||||||
|
|
||||||
|
# Set User and Workdir
|
||||||
|
USER ${RD_USER}
|
||||||
|
WORKDIR ${BASEDIR}
|
||||||
|
|
||||||
|
# Copy files from builder container
|
||||||
|
COPY --chown=${RD_USER}:${RD_USER} --from=rd-builder /app/dependencies ${BASEDIR}
|
||||||
|
COPY --chown=${RD_USER}:${RD_USER} --from=rd-builder /app/spring-boot-loader ${BASEDIR}
|
||||||
|
COPY --chown=${RD_USER}:${RD_USER} --from=rd-builder /app/snapshot-dependencies ${BASEDIR}
|
||||||
|
COPY --chown=${RD_USER}:${RD_USER} --from=rd-builder /app/application ${BASEDIR}
|
||||||
|
COPY --chown=${RD_USER}:${RD_USER} --from=rd-builder /app/run.sh ${BASEDIR}
|
||||||
|
RUN chmod +x run.sh
|
||||||
|
|
||||||
|
EXPOSE 8080
|
||||||
|
|
||||||
|
ENTRYPOINT ["dumb-init", "./run.sh"]
|
@ -85,6 +85,16 @@
|
|||||||
</dependencyManagement>
|
</dependencyManagement>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
|
||||||
|
<!-- Creating Docker image with BUILDPACKS -->
|
||||||
|
<!--<build>
|
||||||
<plugins>
|
<plugins>
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
@ -106,6 +116,6 @@
|
|||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
</build>
|
</build>-->
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
55
resource-discovery/run.sh
Normal file
55
resource-discovery/run.sh
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Change directory to RD home
|
||||||
|
PREVWORKDIR=`pwd`
|
||||||
|
BASEDIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
|
||||||
|
cd ${BASEDIR}
|
||||||
|
|
||||||
|
# Read JASYPT password (decrypts encrypted configuration settings)
|
||||||
|
#if [[ -z "$JASYPT_PASSWORD" ]]; then
|
||||||
|
# printf "Configuration Password: "
|
||||||
|
# read -s JASYPT_PASSWORD
|
||||||
|
# export JASYPT_PASSWORD
|
||||||
|
#fi
|
||||||
|
# Use this online service to encrypt/decrypt passwords:
|
||||||
|
# https://www.devglan.com/online-tools/jasypt-online-encryption-decryption
|
||||||
|
|
||||||
|
|
||||||
|
# Setup TERM & INT signal handler
|
||||||
|
trap 'echo "Signaling server to exit"; kill -TERM "${pid}"; wait "${pid}"; ' SIGTERM SIGINT
|
||||||
|
|
||||||
|
# Set JRE command and options
|
||||||
|
JRE=/opt/java/openjdk/bin/java
|
||||||
|
#JAVA_ADD_OPENS="--add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util.regex=ALL-UNNAMED --add-opens java.base/sun.nio.cs=ALL-UNNAMED --add-opens java.base/java.nio.charset=ALL-UNNAMED"
|
||||||
|
|
||||||
|
# Set shell encoding to UTF-8 (in order to display banner correctly)
|
||||||
|
export LANG=C.UTF-8
|
||||||
|
|
||||||
|
# Print basic env. info
|
||||||
|
echo "--------------------------------------------------------------------------------"
|
||||||
|
echo "Env. info:"
|
||||||
|
echo "LANG: ${LANG}"
|
||||||
|
echo "USER: $( whoami )"
|
||||||
|
echo "IP address: `hostname -I`"
|
||||||
|
echo "--------------------------------------------------------------------------------"
|
||||||
|
echo "JRE:"
|
||||||
|
${JRE} -version
|
||||||
|
echo "--------------------------------------------------------------------------------"
|
||||||
|
echo "Starting Resource Discovery server..."
|
||||||
|
|
||||||
|
# Run RD server
|
||||||
|
${JRE} \
|
||||||
|
$JAVA_OPTS \
|
||||||
|
$JAVA_ADD_OPENS \
|
||||||
|
-Djasypt.encryptor.password=$JASYPT_PASSWORD \
|
||||||
|
-Djava.security.egd=file:/dev/urandom \
|
||||||
|
org.springframework.boot.loader.JarLauncher \
|
||||||
|
$* &
|
||||||
|
|
||||||
|
# Get PID and wait it to exit
|
||||||
|
pid=$!
|
||||||
|
echo "Pid: $pid"
|
||||||
|
wait $pid
|
||||||
|
echo "Server exited"
|
||||||
|
|
||||||
|
cd $PREVWORKDIR
|
@ -8,15 +8,15 @@
|
|||||||
- nebulous-resource-manager-container-images
|
- nebulous-resource-manager-container-images
|
||||||
description: Build the container images.
|
description: Build the container images.
|
||||||
files: &image_files
|
files: &image_files
|
||||||
- ^java-spring-boot-demo/
|
- ^resource-discovery/
|
||||||
vars: &image_vars
|
vars: &image_vars
|
||||||
promote_container_image_job: nebulous-resource-manager-upload-container-images
|
promote_container_image_job: nebulous-resource-manager-upload-container-images
|
||||||
container_images:
|
container_images:
|
||||||
- context: java-spring-boot-demo
|
- context: resource-discovery
|
||||||
registry: quay.io
|
registry: quay.io
|
||||||
repository: quay.io/nebulous/resource-manager-java-spring-boot-demo
|
repository: quay.io/nebulous/resource-manager
|
||||||
namespace: nebulous
|
namespace: nebulous
|
||||||
repo_shortname: resource-manager-java-spring-boot-demo
|
repo_shortname: resource-manager
|
||||||
repo_description: ""
|
repo_description: ""
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
@ -44,7 +44,7 @@
|
|||||||
description: Run Hadolint on Dockerfile(s).
|
description: Run Hadolint on Dockerfile(s).
|
||||||
vars:
|
vars:
|
||||||
dockerfiles:
|
dockerfiles:
|
||||||
- java-spring-boot-demo/Dockerfile
|
- resource-discovery/Dockerfile
|
||||||
|
|
||||||
- job:
|
- job:
|
||||||
name: nebulous-resource-manager-helm-lint
|
name: nebulous-resource-manager-helm-lint
|
||||||
|
Loading…
Reference in New Issue
Block a user