diff --git a/.github/workflows/label.yml b/.github/workflows/label.yml index 6535a06..66d312c 100644 --- a/.github/workflows/label.yml +++ b/.github/workflows/label.yml @@ -19,5 +19,5 @@ jobs: steps: - uses: actions/labeler@v5 with: - repo-token: "${{ secrets.GITHUB_TOKEN }}" + repo-token: "${{ secrets.PAT }}" sync-labels: true diff --git a/spring-kafka-example/.dockerignore b/spring-kafka-example/.dockerignore new file mode 100644 index 0000000..8893889 --- /dev/null +++ b/spring-kafka-example/.dockerignore @@ -0,0 +1,62 @@ +# Include any files or directories that you don't want to be copied to your +# container here (e.g., local build artifacts, temporary files, etc.). +# +# For more help, visit the .dockerignore file reference guide at +# https://docs.docker.com/go/build-context-dockerignore/ + +**/.DS_Store +**/.classpath +**/.dockerignore +**/.env +**/.factorypath +**/.git +**/.gitignore +**/.idea +**/.project +**/.sts4-cache +**/.settings +**/.toolstarget +**/.vs +**/.vscode +**/.next +**/.cache +**/*.dbmdl +**/*.jfm +**/charts +**/docker-compose* +**/compose.y*ml +**/Dockerfile* +**/secrets.dev.yaml +**/values.dev.yaml +**/vendor +LICENSE +README.md +**/*.class +**/*.iml +**/*.ipr +**/*.iws +**/*.log +**/.apt_generated +**/.gradle +**/.gradletasknamecache +**/.nb-gradle +**/.springBeans +**/build +**/dist +**/gradle-app.setting +**/nbbuild +**/nbdist +**/nbproject/private +**/target +*.ctxt +.mtj.tmp +.mvn/timing.properties +buildNumber.properties +dependency-reduced-pom.xml +hs_err_pid* +pom.xml.next +pom.xml.releaseBackup +pom.xml.tag +pom.xml.versionsBackup +release.properties +replay_pid* \ No newline at end of file diff --git a/spring-kafka-example/Dockerfile b/spring-kafka-example/Dockerfile new file mode 100644 index 0000000..413ca36 --- /dev/null +++ b/spring-kafka-example/Dockerfile @@ -0,0 +1,47 @@ +FROM eclipse-temurin:21-jdk-jammy as deps + +WORKDIR /build + +COPY --chmod=0755 mvnw mvnw +COPY .mvn/ .mvn/ + +RUN --mount=type=bind,source=pom.xml,target=pom.xml \ + --mount=type=cache,target=/root/.m2 ./mvnw dependency:go-offline -DskipTests + +FROM deps as package + +WORKDIR /build + +COPY ./src src/ +RUN --mount=type=bind,source=pom.xml,target=pom.xml \ + --mount=type=cache,target=/root/.m2 \ + ./mvnw package -DskipTests && \ + mv target/$(./mvnw help:evaluate -Dexpression=project.artifactId -q -DforceStdout)-$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout).jar target/app.jar + +FROM package as extract + +WORKDIR /build + +RUN java -Djarmode=layertools -jar target/app.jar extract --destination target/extracted + +FROM eclipse-temurin:21-jre-jammy AS final + +ARG UID=10001 +RUN adduser \ + --disabled-password \ + --gecos "" \ + --home "/nonexistent" \ + --shell "/sbin/nologin" \ + --no-create-home \ + --uid "${UID}" \ + appuser +USER appuser + +COPY --from=extract build/target/extracted/dependencies/ ./ +COPY --from=extract build/target/extracted/spring-boot-loader/ ./ +COPY --from=extract build/target/extracted/snapshot-dependencies/ ./ +COPY --from=extract build/target/extracted/application/ ./ + +EXPOSE 80 + +ENTRYPOINT [ "java", "org.springframework.boot.loader.launch.JarLauncher" ] diff --git a/spring-kafka-example/compose.yaml b/spring-kafka-example/compose.yaml new file mode 100644 index 0000000..61ef447 --- /dev/null +++ b/spring-kafka-example/compose.yaml @@ -0,0 +1,10 @@ +services: + server: + build: + context: . + ports: + - "80:80" + environment: + SERVER_PORT: "80" + SPRING_PROFILES_ACTIVE: "default" + diff --git a/spring-kafka-example/src/main/resources/application-dev.yml b/spring-kafka-example/src/main/resources/application-dev.yml new file mode 100644 index 0000000..68f4259 --- /dev/null +++ b/spring-kafka-example/src/main/resources/application-dev.yml @@ -0,0 +1,9 @@ +spring: + + application: + name: spring-kafka-example-dev + +logging: + + pattern: + console: "%d{yyyy-MM-dd'T'HH:mm:ss} | ${spring.application.name} | %class{30} | %level | %m%n" \ No newline at end of file diff --git a/spring-kafka-example/src/main/resources/application.yml b/spring-kafka-example/src/main/resources/application.yml index 2c793f3..faf30f6 100644 --- a/spring-kafka-example/src/main/resources/application.yml +++ b/spring-kafka-example/src/main/resources/application.yml @@ -1,7 +1,7 @@ spring: application: - name: spring-kafka-example + name: spring-kafka-example-prd logging: