From e1a5553ac92730c312cc20bf0a199c9c72c8cc5c Mon Sep 17 00:00:00 2001 From: Andreas Dinauer Date: Fri, 6 Jun 2025 19:28:26 +0200 Subject: [PATCH] :wrench: Configure quarkus as default user in docker image --- Dockerfile | 5 +- .../java/dev/dinauer/WorkdirProvider.java | 5 +- .../dev/dinauer/utils/ClientProvider.java | 18 ++++++ src/main/resources/application.properties | 11 +++- src/main/resources/privateKey.pem | 55 ++++++++++--------- src/main/resources/publicKey.pem | 14 ++--- 6 files changed, 69 insertions(+), 39 deletions(-) create mode 100644 src/main/java/dev/dinauer/utils/ClientProvider.java diff --git a/Dockerfile b/Dockerfile index 638123a..5b36019 100644 --- a/Dockerfile +++ b/Dockerfile @@ -90,7 +90,10 @@ COPY --chown=185 target/quarkus-app/app/ /deployments/app/ COPY --chown=185 target/quarkus-app/quarkus/ /deployments/quarkus/ 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_APP_JAR="/deployments/quarkus-run.jar" diff --git a/src/main/java/dev/dinauer/WorkdirProvider.java b/src/main/java/dev/dinauer/WorkdirProvider.java index 57a1023..793c626 100644 --- a/src/main/java/dev/dinauer/WorkdirProvider.java +++ b/src/main/java/dev/dinauer/WorkdirProvider.java @@ -1,9 +1,7 @@ package dev.dinauer; import io.quarkus.runtime.Startup; -import jakarta.annotation.PostConstruct; import jakarta.enterprise.context.ApplicationScoped; -import jakarta.inject.Inject; import org.eclipse.microprofile.config.inject.ConfigProperty; import java.io.IOException; @@ -16,10 +14,11 @@ public class WorkdirProvider { 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); Files.createDirectories(path); + Files.createDirectories(path.resolve("users")); this.workdir = path; } diff --git a/src/main/java/dev/dinauer/utils/ClientProvider.java b/src/main/java/dev/dinauer/utils/ClientProvider.java new file mode 100644 index 0000000..387fae7 --- /dev/null +++ b/src/main/java/dev/dinauer/utils/ClientProvider.java @@ -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() + { + + } +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 724575c..477d51b 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -2,4 +2,13 @@ quarkus.http.cors.enabled=true %dev.quarkus.http.cors.origins=/.*/ %dev.quarkus.http.port=9090 -dev.dinauer.kubooboo.workdir=C:\\Users\\andre\\Documents\\dev\\kubeman\\kubeman\\src\\main\\resources\\dev \ No newline at end of file +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 \ No newline at end of file diff --git a/src/main/resources/privateKey.pem b/src/main/resources/privateKey.pem index 53d5718..82e5e9b 100644 --- a/src/main/resources/privateKey.pem +++ b/src/main/resources/privateKey.pem @@ -1,27 +1,28 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEogIBAAKCAQBnqt3y+OsX2zGUsX/dV7OyHaohkianp4BN4t2GEAUWwTEiGuqP -4WZowfKUcS6KKhMGOEgjYGTHZ+ZJHPHLATarKek/Vxfr4KAuQab3SLCKyjNBgxbW -YTbPPXgLY92Zw5xKfA3xSDHiuAXn6tmCdMrxtC254V2aqzMeLYiSaG6TVWkPgk86 -J99bIjkFwHhOfFXspJY2xw7uZhE4q4R3f66zWq7BX5Cj/Q3Cg2YQW/hMBKD8ey+/ -/rviVFQwKI9yFgJVvzAjWVJ+qZ8GmaIi3nqOyo682DZvWOGUV7bGH86xskQx14SD -mXvpW6f8Y/zme8XDlPlv0DvzF9+qqSTRR6OBAgMBAAECggEAYk4aqKS5Muct7iYf -7YKUKayNv8X7F/Lz7Wfbz5xzZu+OqxvBIO2Kkn6QjYmCq4xYfAZ1Ce8HwjxZmS10 -cKBW+hsFT4ZEbe6Vlye0sDxjBUnXLyGjT2nicsWEh7CM3JotJEjdY9elTqxZFWKU -HmyoYmoNDn6Sp+/+yng9UTDs4pLZvcg1M5w0WGoBXxWWyR+uPyR3oQDS+rP2eu2A -wrzo4FpfLfiUFh3tT2jYVEIMflAwTNdA+JcxvAbHm+7H4vnTzam+3fQBxBXtLFuY -4ME6HKbvVqfJa2MGIyi21kBLt7+PlAKC/IGF2eRnsGi8AfbkBKptrMo3KHfOcFMs -tNYDDQKBgQDGoU5l2fkhBCNiJUum6MJ+mFQLUBxv9mSDnnKcOn90afQ6iO66n3vC -kQjzvIUcfLtH2ZjN5GVh0FbfiOe7YewfiryYWGyF+Is63KawTbnipoNdffcBN7Na -t3lkRsDnEnzj7mrxFwN8leieOlOI0Lkm+IHBiCNmyC5N5PxC+07uLwKBgQCFnAei -On904vuvVNrFM49CPdMZeq+yK62p3XtSyUV/tBiuGED6Z4Hm0Emnq+uEjMDh9BQ0 -nuSKGZmwRcxMmRS41yOcXLf7nGBaHJdW5sTTO8aBrQyItLfQbp3uDsDqIm0y786J -QO2HwRyEzz10aFTSQt2Xpe6eGTU6da05VDhNTwKBgQC3ypBBPDUCMNMQwJPEyIEX -JJo3sZPuoZ2WECnal2JR9KxQ8V18f4/Dk/Ilnd3JYzzjmduDP//zRxTrV8GcqFoV -QYmKqd8ZA8bI21y9q94Bc7P/8Ut56/FgUn7Xo4RhC8FWIsj/dhz6zbdlmXCsGv4H -qlBeJDslorr9xpEI5YK+bwKBgAitOVGvutc8ZlvchtiHoKYMncjpzr8jVwPQ/lFC -AOFqMLAdoxqf3i+/FwlsgL765QvHbgh8yRquzuxDnCDdUBsw3X8qBkiwvxEbCjj6 -g420NA/3zPiTw9wlUtxC2QRbd/v21tLTBJnsUI3PZ45HuDpvXTSb8gMSYAKL4dP3 -RDDBAoGATUsxJcO2ryqt96RrqBX6aLbFKaPu765/meXj6zMuh8PtiRDO0FkOoyj/ -Y5N4q0y9s2rTAHKb9xZq5KlBZs6nSwfQBMLOElF+Q8wnu+CIOWv1ouiRYzTL98R5 -xv+LiahfW2ljtgj8hTkp1Rqy47TLhkj7Gs/5RoRbEmayySHIw5k= ------END RSA PRIVATE KEY----- \ No newline at end of file +-----BEGIN PRIVATE KEY----- +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCWK8UjyoHgPTLa +PLQJ8SoXLLjpHSjtLxMqmzHnFscqhTVVaDpCRCb6e3Ii/WniQTWw8RA7vf4djz4H +OzvlfBFNgvUGZHXDwnmGaNVaNzpHYFMEYBhE8VGGiveSkzqeLZI+Y02G6sQAfDtN +qqzM/l5QX8X34oQFaTBW1r49nftvCpITiwJvWyhkWtXP9RP8sXi1im5Vi3dhupOh +nelk5n0BfajUYIbfHA6ORzjHRbt7NtBl0L2J+0/FUdHyKs6KMlFGNw8O0Dq88qnM +uXoLJiewhg9332W3DFMeOveel+//cvDnRsCRtPgd4sXFPHh+UShkso7+DRsChXa6 +oGGQD3GdAgMBAAECggEAAjfTSZwMHwvIXIDZB+yP+pemg4ryt84iMlbofclQV8hv +6TsI4UGwcbKxFOM5VSYxbNOisb80qasb929gixsyBjsQ8284bhPJR7r0q8h1C+jY +URA6S4pk8d/LmFakXwG9Tz6YPo3pJziuh48lzkFTk0xW2Dp4SLwtAptZY/+ZXyJ6 +96QXDrZKSSM99Jh9s7a0ST66WoxSS0UC51ak+Keb0KJ1jz4bIJ2C3r4rYlSu4hHB +Y73GfkWORtQuyUDa9yDOem0/z0nr6pp+pBSXPLHADsqvZiIhxD/O0Xk5I6/zVHB3 +zuoQqLERk0WvA8FXz2o8AYwcQRY2g30eX9kU4uDQAQKBgQDmf7KGImUGitsEPepF +KH5yLWYWqghHx6wfV+fdbBxoqn9WlwcQ7JbynIiVx8MX8/1lLCCe8v41ypu/eLtP +iY1ev2IKdrUStvYRSsFigRkuPHUo1ajsGHQd+ucTDf58mn7kRLW1JGMeGxo/t32B +m96Af6AiPWPEJuVfgGV0iwg+HQKBgQCmyPzL9M2rhYZn1AozRUguvlpmJHU2DpqS +34Q+7x2Ghf7MgBUhqE0t3FAOxEC7IYBwHmeYOvFR8ZkVRKNF4gbnF9RtLdz0DMEG +5qsMnvJUSQbNB1yVjUCnDAtElqiFRlQ/k0LgYkjKDY7LfciZl9uJRl0OSYeX/qG2 +tRW09tOpgQKBgBSGkpM3RN/MRayfBtmZvYjVWh3yjkI2GbHA1jj1g6IebLB9SnfL +WbXJErCj1U+wvoPf5hfBc7m+jRgD3Eo86YXibQyZfY5pFIh9q7Ll5CQl5hj4zc4Y +b16sFR+xQ1Q9Pcd+BuBWmSz5JOE/qcF869dthgkGhnfVLt/OQzqZluZRAoGAXQ09 +nT0TkmKIvlza5Af/YbTqEpq8mlBDhTYXPlWCD4+qvMWpBII1rSSBtftgcgca9XLB +MXmRMbqtQeRtg4u7dishZVh1MeP7vbHsNLppUQT9Ol6lFPsd2xUpJDc6BkFat62d +Xjr3iWNPC9E9nhPPdCNBv7reX7q81obpeXFMXgECgYEAmk2Qlus3OV0tfoNRqNpe +Mb0teduf2+h3xaI1XDIzPVtZF35ELY/RkAHlmWRT4PCdR0zXDidE67L6XdJyecSt +FdOUH8z5qUraVVebRFvJqf/oGsXc4+ex1ZKUTbY0wqY1y9E39yvB3MaTmZFuuqk8 +f3cg+fr8aou7pr9SHhJlZCU= +-----END PRIVATE KEY----- \ No newline at end of file diff --git a/src/main/resources/publicKey.pem b/src/main/resources/publicKey.pem index 871c3b4..12a18c1 100644 --- a/src/main/resources/publicKey.pem +++ b/src/main/resources/publicKey.pem @@ -1,9 +1,9 @@ -----BEGIN PUBLIC KEY----- -MIIBITANBgkqhkiG9w0BAQEFAAOCAQ4AMIIBCQKCAQBnqt3y+OsX2zGUsX/dV7Oy -Haohkianp4BN4t2GEAUWwTEiGuqP4WZowfKUcS6KKhMGOEgjYGTHZ+ZJHPHLATar -Kek/Vxfr4KAuQab3SLCKyjNBgxbWYTbPPXgLY92Zw5xKfA3xSDHiuAXn6tmCdMrx -tC254V2aqzMeLYiSaG6TVWkPgk86J99bIjkFwHhOfFXspJY2xw7uZhE4q4R3f66z -Wq7BX5Cj/Q3Cg2YQW/hMBKD8ey+//rviVFQwKI9yFgJVvzAjWVJ+qZ8GmaIi3nqO -yo682DZvWOGUV7bGH86xskQx14SDmXvpW6f8Y/zme8XDlPlv0DvzF9+qqSTRR6OB -AgMBAAE= +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlivFI8qB4D0y2jy0CfEq +Fyy46R0o7S8TKpsx5xbHKoU1VWg6QkQm+ntyIv1p4kE1sPEQO73+HY8+Bzs75XwR +TYL1BmR1w8J5hmjVWjc6R2BTBGAYRPFRhor3kpM6ni2SPmNNhurEAHw7TaqszP5e +UF/F9+KEBWkwVta+PZ37bwqSE4sCb1soZFrVz/UT/LF4tYpuVYt3YbqToZ3pZOZ9 +AX2o1GCG3xwOjkc4x0W7ezbQZdC9iftPxVHR8irOijJRRjcPDtA6vPKpzLl6CyYn +sIYPd99ltwxTHjr3npfv/3Lw50bAkbT4HeLFxTx4flEoZLKO/g0bAoV2uqBhkA9x +nQIDAQAB -----END PUBLIC KEY----- \ No newline at end of file