Quarkus demo 1.
This commit is contained in:
97
src/main/docker/Dockerfile.jvm
Normal file
97
src/main/docker/Dockerfile.jvm
Normal file
@@ -0,0 +1,97 @@
|
||||
####
|
||||
# This Dockerfile is used in order to build a container that runs the Quarkus application in JVM mode
|
||||
#
|
||||
# Before building the container image run:
|
||||
#
|
||||
# ./mvnw package
|
||||
#
|
||||
# Then, build the image with:
|
||||
#
|
||||
# docker build -f src/main/docker/Dockerfile.jvm -t quarkus/tracker-jvm .
|
||||
#
|
||||
# Then run the container using:
|
||||
#
|
||||
# docker run -i --rm -p 8080:8080 quarkus/tracker-jvm
|
||||
#
|
||||
# If you want to include the debug port into your docker image
|
||||
# you will have to expose the debug port (default 5005 being the default) like this : EXPOSE 8080 5005.
|
||||
# Additionally you will have to set -e JAVA_DEBUG=true and -e JAVA_DEBUG_PORT=*:5005
|
||||
# when running the container
|
||||
#
|
||||
# Then run the container using :
|
||||
#
|
||||
# docker run -i --rm -p 8080:8080 quarkus/tracker-jvm
|
||||
#
|
||||
# This image uses the `run-java.sh` script to run the application.
|
||||
# This scripts computes the command line to execute your Java application, and
|
||||
# includes memory/GC tuning.
|
||||
# You can configure the behavior using the following environment properties:
|
||||
# - JAVA_OPTS: JVM options passed to the `java` command (example: "-verbose:class")
|
||||
# - JAVA_OPTS_APPEND: User specified Java options to be appended to generated options
|
||||
# in JAVA_OPTS (example: "-Dsome.property=foo")
|
||||
# - JAVA_MAX_MEM_RATIO: Is used when no `-Xmx` option is given in JAVA_OPTS. This is
|
||||
# used to calculate a default maximal heap memory based on a containers restriction.
|
||||
# If used in a container without any memory constraints for the container then this
|
||||
# option has no effect. If there is a memory constraint then `-Xmx` is set to a ratio
|
||||
# of the container available memory as set here. The default is `50` which means 50%
|
||||
# of the available memory is used as an upper boundary. You can skip this mechanism by
|
||||
# setting this value to `0` in which case no `-Xmx` option is added.
|
||||
# - JAVA_INITIAL_MEM_RATIO: Is used when no `-Xms` option is given in JAVA_OPTS. This
|
||||
# is used to calculate a default initial heap memory based on the maximum heap memory.
|
||||
# If used in a container without any memory constraints for the container then this
|
||||
# option has no effect. If there is a memory constraint then `-Xms` is set to a ratio
|
||||
# of the `-Xmx` memory as set here. The default is `25` which means 25% of the `-Xmx`
|
||||
# is used as the initial heap size. You can skip this mechanism by setting this value
|
||||
# to `0` in which case no `-Xms` option is added (example: "25")
|
||||
# - JAVA_MAX_INITIAL_MEM: Is used when no `-Xms` option is given in JAVA_OPTS.
|
||||
# This is used to calculate the maximum value of the initial heap memory. If used in
|
||||
# a container without any memory constraints for the container then this option has
|
||||
# no effect. If there is a memory constraint then `-Xms` is limited to the value set
|
||||
# here. The default is 4096MB which means the calculated value of `-Xms` never will
|
||||
# be greater than 4096MB. The value of this variable is expressed in MB (example: "4096")
|
||||
# - JAVA_DIAGNOSTICS: Set this to get some diagnostics information to standard output
|
||||
# when things are happening. This option, if set to true, will set
|
||||
# `-XX:+UnlockDiagnosticVMOptions`. Disabled by default (example: "true").
|
||||
# - JAVA_DEBUG: If set remote debugging will be switched on. Disabled by default (example:
|
||||
# true").
|
||||
# - JAVA_DEBUG_PORT: Port used for remote debugging. Defaults to 5005 (example: "8787").
|
||||
# - CONTAINER_CORE_LIMIT: A calculated core limit as described in
|
||||
# https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt. (example: "2")
|
||||
# - CONTAINER_MAX_MEMORY: Memory limit given to the container (example: "1024").
|
||||
# - GC_MIN_HEAP_FREE_RATIO: Minimum percentage of heap free after GC to avoid expansion.
|
||||
# (example: "20")
|
||||
# - GC_MAX_HEAP_FREE_RATIO: Maximum percentage of heap free after GC to avoid shrinking.
|
||||
# (example: "40")
|
||||
# - GC_TIME_RATIO: Specifies the ratio of the time spent outside the garbage collection.
|
||||
# (example: "4")
|
||||
# - GC_ADAPTIVE_SIZE_POLICY_WEIGHT: The weighting given to the current GC time versus
|
||||
# previous GC times. (example: "90")
|
||||
# - GC_METASPACE_SIZE: The initial metaspace size. (example: "20")
|
||||
# - GC_MAX_METASPACE_SIZE: The maximum metaspace size. (example: "100")
|
||||
# - GC_CONTAINER_OPTIONS: Specify Java GC to use. The value of this variable should
|
||||
# contain the necessary JRE command-line options to specify the required GC, which
|
||||
# will override the default of `-XX:+UseParallelGC` (example: -XX:+UseG1GC).
|
||||
# - HTTPS_PROXY: The location of the https proxy. (example: "myuser@127.0.0.1:8080")
|
||||
# - HTTP_PROXY: The location of the http proxy. (example: "myuser@127.0.0.1:8080")
|
||||
# - NO_PROXY: A comma separated lists of hosts, IP addresses or domains that can be
|
||||
# accessed directly. (example: "foo.example.com,bar.example.com")
|
||||
#
|
||||
###
|
||||
FROM registry.access.redhat.com/ubi8/openjdk-21:1.20
|
||||
|
||||
ENV LANGUAGE='en_US:en'
|
||||
|
||||
|
||||
# We make four distinct layers so if there are application changes the library layers can be re-used
|
||||
COPY --chown=185 target/quarkus-app/lib/ /deployments/lib/
|
||||
COPY --chown=185 target/quarkus-app/*.jar /deployments/
|
||||
COPY --chown=185 target/quarkus-app/app/ /deployments/app/
|
||||
COPY --chown=185 target/quarkus-app/quarkus/ /deployments/quarkus/
|
||||
|
||||
EXPOSE 8080
|
||||
USER 185
|
||||
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"
|
||||
|
||||
ENTRYPOINT [ "/opt/jboss/container/java/run/run-java.sh" ]
|
||||
|
||||
93
src/main/docker/Dockerfile.legacy-jar
Normal file
93
src/main/docker/Dockerfile.legacy-jar
Normal file
@@ -0,0 +1,93 @@
|
||||
####
|
||||
# This Dockerfile is used in order to build a container that runs the Quarkus application in JVM mode
|
||||
#
|
||||
# Before building the container image run:
|
||||
#
|
||||
# ./mvnw package -Dquarkus.package.jar.type=legacy-jar
|
||||
#
|
||||
# Then, build the image with:
|
||||
#
|
||||
# docker build -f src/main/docker/Dockerfile.legacy-jar -t quarkus/tracker-legacy-jar .
|
||||
#
|
||||
# Then run the container using:
|
||||
#
|
||||
# docker run -i --rm -p 8080:8080 quarkus/tracker-legacy-jar
|
||||
#
|
||||
# If you want to include the debug port into your docker image
|
||||
# you will have to expose the debug port (default 5005 being the default) like this : EXPOSE 8080 5005.
|
||||
# Additionally you will have to set -e JAVA_DEBUG=true and -e JAVA_DEBUG_PORT=*:5005
|
||||
# when running the container
|
||||
#
|
||||
# Then run the container using :
|
||||
#
|
||||
# docker run -i --rm -p 8080:8080 quarkus/tracker-legacy-jar
|
||||
#
|
||||
# This image uses the `run-java.sh` script to run the application.
|
||||
# This scripts computes the command line to execute your Java application, and
|
||||
# includes memory/GC tuning.
|
||||
# You can configure the behavior using the following environment properties:
|
||||
# - JAVA_OPTS: JVM options passed to the `java` command (example: "-verbose:class")
|
||||
# - JAVA_OPTS_APPEND: User specified Java options to be appended to generated options
|
||||
# in JAVA_OPTS (example: "-Dsome.property=foo")
|
||||
# - JAVA_MAX_MEM_RATIO: Is used when no `-Xmx` option is given in JAVA_OPTS. This is
|
||||
# used to calculate a default maximal heap memory based on a containers restriction.
|
||||
# If used in a container without any memory constraints for the container then this
|
||||
# option has no effect. If there is a memory constraint then `-Xmx` is set to a ratio
|
||||
# of the container available memory as set here. The default is `50` which means 50%
|
||||
# of the available memory is used as an upper boundary. You can skip this mechanism by
|
||||
# setting this value to `0` in which case no `-Xmx` option is added.
|
||||
# - JAVA_INITIAL_MEM_RATIO: Is used when no `-Xms` option is given in JAVA_OPTS. This
|
||||
# is used to calculate a default initial heap memory based on the maximum heap memory.
|
||||
# If used in a container without any memory constraints for the container then this
|
||||
# option has no effect. If there is a memory constraint then `-Xms` is set to a ratio
|
||||
# of the `-Xmx` memory as set here. The default is `25` which means 25% of the `-Xmx`
|
||||
# is used as the initial heap size. You can skip this mechanism by setting this value
|
||||
# to `0` in which case no `-Xms` option is added (example: "25")
|
||||
# - JAVA_MAX_INITIAL_MEM: Is used when no `-Xms` option is given in JAVA_OPTS.
|
||||
# This is used to calculate the maximum value of the initial heap memory. If used in
|
||||
# a container without any memory constraints for the container then this option has
|
||||
# no effect. If there is a memory constraint then `-Xms` is limited to the value set
|
||||
# here. The default is 4096MB which means the calculated value of `-Xms` never will
|
||||
# be greater than 4096MB. The value of this variable is expressed in MB (example: "4096")
|
||||
# - JAVA_DIAGNOSTICS: Set this to get some diagnostics information to standard output
|
||||
# when things are happening. This option, if set to true, will set
|
||||
# `-XX:+UnlockDiagnosticVMOptions`. Disabled by default (example: "true").
|
||||
# - JAVA_DEBUG: If set remote debugging will be switched on. Disabled by default (example:
|
||||
# true").
|
||||
# - JAVA_DEBUG_PORT: Port used for remote debugging. Defaults to 5005 (example: "8787").
|
||||
# - CONTAINER_CORE_LIMIT: A calculated core limit as described in
|
||||
# https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt. (example: "2")
|
||||
# - CONTAINER_MAX_MEMORY: Memory limit given to the container (example: "1024").
|
||||
# - GC_MIN_HEAP_FREE_RATIO: Minimum percentage of heap free after GC to avoid expansion.
|
||||
# (example: "20")
|
||||
# - GC_MAX_HEAP_FREE_RATIO: Maximum percentage of heap free after GC to avoid shrinking.
|
||||
# (example: "40")
|
||||
# - GC_TIME_RATIO: Specifies the ratio of the time spent outside the garbage collection.
|
||||
# (example: "4")
|
||||
# - GC_ADAPTIVE_SIZE_POLICY_WEIGHT: The weighting given to the current GC time versus
|
||||
# previous GC times. (example: "90")
|
||||
# - GC_METASPACE_SIZE: The initial metaspace size. (example: "20")
|
||||
# - GC_MAX_METASPACE_SIZE: The maximum metaspace size. (example: "100")
|
||||
# - GC_CONTAINER_OPTIONS: Specify Java GC to use. The value of this variable should
|
||||
# contain the necessary JRE command-line options to specify the required GC, which
|
||||
# will override the default of `-XX:+UseParallelGC` (example: -XX:+UseG1GC).
|
||||
# - HTTPS_PROXY: The location of the https proxy. (example: "myuser@127.0.0.1:8080")
|
||||
# - HTTP_PROXY: The location of the http proxy. (example: "myuser@127.0.0.1:8080")
|
||||
# - NO_PROXY: A comma separated lists of hosts, IP addresses or domains that can be
|
||||
# accessed directly. (example: "foo.example.com,bar.example.com")
|
||||
#
|
||||
###
|
||||
FROM registry.access.redhat.com/ubi8/openjdk-21:1.20
|
||||
|
||||
ENV LANGUAGE='en_US:en'
|
||||
|
||||
|
||||
COPY target/lib/* /deployments/lib/
|
||||
COPY target/*-runner.jar /deployments/quarkus-run.jar
|
||||
|
||||
EXPOSE 8080
|
||||
USER 185
|
||||
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"
|
||||
|
||||
ENTRYPOINT [ "/opt/jboss/container/java/run/run-java.sh" ]
|
||||
27
src/main/docker/Dockerfile.native
Normal file
27
src/main/docker/Dockerfile.native
Normal file
@@ -0,0 +1,27 @@
|
||||
####
|
||||
# This Dockerfile is used in order to build a container that runs the Quarkus application in native (no JVM) mode.
|
||||
#
|
||||
# Before building the container image run:
|
||||
#
|
||||
# ./mvnw package -Dnative
|
||||
#
|
||||
# Then, build the image with:
|
||||
#
|
||||
# docker build -f src/main/docker/Dockerfile.native -t quarkus/tracker .
|
||||
#
|
||||
# Then run the container using:
|
||||
#
|
||||
# docker run -i --rm -p 8080:8080 quarkus/tracker
|
||||
#
|
||||
###
|
||||
FROM registry.access.redhat.com/ubi8/ubi-minimal:8.10
|
||||
WORKDIR /work/
|
||||
RUN chown 1001 /work \
|
||||
&& chmod "g+rwX" /work \
|
||||
&& chown 1001:root /work
|
||||
COPY --chown=1001:root target/*-runner /work/application
|
||||
|
||||
EXPOSE 8080
|
||||
USER 1001
|
||||
|
||||
ENTRYPOINT ["./application", "-Dquarkus.http.host=0.0.0.0"]
|
||||
30
src/main/docker/Dockerfile.native-micro
Normal file
30
src/main/docker/Dockerfile.native-micro
Normal file
@@ -0,0 +1,30 @@
|
||||
####
|
||||
# This Dockerfile is used in order to build a container that runs the Quarkus application in native (no JVM) mode.
|
||||
# It uses a micro base image, tuned for Quarkus native executables.
|
||||
# It reduces the size of the resulting container image.
|
||||
# Check https://quarkus.io/guides/quarkus-runtime-base-image for further information about this image.
|
||||
#
|
||||
# Before building the container image run:
|
||||
#
|
||||
# ./mvnw package -Dnative
|
||||
#
|
||||
# Then, build the image with:
|
||||
#
|
||||
# docker build -f src/main/docker/Dockerfile.native-micro -t quarkus/tracker .
|
||||
#
|
||||
# Then run the container using:
|
||||
#
|
||||
# docker run -i --rm -p 8080:8080 quarkus/tracker
|
||||
#
|
||||
###
|
||||
FROM quay.io/quarkus/quarkus-micro-image:2.0
|
||||
WORKDIR /work/
|
||||
RUN chown 1001 /work \
|
||||
&& chmod "g+rwX" /work \
|
||||
&& chown 1001:root /work
|
||||
COPY --chown=1001:root target/*-runner /work/application
|
||||
|
||||
EXPOSE 8080
|
||||
USER 1001
|
||||
|
||||
ENTRYPOINT ["./application", "-Dquarkus.http.host=0.0.0.0"]
|
||||
28
src/main/java/nunnink/dev/entity/Task.java
Normal file
28
src/main/java/nunnink/dev/entity/Task.java
Normal file
@@ -0,0 +1,28 @@
|
||||
package nunnink.dev.entity;
|
||||
|
||||
import io.quarkus.hibernate.orm.panache.PanacheEntity;
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Table;
|
||||
|
||||
/**
|
||||
* A task user wants to execute and track time for.
|
||||
*/
|
||||
@Table(name="Taak")
|
||||
public class Task extends PanacheEntity {
|
||||
@Column(name="naam")
|
||||
String name;
|
||||
@Column(name="gebruikersId")
|
||||
Long userid;
|
||||
|
||||
/**
|
||||
* Create a new task
|
||||
* @param name the descriptive name of this task
|
||||
* @param user the user who owns this task
|
||||
*/
|
||||
public static void create(String name, User user) {
|
||||
Task t = new Task();
|
||||
t.name = name;
|
||||
t.userid = user.id;
|
||||
t.persist();
|
||||
}
|
||||
}
|
||||
41
src/main/java/nunnink/dev/entity/User.java
Normal file
41
src/main/java/nunnink/dev/entity/User.java
Normal file
@@ -0,0 +1,41 @@
|
||||
package nunnink.dev.entity;
|
||||
|
||||
import io.quarkus.elytron.security.common.BcryptUtil;
|
||||
import io.quarkus.hibernate.orm.panache.PanacheEntity;
|
||||
import io.quarkus.security.jpa.Password;
|
||||
import io.quarkus.security.jpa.Roles;
|
||||
import io.quarkus.security.jpa.UserDefinition;
|
||||
import io.quarkus.security.jpa.Username;
|
||||
import jakarta.persistence.Column;
|
||||
import jakarta.persistence.Entity;
|
||||
import jakarta.persistence.Table;
|
||||
|
||||
@UserDefinition @Entity
|
||||
@Table(name = "Gebruiker")
|
||||
/**
|
||||
* A user in the tracker application, used both for authentication and creating timeregistrations/tasks.
|
||||
*/
|
||||
public class User extends PanacheEntity {
|
||||
@Username @Column(name = "naam")
|
||||
private String name;
|
||||
|
||||
@Password @Column(name = "wachtwoord")
|
||||
private String password;
|
||||
|
||||
@Roles @Column(name = "rol")
|
||||
private String role;
|
||||
|
||||
/**
|
||||
* Adds a new user to the database
|
||||
* @param username the username
|
||||
* @param password the unencrypted password (it is encrypted with bcrypt)
|
||||
* @param role the comma-separated roles
|
||||
*/
|
||||
public static void create(String username, String password, String role) {
|
||||
User user = new User();
|
||||
user.name = username;
|
||||
user.password = BcryptUtil.bcryptHash(password);
|
||||
user.role = role;
|
||||
user.persist();
|
||||
}
|
||||
}
|
||||
11
src/main/java/nunnink/dev/repository/UserRepository.java
Normal file
11
src/main/java/nunnink/dev/repository/UserRepository.java
Normal file
@@ -0,0 +1,11 @@
|
||||
package nunnink.dev.repository;
|
||||
|
||||
import java.util.stream.Stream;
|
||||
import io.quarkus.hibernate.orm.panache.PanacheRepository;
|
||||
import nunnink.dev.entity.User;
|
||||
|
||||
public class UserRepository implements PanacheRepository<User> {
|
||||
/*public Stream<User> findBy(String query) {
|
||||
return find("author like :query or title like :query", with("query", "%"+query+"%")).stream();
|
||||
}*/
|
||||
}
|
||||
21
src/main/java/nunnink/dev/resource/HelloGraphQLResource.java
Normal file
21
src/main/java/nunnink/dev/resource/HelloGraphQLResource.java
Normal file
@@ -0,0 +1,21 @@
|
||||
package nunnink.dev.resource;
|
||||
|
||||
import org.eclipse.microprofile.graphql.DefaultValue;
|
||||
import org.eclipse.microprofile.graphql.Description;
|
||||
import org.eclipse.microprofile.graphql.GraphQLApi;
|
||||
import org.eclipse.microprofile.graphql.Query;
|
||||
|
||||
@GraphQLApi
|
||||
public class HelloGraphQLResource {
|
||||
|
||||
@Query
|
||||
@Description("Say hello")
|
||||
/**
|
||||
* Simple hello world.
|
||||
* @param name
|
||||
* @return "Hello <name>"
|
||||
*/
|
||||
public String sayHello(@DefaultValue("World") String name) {
|
||||
return "Hello " + name;
|
||||
}
|
||||
}
|
||||
53
src/main/java/nunnink/dev/resource/TaskResource.java
Normal file
53
src/main/java/nunnink/dev/resource/TaskResource.java
Normal file
@@ -0,0 +1,53 @@
|
||||
package nunnink.dev.resource;
|
||||
|
||||
import org.eclipse.microprofile.graphql.Description;
|
||||
import org.eclipse.microprofile.graphql.GraphQLApi;
|
||||
import org.eclipse.microprofile.graphql.Mutation;
|
||||
import org.eclipse.microprofile.graphql.Name;
|
||||
import org.eclipse.microprofile.graphql.Query;
|
||||
|
||||
import jakarta.annotation.security.RolesAllowed;
|
||||
import nunnink.dev.entity.Task;
|
||||
|
||||
@GraphQLApi
|
||||
/**
|
||||
* The graphql resource to manage tasks.
|
||||
*/
|
||||
public class TaskResource {
|
||||
@Mutation
|
||||
@RolesAllowed("user")
|
||||
@Description("Create a new task")
|
||||
/**
|
||||
* Create a new task for current user with give name, systemerror if not logged in.
|
||||
* @param name the descriptive task name
|
||||
* @return "Succes" on succes.
|
||||
*/
|
||||
public String createTask(@Name("name") String name) {
|
||||
//TODO: how to get current user?
|
||||
//Task.create(name, );
|
||||
return "Not yet implemented";
|
||||
}
|
||||
|
||||
@Mutation
|
||||
@RolesAllowed("user")
|
||||
@Description("Delete a task (only if owned by user).")
|
||||
/**
|
||||
* Delete task by id (only if owned by user), systemerror if user is not logged in.
|
||||
* @param id
|
||||
* @return "Succes" or "not owned"
|
||||
*/
|
||||
public String deleteTask(@Name("id") Long id) {
|
||||
return "Not yet implemented";
|
||||
}
|
||||
|
||||
@Query
|
||||
@RolesAllowed("user")
|
||||
@Description("Show logged in user's tasks")
|
||||
/**
|
||||
* Show all tasks for current user.
|
||||
* @return The tasks in json format
|
||||
*/
|
||||
public String showTasks() {
|
||||
return "{Not yet implemented}";
|
||||
}
|
||||
}
|
||||
37
src/main/java/nunnink/dev/resource/UserResource.java
Normal file
37
src/main/java/nunnink/dev/resource/UserResource.java
Normal file
@@ -0,0 +1,37 @@
|
||||
package nunnink.dev.resource;
|
||||
|
||||
import org.eclipse.microprofile.graphql.Description;
|
||||
import org.eclipse.microprofile.graphql.GraphQLApi;
|
||||
import org.eclipse.microprofile.graphql.Mutation;
|
||||
import org.eclipse.microprofile.graphql.Name;
|
||||
import org.eclipse.microprofile.graphql.Query;
|
||||
import jakarta.annotation.security.RolesAllowed;
|
||||
import jakarta.transaction.Transactional;
|
||||
import nunnink.dev.entity.User;
|
||||
|
||||
@GraphQLApi
|
||||
public class UserResource {
|
||||
@Query
|
||||
@RolesAllowed("user")
|
||||
@Description("system test")
|
||||
/**
|
||||
* Test if user is logged in, systemerror if not logged in.
|
||||
*/
|
||||
public String test() {
|
||||
return "Test";
|
||||
}
|
||||
|
||||
|
||||
@Mutation
|
||||
@Transactional
|
||||
@Description("Register new basic user")
|
||||
/**
|
||||
* Adds a new user to the database
|
||||
* @param username a user alias
|
||||
* @param password the unencrypted password
|
||||
*/
|
||||
public String registerUser(@Name("username") String username, @Name("password") String password) {
|
||||
User.create(username, password, "user");
|
||||
return "Succesfully registered: " + username;
|
||||
}
|
||||
}
|
||||
16
src/main/resources/application.properties
Normal file
16
src/main/resources/application.properties
Normal file
@@ -0,0 +1,16 @@
|
||||
quarkus.http.auth.basic=true
|
||||
|
||||
# configure your datasource
|
||||
quarkus.datasource.db-kind = mysql
|
||||
quarkus.datasource.username = <username>
|
||||
quarkus.datasource.password = <password>
|
||||
quarkus.datasource.jdbc.url = jdbc:mysql://<host>:3306/<db>
|
||||
quarkus.hibernate-orm.database.generation = none
|
||||
|
||||
# Security
|
||||
quarkus.security.jdbc.enabled=true
|
||||
quarkus.security.jdbc.principal-query.sql=SELECT g.wachtwoord, g.rol FROM Gebruiker g WHERE g.naam=?
|
||||
quarkus.security.jdbc.principal-query.bcrypt-password-mapper.enabled=true
|
||||
quarkus.security.jdbc.principal-query.bcrypt-password-mapper.password-index=1
|
||||
quarkus.security.jdbc.principal-query.attribute-mappings.0.index=2
|
||||
quarkus.security.jdbc.principal-query.attribute-mappings.0.to=groups
|
||||
Reference in New Issue
Block a user