715 lines
39 KiB
XML
715 lines
39 KiB
XML
<?xml version="1.0"?>
|
|
<!--
|
|
~ Copyright 2016 Red Hat, Inc. and/or its affiliates
|
|
~ and other contributors as indicated by the @author tags.
|
|
~
|
|
~ Licensed under the Apache License, Version 2.0 (the "License");
|
|
~ you may not use this file except in compliance with the License.
|
|
~ You may obtain a copy of the License at
|
|
~
|
|
~ http://www.apache.org/licenses/LICENSE-2.0
|
|
~
|
|
~ Unless required by applicable law or agreed to in writing, software
|
|
~ distributed under the License is distributed on an "AS IS" BASIS,
|
|
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
~ See the License for the specific language governing permissions and
|
|
~ limitations under the License.
|
|
-->
|
|
|
|
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
<parent>
|
|
<groupId>org.keycloak.testsuite</groupId>
|
|
<artifactId>integration-arquillian-servers-auth-server</artifactId>
|
|
<version>16.0.0-SNAPSHOT</version>
|
|
</parent>
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<packaging>pom</packaging>
|
|
|
|
<artifactId>integration-arquillian-servers-auth-server-jboss</artifactId>
|
|
|
|
<name>Auth Server - JBoss</name>
|
|
|
|
<properties>
|
|
<common.resources>${basedir}/../common</common.resources>
|
|
<assembly.xml>${project.parent.basedir}/assembly.xml</assembly.xml>
|
|
|
|
<!--server-dist-->
|
|
<auth.server.dist.groupId>org.keycloak</auth.server.dist.groupId>
|
|
<auth.server.dist.artifactId>keycloak-server-dist</auth.server.dist.artifactId>
|
|
<auth.server.dist.version>${project.version}</auth.server.dist.version>
|
|
<auth.server.dist.unpacked.folder.name>keycloak-${auth.server.dist.version}</auth.server.dist.unpacked.folder.name>
|
|
|
|
<!--server-overlay-->
|
|
<auth.server.overlay.groupId>org.keycloak</auth.server.overlay.groupId>
|
|
<auth.server.overlay.artifactId>keycloak-server-overlay</auth.server.overlay.artifactId>
|
|
<auth.server.overlay.version>${project.version}</auth.server.overlay.version>
|
|
|
|
<overlaid.container.groupId>org.wildfly</overlaid.container.groupId>
|
|
<overlaid.container.artifactId>wildfly-dist</overlaid.container.artifactId>
|
|
<overlaid.container.version>${wildfly.version}</overlaid.container.version>
|
|
<overlaid.container.unpacked.folder.name>wildfly-${overlaid.container.version}</overlaid.container.unpacked.folder.name>
|
|
|
|
<!--actual unpacked artifact: server-dist by default, overriden in server-overlay profile-->
|
|
<unpacked.artifact.groupId>${auth.server.dist.groupId}</unpacked.artifact.groupId>
|
|
<unpacked.artifact.artifactId>${auth.server.dist.artifactId}</unpacked.artifact.artifactId>
|
|
<unpacked.artifact.version>${auth.server.dist.version}</unpacked.artifact.version>
|
|
|
|
<auth.server.home>${project.build.directory}/unpacked/${auth.server.dist.unpacked.folder.name}</auth.server.home>
|
|
|
|
<!--used in profile auth-server-cluster. profile jpa sets this to true-->
|
|
<skip.h2.tcp>false</skip.h2.tcp>
|
|
|
|
<!-- default ant scenario -->
|
|
<ant.scenario>scenario-standalone</ant.scenario>
|
|
|
|
<session.cache.owners>1</session.cache.owners>
|
|
<offline.session.cache.owners>1</offline.session.cache.owners>
|
|
<login.failure.cache.owners>1</login.failure.cache.owners>
|
|
|
|
<!-- Path to testsuite/test resources : Themes-->
|
|
<keycloak.base.test.resource>${project.parent.basedir}/../../../tests/base/src/test/resources</keycloak.base.test.resource>
|
|
|
|
<crossdc.cache.auth>false</crossdc.cache.auth>
|
|
</properties>
|
|
|
|
<profiles>
|
|
|
|
<profile>
|
|
<id>auth-server-jboss-submodules</id>
|
|
<activation>
|
|
<file>
|
|
<exists>src</exists>
|
|
</file>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<artifactId>maven-deploy-plugin</artifactId>
|
|
<configuration>
|
|
<skip>true</skip>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>unpack-server-or-overlay</id>
|
|
<phase>generate-resources</phase>
|
|
<goals>
|
|
<goal>unpack</goal>
|
|
</goals>
|
|
<configuration>
|
|
<artifactItems>
|
|
<artifactItem>
|
|
<groupId>${unpacked.artifact.groupId}</groupId>
|
|
<artifactId>${unpacked.artifact.artifactId}</artifactId>
|
|
<version>${unpacked.artifact.version}</version>
|
|
<type>zip</type>
|
|
<outputDirectory>${project.build.directory}/unpacked</outputDirectory>
|
|
</artifactItem>
|
|
</artifactItems>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>copy-testsuite-providers</id>
|
|
<phase>process-resources</phase>
|
|
<goals>
|
|
<goal>copy</goal>
|
|
</goals>
|
|
<configuration>
|
|
<artifactItems>
|
|
<artifactItem>
|
|
<groupId>org.keycloak.testsuite</groupId>
|
|
<artifactId>integration-arquillian-testsuite-providers</artifactId>
|
|
<version>${project.version}</version>
|
|
<type>jar</type>
|
|
<overWrite>false</overWrite>
|
|
<outputDirectory>${auth.server.home}/modules/org/keycloak/testsuite/integration-arquillian-testsuite-providers/main</outputDirectory>
|
|
</artifactItem>
|
|
</artifactItems>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>install-testsuite-providers-module</id>
|
|
<phase>process-resources</phase>
|
|
<goals>
|
|
<goal>unpack</goal>
|
|
</goals>
|
|
<configuration>
|
|
<artifactItems>
|
|
<artifactItem>
|
|
<groupId>org.keycloak.testsuite</groupId>
|
|
<artifactId>integration-arquillian-testsuite-providers</artifactId>
|
|
<version>${project.version}</version>
|
|
<type>jar</type>
|
|
<outputDirectory>${auth.server.home}/modules</outputDirectory>
|
|
<includes>**/module.xml</includes>
|
|
</artifactItem>
|
|
</artifactItems>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-enforcer-plugin</artifactId>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-resources-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>add-extending-theme</id>
|
|
<phase>process-resources</phase>
|
|
<goals>
|
|
<goal>copy-resources</goal>
|
|
</goals>
|
|
<configuration>
|
|
<outputDirectory>${auth.server.home}/themes</outputDirectory>
|
|
<resources>
|
|
<resource>
|
|
<directory>${keycloak.base.test.resource}/theme</directory>
|
|
</resource>
|
|
</resources>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>enable-jboss-mgmt-admin</id>
|
|
<phase>process-resources</phase>
|
|
<goals>
|
|
<goal>copy-resources</goal>
|
|
</goals>
|
|
<configuration>
|
|
<outputDirectory>${auth.server.home}/standalone/configuration</outputDirectory>
|
|
<resources>
|
|
<resource>
|
|
<directory>${common.resources}</directory>
|
|
<includes>
|
|
<include>mgmt-users.properties</include>
|
|
</includes>
|
|
</resource>
|
|
</resources>
|
|
<overwrite>true</overwrite>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>copy-keystore</id>
|
|
<phase>process-resources</phase>
|
|
<goals>
|
|
<goal>copy-resources</goal>
|
|
</goals>
|
|
<configuration>
|
|
<outputDirectory>${auth.server.home}/standalone/configuration</outputDirectory>
|
|
<resources>
|
|
<resource>
|
|
<directory>${common.resources}/keystore</directory>
|
|
<includes>
|
|
<include>keycloak.jks</include>
|
|
<include>keycloak.truststore</include>
|
|
<include>client.jks</include>
|
|
<include>client-ca.jks</include>
|
|
<include>test-user-cert-intermediary-ca.jks</include>
|
|
<include>ca.crt</include>
|
|
<include>client.crt</include>
|
|
<include>client.key</include>
|
|
<include>*.crl</include>
|
|
<!-- KEYCLOAK-6771 Certificate Bound Token -->
|
|
<include>other_client.jks</include>
|
|
</includes>
|
|
</resource>
|
|
<resource>
|
|
<directory>${common.resources}/pki/root/ca</directory>
|
|
<includes>
|
|
<include>certs/clients/test-user-san@localhost.cert.pem</include>
|
|
<include>certs/clients/test-user@localhost.key.pem</include>
|
|
</includes>
|
|
</resource>
|
|
</resources>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>copy-vault</id>
|
|
<phase>process-resources</phase>
|
|
<goals>
|
|
<goal>copy-resources</goal>
|
|
</goals>
|
|
<configuration>
|
|
<outputDirectory>${auth.server.home}/standalone/configuration/vault</outputDirectory>
|
|
<resources>
|
|
<resource>
|
|
<directory>${common.resources}/vault</directory>
|
|
<includes>
|
|
<include>master_smtp__key</include>
|
|
<include>test_smtp__key</include>
|
|
<include>consumer_oidc__idp</include>
|
|
<include>master_smtp__password</include>
|
|
<include>master_ldap__bindCredential</include>
|
|
<include>test_ldap__bindCredential</include>
|
|
<include>admin-client-test_ldap__bindCredential</include>
|
|
</includes>
|
|
</resource>
|
|
</resources>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-antrun-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>ant-generate-default</id>
|
|
<phase>generate-resources</phase>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
<configuration>
|
|
<target>
|
|
<ant antfile="${common.resources}/ant/configure.xml" target="${ant.scenario}-generate" >
|
|
<!-- In most of the cases, Ant Plugin picks up properties automatically.
|
|
However, in some rare cases, it will not detect if a property has been overriden
|
|
in the command line using "-D" switch (see why here: https://technotes.khitrenovich.com/properties-resolution-maven-implications-antrun-plugin/
|
|
There's also another case, when we have a dynamic property (like "keycloak.connectionsJpa.url")
|
|
that can change in the runtime. In such cases, we CAN NOT put is as a property (or
|
|
Ant will see outdated values, not the dynamic ones). -->
|
|
<property name="auth.server.home">${auth.server.home}</property>
|
|
<property name="session.cache.owners" value="${session.cache.owners}" />
|
|
<property name="offline.session.cache.owners" value="${offline.session.cache.owners}" />
|
|
<property name="login.failure.cache.owners" value="${login.failure.cache.owners}" />
|
|
<property name="crossdc.cache.auth" value="${crossdc.cache.auth}" />
|
|
<property name="hotrod.sasl.mechanism" value="${hotrod.sasl.mechanism}" />
|
|
</ant>
|
|
</target>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>ant-apply-prepared-clis</id>
|
|
<phase>process-resources</phase>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
<configuration>
|
|
<target>
|
|
<ant antfile="${common.resources}/ant/configure.xml" target="apply-cli-scripts">
|
|
<!-- See the comment above. In this case "auth.server.home" can contain
|
|
"product.unpacked.folder.name" which is set at runtime and therefore
|
|
not resolved. -->
|
|
<property name="auth.server.home">${auth.server.home}</property>
|
|
</ant>
|
|
</target>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-assembly-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>create-zip</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>single</goal>
|
|
</goals>
|
|
<configuration>
|
|
<descriptors>
|
|
<descriptor>${assembly.xml}</descriptor>
|
|
</descriptors>
|
|
<appendAssemblyId>false</appendAssemblyId>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<!-- OPT-IN -->
|
|
<profile>
|
|
<id>server-overlay</id>
|
|
<activation>
|
|
<property>
|
|
<name>server-overlay</name>
|
|
</property>
|
|
</activation>
|
|
<properties>
|
|
<!--override default unpacked artifact with server-overlay-->
|
|
<unpacked.artifact.groupId>${overlaid.container.groupId}</unpacked.artifact.groupId>
|
|
<unpacked.artifact.artifactId>${overlaid.container.artifactId}</unpacked.artifact.artifactId>
|
|
<unpacked.artifact.version>${overlaid.container.version}</unpacked.artifact.version>
|
|
<auth.server.home>${project.build.directory}/unpacked/${overlaid.container.unpacked.folder.name}</auth.server.home>
|
|
</properties>
|
|
<build>
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>unpack-overlaid-container</id>
|
|
<phase>generate-resources</phase>
|
|
<goals>
|
|
<goal>unpack</goal>
|
|
</goals>
|
|
<configuration>
|
|
<artifactItems>
|
|
<artifactItem>
|
|
<groupId>${auth.server.overlay.groupId}</groupId>
|
|
<artifactId>${auth.server.overlay.artifactId}</artifactId>
|
|
<version>${auth.server.overlay.version}</version>
|
|
<type>zip</type>
|
|
<overWrite>true</overWrite>
|
|
<outputDirectory>${project.build.directory}/unpacked/${overlaid.container.unpacked.folder.name}</outputDirectory>
|
|
</artifactItem>
|
|
</artifactItems>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>exec-maven-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>install-server-overlay</id>
|
|
<phase>generate-resources</phase>
|
|
<goals>
|
|
<goal>exec</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<executable>${common.resources}/install-keycloak.${script.suffix}</executable>
|
|
<workingDirectory>${auth.server.home}/bin</workingDirectory>
|
|
<environmentVariables>
|
|
<JAVA_HOME>${auth.server.java.home}</JAVA_HOME>
|
|
<JBOSS_HOME>${auth.server.home}</JBOSS_HOME>
|
|
</environmentVariables>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
</build>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>jpa</id>
|
|
<properties>
|
|
<jdbc.driver.tmp.dir>${project.build.directory}/jdbc-driver</jdbc.driver.tmp.dir>
|
|
<skip.h2.tcp>true</skip.h2.tcp>
|
|
</properties>
|
|
<build>
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<artifactId>maven-enforcer-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>enforce-properties</id>
|
|
<goals>
|
|
<goal>enforce</goal>
|
|
</goals>
|
|
<configuration>
|
|
<rules>
|
|
<requireProperty>
|
|
<property>jdbc.mvn.groupId</property>
|
|
<regex>((?!com.h2database).)*</regex>
|
|
<regexMessage>jdbc.mvn.groupId property is not set correctly: ${jdbc.mvn.groupId}. Profile jpa is not supported for default h2 values!</regexMessage>
|
|
</requireProperty>
|
|
<requireProperty>
|
|
<property>jdbc.mvn.artifactId</property>
|
|
<regex>((?!h2).)*</regex>
|
|
<regexMessage>jdbc.mvn.artifactId property is not set correctly: ${jdbc.mvn.artifactId}. Profile jpa is not supported for default h2 values!</regexMessage>
|
|
</requireProperty>
|
|
<requireProperty>
|
|
<property>jdbc.mvn.version</property>
|
|
<regex>((?!${h2.version}).)*</regex>
|
|
<regexMessage>jdbc.mvn.version property is not set correctly: ${jdbc.mvn.version}. Profile jpa is not supported for default h2 values!</regexMessage>
|
|
</requireProperty>
|
|
<requireProperty>
|
|
<property>keycloak.connectionsJpa.password</property>
|
|
<regex>^(?!\s*$).+</regex>
|
|
<regexMessage>keycloak.connectionsJpa.password property cannot be empty string!</regexMessage>
|
|
</requireProperty>
|
|
</rules>
|
|
<fail>true</fail>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>jdbc-driver</id>
|
|
<phase>generate-resources</phase>
|
|
<goals>
|
|
<goal>copy</goal>
|
|
</goals>
|
|
<configuration>
|
|
<artifactItems>
|
|
<artifactItem>
|
|
<groupId>${jdbc.mvn.groupId}</groupId>
|
|
<artifactId>${jdbc.mvn.artifactId}</artifactId>
|
|
<version>${jdbc.mvn.version}</version>
|
|
<type>jar</type>
|
|
</artifactItem>
|
|
</artifactItems>
|
|
<outputDirectory>${jdbc.driver.tmp.dir}</outputDirectory>
|
|
<overWriteIfNewer>true</overWriteIfNewer>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-antrun-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>configure-server-jpa</id>
|
|
<phase>generate-resources</phase>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
<configuration>
|
|
<target>
|
|
<ant antfile="${common.resources}/ant/configure.xml" target="configure-server-jpa" >
|
|
<!-- These properties become equivalent to properties defined on the command line. -->
|
|
<!-- Without specifying those the default values would be used regardless what is -->
|
|
<!-- defined via -Dproperty=value when executing maven command -->
|
|
<property name="jdbc.mvn.groupId">${jdbc.mvn.groupId}</property>
|
|
<property name="jdbc.mvn.artifactId">${jdbc.mvn.artifactId}</property>
|
|
<property name="jdbc.mvn.version">${jdbc.mvn.version}</property>
|
|
<property name="keycloak.connectionsJpa.url">${keycloak.connectionsJpa.url}</property>
|
|
<property name="keycloak.connectionsJpa.user">${keycloak.connectionsJpa.user}</property>
|
|
<property name="keycloak.connectionsJpa.password">${keycloak.connectionsJpa.password}</property>
|
|
<property name="keycloak.connectionsJpa.schema">${keycloak.connectionsJpa.schema}</property>
|
|
</ant>
|
|
</target>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
</build>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>migration-manual</id>
|
|
<activation>
|
|
<property>
|
|
<name>migration.mode</name>
|
|
<value>manual</value>
|
|
</property>
|
|
</activation>
|
|
<build>
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-antrun-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>set-manual-migration-strategy</id>
|
|
<phase>generate-resources</phase>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
<configuration>
|
|
<target>
|
|
<ant antfile="${common.resources}/ant/configure.xml" target="set-manual-migration-strategy" />
|
|
</target>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
</build>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>auth-servers-crossdc-jboss</id>
|
|
<properties>
|
|
<ant.scenario>scenario-crossdc</ant.scenario>
|
|
|
|
<h2.jdbc.url>jdbc:h2:tcp://localhost:9092/mem:keycloak-dc-shared;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</h2.jdbc.url>
|
|
</properties>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<artifactId>maven-enforcer-plugin</artifactId>
|
|
<configuration>
|
|
<skip>true</skip>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<artifactId>maven-enforcer-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>enforce-profile-activation</id>
|
|
<goals>
|
|
<goal>enforce</goal>
|
|
</goals>
|
|
<configuration>
|
|
<rules>
|
|
<requireProperty>
|
|
<property>auth.server.jboss</property>
|
|
<message>Profile "auth-servers-crossdc-jboss" requires activation of another profile: either "auth-server-wildfly" or "auth-server-eap".</message>
|
|
<regex>(wildfly|eap)</regex>
|
|
</requireProperty>
|
|
</rules>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-antrun-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>jpa-h2-tcp</id>
|
|
<phase>generate-resources</phase>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
<configuration>
|
|
<skip>${skip.h2.tcp}</skip>
|
|
<target>
|
|
<ant antfile="${common.resources}/ant/configure.xml" target="replace-jdbc-url" />
|
|
</target>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
</build>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>auth-server-cluster</id>
|
|
<properties>
|
|
<ant.scenario>scenario-cluster</ant.scenario>
|
|
<load.metric>simple</load.metric>
|
|
<!-- The default value 'simple' configures mod-cluster with simple-load-provider.
|
|
Any other value configures it with dynamic-load-provider using the particular `load.metric`.
|
|
Supported metrics: https://docs.jboss.org/mod_cluster/1.2.0/html/java.AS7config.html#LoadMetric -->
|
|
|
|
<h2.jdbc.url>jdbc:h2:tcp://${jboss.bind.address:localhost}:9092/mem:keycloak;DB_CLOSE_DELAY=-1</h2.jdbc.url>
|
|
</properties>
|
|
<build>
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-antrun-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>jpa-h2-tcp</id>
|
|
<phase>generate-resources</phase>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
<configuration>
|
|
<skip>${skip.h2.tcp}</skip>
|
|
<target>
|
|
<ant antfile="${common.resources}/ant/configure.xml" target="replace-jdbc-url" />
|
|
</target>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
</build>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>admin</id>
|
|
<build>
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<artifactId>maven-resources-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>copy-keycloak-add-user-json</id>
|
|
<phase>process-resources</phase>
|
|
<goals>
|
|
<goal>copy-resources</goal>
|
|
</goals>
|
|
<configuration>
|
|
<outputDirectory>${auth.server.home}/standalone/configuration</outputDirectory>
|
|
<resources>
|
|
<resource>
|
|
<directory>${common.resources}</directory>
|
|
<includes>
|
|
<include>keycloak-add-user.json</include>
|
|
</includes>
|
|
</resource>
|
|
</resources>
|
|
<overwrite>true</overwrite>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
</build>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>auth-server-legacy</id>
|
|
<activation>
|
|
<property>
|
|
<name>auth.server.legacy.version</name>
|
|
</property>
|
|
</activation>
|
|
<modules>
|
|
<module>legacy</module>
|
|
</modules>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>auth-server-wildfly</id>
|
|
<modules>
|
|
<module>wildfly</module>
|
|
</modules>
|
|
</profile>
|
|
<profile>
|
|
<id>auth-server-eap</id>
|
|
<modules>
|
|
<module>eap</module>
|
|
</modules>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>db-failover-mariadb</id>
|
|
<properties>
|
|
<jdbc.mvn.groupId>org.mariadb.jdbc</jdbc.mvn.groupId>
|
|
<jdbc.mvn.artifactId>mariadb-java-client</jdbc.mvn.artifactId>
|
|
<jdbc.mvn.version>2.0.3</jdbc.mvn.version>
|
|
<keycloak.connectionsJpa.user>keycloak</keycloak.connectionsJpa.user>
|
|
<keycloak.connectionsJpa.password>keycloak</keycloak.connectionsJpa.password>
|
|
|
|
<mariadb.ha.mode>replication</mariadb.ha.mode>
|
|
<mariadb.hosts>localhost:3316,localhost:3326</mariadb.hosts>
|
|
<mariadb.database>keycloak</mariadb.database>
|
|
<mariadb.options></mariadb.options>
|
|
<keycloak.connectionsJpa.url>jdbc:mariadb:${mariadb.ha.mode}://${mariadb.hosts}/${mariadb.database}${mariadb.options}</keycloak.connectionsJpa.url>
|
|
</properties>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>cache-auth</id>
|
|
<properties>
|
|
<crossdc.cache.auth>true</crossdc.cache.auth>
|
|
</properties>
|
|
</profile>
|
|
|
|
</profiles>
|
|
</project>
|