🔧 Configure quarkus as default user in docker image

This commit is contained in:
Andreas Dinauer 2025-06-06 19:28:26 +02:00
parent 15859815bc
commit e1a5553ac9
6 changed files with 69 additions and 39 deletions

View File

@ -90,7 +90,10 @@ COPY --chown=185 target/quarkus-app/app/ /deployments/app/
COPY --chown=185 target/quarkus-app/quarkus/ /deployments/quarkus/ COPY --chown=185 target/quarkus-app/quarkus/ /deployments/quarkus/
EXPOSE 8080 EXPOSE 8080
USER 185
RUN useradd -u 185 -m quarkus
USER quarkus
ENV JAVA_OPTS_APPEND="-Dquarkus.http.host=0.0.0.0 -Djava.util.logging.manager=org.jboss.logmanager.LogManager" ENV JAVA_OPTS_APPEND="-Dquarkus.http.host=0.0.0.0 -Djava.util.logging.manager=org.jboss.logmanager.LogManager"
ENV JAVA_APP_JAR="/deployments/quarkus-run.jar" ENV JAVA_APP_JAR="/deployments/quarkus-run.jar"

View File

@ -1,9 +1,7 @@
package dev.dinauer; package dev.dinauer;
import io.quarkus.runtime.Startup; import io.quarkus.runtime.Startup;
import jakarta.annotation.PostConstruct;
import jakarta.enterprise.context.ApplicationScoped; import jakarta.enterprise.context.ApplicationScoped;
import jakarta.inject.Inject;
import org.eclipse.microprofile.config.inject.ConfigProperty; import org.eclipse.microprofile.config.inject.ConfigProperty;
import java.io.IOException; import java.io.IOException;
@ -16,10 +14,11 @@ public class WorkdirProvider
{ {
private final Path workdir; private final Path workdir;
public WorkdirProvider(@ConfigProperty(name = "dev.dinauer.kubooboo.workdir") String workdir) throws IOException public WorkdirProvider(@ConfigProperty(name = "dev.dinauer.kubooboo.work.dir") String workdir) throws IOException
{ {
Path path = Path.of(workdir); Path path = Path.of(workdir);
Files.createDirectories(path); Files.createDirectories(path);
Files.createDirectories(path.resolve("users"));
this.workdir = path; this.workdir = path;
} }

View File

@ -0,0 +1,18 @@
package dev.dinauer.utils;
import jakarta.enterprise.context.ApplicationScoped;
import org.eclipse.microprofile.config.inject.ConfigProperty;
import java.util.List;
@ApplicationScoped
public class ClientProvider
{
@ConfigProperty(name = "dev.dinauer.kobooboo.kubeconfigs.dir")
String configDir;
public void getClient()
{
}
}

View File

@ -2,4 +2,13 @@ quarkus.http.cors.enabled=true
%dev.quarkus.http.cors.origins=/.*/ %dev.quarkus.http.cors.origins=/.*/
%dev.quarkus.http.port=9090 %dev.quarkus.http.port=9090
dev.dinauer.kubooboo.workdir=C:\\Users\\andre\\Documents\\dev\\kubeman\\kubeman\\src\\main\\resources\\dev dev.dinauer.kobooboo.kubeconfigs.dir=/var/lib/kubooboo/configs
dev.dinauer.kubooboo.work.dir=/var/lib/kubooboo/work
%dev.dev.dinauer.kubooboo.workdir=C:\\Users\\andre\\Documents\\dev\\kubeman\\backend\\src\\main\\resources\\dev
# Keys
%prod.smallrye.jwt.sign.key.location=/etc/kubooboo/keys/privateKey.pem
%prod.mp.jwt.verify.publickey.location=/etc/kubooboo/keys/publicKey.pem
# Keys Dev
%dev.smallrye.jwt.sign.key.location=privateKey.pem
%dev.mp.jwt.verify.publickey.location=publicKey.pem

View File

@ -1,27 +1,28 @@
-----BEGIN RSA PRIVATE KEY----- -----BEGIN PRIVATE KEY-----
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
-----END RSA PRIVATE KEY----- f3cg+fr8aou7pr9SHhJlZCU=
-----END PRIVATE KEY-----

View File

@ -1,9 +1,9 @@
-----BEGIN PUBLIC KEY----- -----BEGIN PUBLIC KEY-----
MIIBITANBgkqhkiG9w0BAQEFAAOCAQ4AMIIBCQKCAQBnqt3y+OsX2zGUsX/dV7Oy MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlivFI8qB4D0y2jy0CfEq
Haohkianp4BN4t2GEAUWwTEiGuqP4WZowfKUcS6KKhMGOEgjYGTHZ+ZJHPHLATar Fyy46R0o7S8TKpsx5xbHKoU1VWg6QkQm+ntyIv1p4kE1sPEQO73+HY8+Bzs75XwR
Kek/Vxfr4KAuQab3SLCKyjNBgxbWYTbPPXgLY92Zw5xKfA3xSDHiuAXn6tmCdMrx TYL1BmR1w8J5hmjVWjc6R2BTBGAYRPFRhor3kpM6ni2SPmNNhurEAHw7TaqszP5e
tC254V2aqzMeLYiSaG6TVWkPgk86J99bIjkFwHhOfFXspJY2xw7uZhE4q4R3f66z UF/F9+KEBWkwVta+PZ37bwqSE4sCb1soZFrVz/UT/LF4tYpuVYt3YbqToZ3pZOZ9
Wq7BX5Cj/Q3Cg2YQW/hMBKD8ey+//rviVFQwKI9yFgJVvzAjWVJ+qZ8GmaIi3nqO AX2o1GCG3xwOjkc4x0W7ezbQZdC9iftPxVHR8irOijJRRjcPDtA6vPKpzLl6CyYn
yo682DZvWOGUV7bGH86xskQx14SDmXvpW6f8Y/zme8XDlPlv0DvzF9+qqSTRR6OB sIYPd99ltwxTHjr3npfv/3Lw50bAkbT4HeLFxTx4flEoZLKO/g0bAoV2uqBhkA9x
AgMBAAE= nQIDAQAB
-----END PUBLIC KEY----- -----END PUBLIC KEY-----