diff --git a/Dockerfile b/Dockerfile index 8514c1713494a41e6c8ba3134e469a69dc73c283..8ce6ecffef65891cbd2a2ac68a5f40cf9cbb72c3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,13 +1,15 @@ -# Use Ubuntu 22.04 -FROM ubuntu:jammy +# Use Ubuntu 24.04 +FROM ubuntu:noble ENV JDK_VERSION=17 -# VIPSCore 2.0.6 See https://gitlab.nibio.no/groups/VIPS/-/packages -ENV VIPSCORE_PACKAGE_ID=2390 -ENV VIPSLOGIC_VERSION=2024.1 +# VIPSCore 3.0.1 See https://gitlab.nibio.no/groups/VIPS/-/packages +# To find the id, check the link to the war file uner "Assets" (bottom of page of selected package) +ENV VIPSCORE_PACKAGE_ID=3504 +ENV VIPSLOGIC_VERSION=2025.1 ENV MAVEN_SETTINGS=/settings.xml -ENV WILDFLY_VERSION=26.1.3.Final -ENV WILDFLY_SHA1=b9f52ba41df890e09bb141d72947d2510caf758c +ENV WILDFLY_VERSION=34.0.1.Final +# Check the contents of SHA-1 next to the tgz download file on wildfly.org/downloads +ENV WILDFLY_SHA1=eca3a94bb8a91538f7f2642f9d04d89a25f53846 ENV JBOSS_HOME=/opt/jboss/wildfly ENV DEPLOY_DIR=/opt/jboss/deployments ENV DEBIAN_FRONTEND=noninteractive @@ -63,10 +65,10 @@ USER root # it yourself from a VIPSLogic database using pg_dumpall | gzip > vipslogic.sql.gz COPY ./vipslogic.sql.gz /var/lib/postgresql/ # Make sure we use md5 and not scram-sha-256 for authentication in PostgreSQL -RUN sed -i -e 's/scram-sha-256/md5/g' /etc/postgresql/14/main/pg_hba.conf +RUN sed -i -e 's/scram-sha-256/md5/g' /etc/postgresql/16/main/pg_hba.conf # VIPSWeb -RUN apt-get install --assume-yes apache2 libapache2-mod-wsgi-py3 memcached python3-pip python3.10-venv +RUN apt-get install --assume-yes apache2 libapache2-mod-wsgi-py3 memcached python3-pip python3.12-venv COPY ./install_vipsweb.sh /opt/jboss/ COPY ./local_settings.py /opt/jboss/ diff --git a/README.md b/README.md index 5776ca04513aaa6e3537ad0e1750063de9f8d8c9..17376a632eabaaaa262aa79a7a9994d0c9dcf196 100644 --- a/README.md +++ b/README.md @@ -46,4 +46,53 @@ Subsequent startups of the container can be done like this: ```bash $ sudo docker start demovips +``` + +# Upgrading to newer version of VIPS +When upgrading to a newer version of VIPS and/or Ubuntu and/or Wildfly; Here are some key configurations to change. Also, remember to dump the latest version of the VIPSLogic database (see above) + +## Dockerfile +```dockerfile +FROM ubuntu:noble +ENV JDK_VERSION=17 +# VIPSCore 3.0.1 See https://gitlab.nibio.no/groups/VIPS/-/packages +# To find the id, check the link to the war file uner "Assets" (bottom of page of selected package) +ENV VIPSCORE_PACKAGE_ID=3260 +ENV VIPSLOGIC_VERSION=2025.1 +ENV WILDFLY_VERSION=34.0.1.Final +# Check the contents of SHA-1 next to the tgz download file on wildfly.org/downloads +ENV WILDFLY_SHA1=eca3a94bb8a91538f7f2642f9d04d89a25f53846 + +# [...] +# Database may have been upgraded in latest Ubuntu +RUN sed -i -e 's/scram-sha-256/md5/g' /etc/postgresql/16/main/pg_hba.conf + +# VIPSWeb +# Python version may have been upgraded in latest version +RUN apt-get install --assume-yes apache2 libapache2-mod-wsgi-py3 memcached python3-pip python3.12-venv +``` + +## call_me_from_cmd + +```bash +# Add the date to VIPSWeb +echo "SYSTEM_TIME_EXACT = '${SYSTEM_TIME_EXACT_DATE=2024-07-01}'" >> /opt/jboss/VIPSWeb/VIPSWeb/local_settings.py +``` + +## WildFly: modules/ and standalone.xml +If you are upgrading WildFly: Check what's in the `modules/` folder of the new version, and copy that into here - delete/overwrite all the old stuff. +Also, your old standalone.xml is likely not compatible with the new WildFly, so get a fresh one and add system-properties and database connection info. + +# Troubleshooting +If you need to inspect the Docker instance, you can either do it from the host + +```bash +$ sudo docker logs demovips +``` + +...or you can log in on the container and check all aspects. The container is a Ubuntu instance, so you can install +and configure as you like, and even clone git repos and build parts of the application there directly. + +```bash +$ sudo docker exec -it demovips /bin/bash ``` \ No newline at end of file diff --git a/call_me_from_cmd b/call_me_from_cmd index 68077e542c8efabc783235e44a27649792b622fd..d9bed86b8b20e0620ea367955dff6fd641a92492 100644 --- a/call_me_from_cmd +++ b/call_me_from_cmd @@ -17,7 +17,7 @@ # along with this program. If not, see <https://www.gnu.org/licenses/>. # Add the date to VIPSWeb -echo "SYSTEM_TIME_EXACT = '${SYSTEM_TIME_EXACT_DATE=2022-07-01}'" >> /opt/jboss/VIPSWeb/VIPSWeb/local_settings.py +echo "SYSTEM_TIME_EXACT = '${SYSTEM_TIME_EXACT_DATE=2024-07-01}'" >> /opt/jboss/VIPSWeb/VIPSWeb/local_settings.py # Start PostgreSQL diff --git a/modules/org/apache/commons/lang/main/commons-lang3-3.12.0.jar b/modules/org/apache/commons/lang/main/commons-lang3-3.12.0.jar deleted file mode 100644 index 4d434a2a4554815584365348ea2cf00cdfe3d5f9..0000000000000000000000000000000000000000 Binary files a/modules/org/apache/commons/lang/main/commons-lang3-3.12.0.jar and /dev/null differ diff --git a/modules/org/apache/commons/lang/main/module.xml b/modules/org/apache/commons/lang/main/module.xml deleted file mode 100755 index 467a3d09e243fb9978f7ded60eea3191cc2ba22a..0000000000000000000000000000000000000000 --- a/modules/org/apache/commons/lang/main/module.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<module xmlns="urn:jboss:module:1.0" name="org.apache.commons.lang"> - <resources> - <resource-root path="commons-lang3-3.12.0.jar"/> - - </resources> - <dependencies> - - </dependencies> -</module> diff --git a/modules/org/apache/commons/logging/main/commons-logging-1.2.jar b/modules/org/apache/commons/logging/main/commons-logging-1.2.jar deleted file mode 100644 index 93a3b9f6db406c84e270e19b9a5e70f2e27ca513..0000000000000000000000000000000000000000 Binary files a/modules/org/apache/commons/logging/main/commons-logging-1.2.jar and /dev/null differ diff --git a/modules/org/apache/commons/logging/main/module.xml b/modules/org/apache/commons/logging/main/module.xml deleted file mode 100755 index 2501ee1aaa19148ac75acecf7b637bffe9a8987a..0000000000000000000000000000000000000000 --- a/modules/org/apache/commons/logging/main/module.xml +++ /dev/null @@ -1,10 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<module xmlns="urn:jboss:module:1.0" name="org.apache.commons.logging"> - <resources> - <resource-root path="commons-logging-1.2.jar"/> - - </resources> - <dependencies> - - </dependencies> -</module> diff --git a/modules/org/apache/commons/math/main/commons-math-1.2.jar b/modules/org/apache/commons/math/main/commons-math-1.2.jar deleted file mode 100755 index 9b9cee69591d2ce420d3c706d09c9415e683e43e..0000000000000000000000000000000000000000 Binary files a/modules/org/apache/commons/math/main/commons-math-1.2.jar and /dev/null differ diff --git a/modules/org/apache/commons/math/main/module.xml b/modules/org/apache/commons/math/main/module.xml deleted file mode 100755 index 247350f22324f8511a04a169448c14ab9906aee4..0000000000000000000000000000000000000000 --- a/modules/org/apache/commons/math/main/module.xml +++ /dev/null @@ -1,6 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<module xmlns="urn:jboss:module:1.0" name="org.apache.commons.math"> - <resources> - <resource-root path="commons-math-1.2.jar"/> - </resources> -</module> diff --git a/modules/org/apache/commons/math/main/module.xml~ b/modules/org/apache/commons/math/main/module.xml~ deleted file mode 100755 index 625e0fcb389fda4096ece4a0eaced3fa71035e1a..0000000000000000000000000000000000000000 --- a/modules/org/apache/commons/math/main/module.xml~ +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<module xmlns="urn:jboss:module:1.0" name="org.postgresql"> - <resources> - <resource-root path="postgresql-9.3-1102.jdbc41.jar"/> - <resource-root path="postgis-jdbc-2.1.0.jar"/> - </resources> - <dependencies> - <module name="javax.api"/> - <module name="javax.transaction.api"/> - </dependencies> -</module> diff --git a/modules/org/apache/commons/vfs2/main/commons-vfs2-2.9.0.jar b/modules/org/apache/commons/vfs2/main/commons-vfs2-2.9.0.jar deleted file mode 100644 index 5e047d54b1d20b87ae87673ba01954aaf11e71d0..0000000000000000000000000000000000000000 Binary files a/modules/org/apache/commons/vfs2/main/commons-vfs2-2.9.0.jar and /dev/null differ diff --git a/modules/org/apache/commons/vfs2/main/module.xml b/modules/org/apache/commons/vfs2/main/module.xml deleted file mode 100755 index 96f61ad2892ea970ba5f796a8bad91b414bbb62a..0000000000000000000000000000000000000000 --- a/modules/org/apache/commons/vfs2/main/module.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<module xmlns="urn:jboss:module:1.0" name="org.apache.commons.vfs2"> - <resources> - <resource-root path="commons-vfs2-2.9.0.jar"/> - - </resources> - <dependencies> - <module name="org.apache.commons.logging" export="false"/> - <module name="org.apache.commons.lang" export="false"/> - </dependencies> -</module> diff --git a/modules/org/postgresql/main/module.xml b/modules/org/postgresql/main/module.xml index 6533fbd9975598b49f473964c4174e8d6ab2d792..8924a03f5c9f3015a863b159524e11890a12b2b5 100755 --- a/modules/org/postgresql/main/module.xml +++ b/modules/org/postgresql/main/module.xml @@ -1,9 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <module xmlns="urn:jboss:module:1.0" name="org.postgresql"> <resources> - <resource-root path="postgresql-42.3.1.jar"/> - <resource-root path="postgis-jdbc-2.5.1.jar"/> - <resource-root path="postgis-geometry-2.5.1.jar"/> + <resource-root path="postgresql-42.7.4.jar"/> + <!--resource-root path="postgis-jdbc-2024.1.0.jar"/--> </resources> <dependencies> <module name="javax.api"/> diff --git a/modules/org/postgresql/main/module.xml~ b/modules/org/postgresql/main/module.xml~ deleted file mode 100755 index bd5a23b924a5f705e58933f223d429bc243e9d87..0000000000000000000000000000000000000000 --- a/modules/org/postgresql/main/module.xml~ +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<module xmlns="urn:jboss:module:1.0" name="org.postgresql"> - <resources> - <resource-root path="postgresql-9.4-1206-jdbc41"/> - <resource-root path="postgis-jdbc-2.1.0.jar"/> - </resources> - <dependencies> - <module name="javax.api"/> - <module name="javax.transaction.api"/> - </dependencies> -</module> diff --git a/modules/org/postgresql/main/postgis-geometry-2.5.1.jar b/modules/org/postgresql/main/postgis-geometry-2.5.1.jar deleted file mode 100644 index 1de5feb67d41277d7767c262a64c3d653dbdfb82..0000000000000000000000000000000000000000 Binary files a/modules/org/postgresql/main/postgis-geometry-2.5.1.jar and /dev/null differ diff --git a/modules/org/postgresql/main/postgis-jdbc-2.5.1.jar b/modules/org/postgresql/main/postgis-jdbc-2.5.1.jar deleted file mode 100644 index 34c014b86f927a17f5013d5a211154ea32e1e6fc..0000000000000000000000000000000000000000 Binary files a/modules/org/postgresql/main/postgis-jdbc-2.5.1.jar and /dev/null differ diff --git a/modules/org/postgresql/main/postgresql-42.3.1.jar b/modules/org/postgresql/main/postgresql-42.3.1.jar deleted file mode 100644 index 17af3fcd85ffd2c37165d420c2c660cd03dcae31..0000000000000000000000000000000000000000 Binary files a/modules/org/postgresql/main/postgresql-42.3.1.jar and /dev/null differ diff --git a/modules/org/postgresql/main/postgresql-42.7.4.jar b/modules/org/postgresql/main/postgresql-42.7.4.jar new file mode 100644 index 0000000000000000000000000000000000000000..091b4d13a417d635f5a1d7a42b482f88a6f3bf65 Binary files /dev/null and b/modules/org/postgresql/main/postgresql-42.7.4.jar differ diff --git a/standalone.xml b/standalone.xml index 5afceaeded22d258be82c5336b6cd4b281080e35..ad2a8e540bf483b2e742eb5576bad04ac5b85641 100644 --- a/standalone.xml +++ b/standalone.xml @@ -1,6 +1,6 @@ -<?xml version='1.0' encoding='UTF-8'?> +<?xml version="1.0" encoding="UTF-8"?> -<server xmlns="urn:jboss:domain:18.0"> +<server xmlns="urn:jboss:domain:community:20.0"> <extensions> <extension module="org.jboss.as.clustering.infinispan"/> <extension module="org.jboss.as.connector"/> @@ -12,7 +12,6 @@ <extension module="org.jboss.as.jmx"/> <extension module="org.jboss.as.jpa"/> <extension module="org.jboss.as.jsf"/> - <extension module="org.jboss.as.jsr77"/> <extension module="org.jboss.as.logging"/> <extension module="org.jboss.as.mail"/> <extension module="org.jboss.as.naming"/> @@ -24,6 +23,7 @@ <extension module="org.jboss.as.weld"/> <extension module="org.wildfly.extension.batch.jberet"/> <extension module="org.wildfly.extension.bean-validation"/> + <extension module="org.wildfly.extension.clustering.ejb"/> <extension module="org.wildfly.extension.clustering.web"/> <extension module="org.wildfly.extension.core-management"/> <extension module="org.wildfly.extension.discovery"/> @@ -32,15 +32,12 @@ <extension module="org.wildfly.extension.elytron-oidc-client"/> <extension module="org.wildfly.extension.health"/> <extension module="org.wildfly.extension.io"/> - <extension module="org.wildfly.extension.messaging-activemq"/> <extension module="org.wildfly.extension.metrics"/> <extension module="org.wildfly.extension.microprofile.config-smallrye"/> <extension module="org.wildfly.extension.microprofile.jwt-smallrye"/> - <extension module="org.wildfly.extension.microprofile.opentracing-smallrye"/> <extension module="org.wildfly.extension.request-controller"/> <extension module="org.wildfly.extension.security.manager"/> <extension module="org.wildfly.extension.undertow"/> - <extension module="org.wildfly.iiop-openjdk"/> </extensions> <system-properties> <property name="no.nibio.vips.logic.SYSTEM_TIME_OFFSET_MONTHS" value="0"/> @@ -96,7 +93,7 @@ <profile> <subsystem xmlns="urn:jboss:domain:logging:8.0"> <console-handler name="CONSOLE"> - <level name="DEBUG"/> + <level name="INFO"/> <formatter> <named-formatter name="COLOR-PATTERN"/> </formatter> @@ -112,6 +109,9 @@ <logger category="com.arjuna"> <level name="WARN"/> </logger> + <logger category="com.networknt.schema"> + <level name="WARN"/> + </logger> <logger category="io.jaegertracing.Configuration"> <level name="WARN"/> </logger> @@ -121,9 +121,6 @@ <logger category="sun.rmi"> <level name="WARN"/> </logger> - <logger category="no.nibio"> - <level name="DEBUG"/> - </logger> <root-logger> <level name="INFO"/> <handlers> @@ -138,9 +135,10 @@ <pattern-formatter pattern="%K{level}%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%e%n"/> </formatter> </subsystem> - <subsystem xmlns="urn:jboss:domain:batch-jberet:2.0"> + <subsystem xmlns="urn:jboss:domain:batch-jberet:3.0"> <default-job-repository name="in-memory"/> <default-thread-pool name="batch"/> + <security-domain name="ApplicationDomain"/> <job-repository name="in-memory"> <in-memory/> </job-repository> @@ -151,24 +149,22 @@ </subsystem> <subsystem xmlns="urn:jboss:domain:bean-validation:1.0"/> <subsystem xmlns="urn:jboss:domain:core-management:1.0"/> - <subsystem xmlns="urn:jboss:domain:datasources:6.0"> + <subsystem xmlns="urn:jboss:domain:datasources:7.2"> <datasources> <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true" statistics-enabled="${wildfly.datasources.statistics-enabled:${wildfly.statistics-enabled:false}}"> - <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url> + <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE;MODE=${wildfly.h2.compatibility.mode:REGULAR}</connection-url> <driver>h2</driver> - <security> - <user-name>sa</user-name> - <password>sa</password> - </security> + <security user-name="sa" password="sa"/> </datasource> - <datasource jta="true" jndi-name="java:jboss/datasources/vipslogic" pool-name="Postgres-vipslogic-pool-local" enabled="true" use-java-context="true" spy="true" use-ccm="true"> <connection-url>jdbc:postgresql://localhost:5432/vipslogic</connection-url> <driver>postgresql</driver> - <security> - <user-name>vipslogic</user-name> - <password>VIPS123</password> - </security> + <pool> + <min-pool-size>2</min-pool-size> + <max-pool-size>100</max-pool-size> + <prefill>true</prefill> + </pool> + <security user-name="vipslogic" password="VIPS123"/> </datasource> <drivers> <driver name="h2" module="com.h2database.h2"> @@ -184,7 +180,13 @@ <deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-interval="5000" runtime-failure-causes-rollback="${jboss.deployment.scanner.rollback.on.failure:false}"/> </subsystem> <subsystem xmlns="urn:jboss:domain:discovery:1.0"/> - <subsystem xmlns="urn:jboss:domain:distributable-web:2.0" default-session-management="default" default-single-sign-on-management="default"> + <subsystem xmlns="urn:jboss:domain:distributable-ejb:1.0" default-bean-management="default"> + <infinispan-bean-management name="default" max-active-beans="10000" cache-container="ejb" cache="passivation"/> + <local-client-mappings-registry/> + <infinispan-timer-management name="persistent" cache-container="ejb" cache="persistent" max-active-timers="10000"/> + <infinispan-timer-management name="transient" cache-container="ejb" cache="transient" max-active-timers="10000"/> + </subsystem> + <subsystem xmlns="urn:jboss:domain:distributable-web:4.0" default-session-management="default" default-single-sign-on-management="default"> <infinispan-session-management name="default" cache-container="web" granularity="SESSION"> <local-affinity/> </infinispan-session-management> @@ -195,7 +197,7 @@ <spec-descriptor-property-replacement>false</spec-descriptor-property-replacement> <concurrent> <context-services> - <context-service name="default" jndi-name="java:jboss/ee/concurrency/context/default" use-transaction-setup-provider="true"/> + <context-service name="default" jndi-name="java:jboss/ee/concurrency/context/default"/> </context-services> <managed-thread-factories> <managed-thread-factory name="default" jndi-name="java:jboss/ee/concurrency/factory/default" context-service="default"/> @@ -207,10 +209,10 @@ <managed-scheduled-executor-service name="default" jndi-name="java:jboss/ee/concurrency/scheduler/default" context-service="default" hung-task-termination-period="0" hung-task-threshold="60000" keepalive-time="3000"/> </managed-scheduled-executor-services> </concurrent> - <default-bindings context-service="java:jboss/ee/concurrency/context/default" datasource="java:jboss/datasources/ExampleDS" jms-connection-factory="java:jboss/DefaultJMSConnectionFactory" managed-executor-service="java:jboss/ee/concurrency/executor/default" managed-scheduled-executor-service="java:jboss/ee/concurrency/scheduler/default" managed-thread-factory="java:jboss/ee/concurrency/factory/default"/> + <default-bindings context-service="java:jboss/ee/concurrency/context/default" datasource="java:jboss/datasources/ExampleDS" managed-executor-service="java:jboss/ee/concurrency/executor/default" managed-scheduled-executor-service="java:jboss/ee/concurrency/scheduler/default" managed-thread-factory="java:jboss/ee/concurrency/factory/default"/> </subsystem> <subsystem xmlns="urn:jboss:domain:ee-security:1.0"/> - <subsystem xmlns="urn:jboss:domain:ejb3:9.0"> + <subsystem xmlns="urn:jboss:domain:ejb3:10.0"> <session-bean> <stateless> <bean-instance-pool-ref pool-name="slsb-strict-max-pool"/> @@ -218,30 +220,23 @@ <stateful default-access-timeout="5000" cache-ref="simple" passivation-disabled-cache-ref="simple"/> <singleton default-access-timeout="5000"/> </session-bean> - <mdb> - <resource-adapter-ref resource-adapter-name="${ejb.resource-adapter-name:activemq-ra.rar}"/> - <bean-instance-pool-ref pool-name="mdb-strict-max-pool"/> - </mdb> <pools> <bean-instance-pools> - <strict-max-pool name="mdb-strict-max-pool" derive-size="from-cpu-count" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/> <strict-max-pool name="slsb-strict-max-pool" derive-size="from-worker-pools" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/> + <strict-max-pool name="mdb-strict-max-pool" derive-size="from-cpu-count" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/> </bean-instance-pools> </pools> <caches> - <cache name="simple"/> - <cache name="distributable" passivation-store-ref="infinispan" aliases="passivating clustered"/> + <simple-cache name="simple"/> + <distributable-cache name="distributable"/> </caches> - <passivation-stores> - <passivation-store name="infinispan" cache-container="ejb" max-size="10000"/> - </passivation-stores> <async thread-pool-name="default"/> <timer-service thread-pool-name="default" default-data-store="default-file-store"> <data-stores> <file-data-store name="default-file-store" path="timer-service-data" relative-to="jboss.server.data.dir"/> </data-stores> </timer-service> - <remote cluster="ejb" connectors="http-remoting-connector" thread-pool-name="default"> + <remote connectors="http-remoting-connector" thread-pool-name="default"> <channel-creation-options> <option name="MAX_OUTBOUND_MESSAGES" value="1234" type="remoting"/> </channel-creation-options> @@ -252,7 +247,6 @@ <keepalive-time time="60" unit="seconds"/> </thread-pool> </thread-pools> - <iiop enable-by-default="false" use-qualified-name="false"/> <default-security-domain value="other"/> <application-security-domains> <application-security-domain name="other" security-domain="ApplicationDomain"/> @@ -261,7 +255,7 @@ <statistics enabled="${wildfly.ejb3.statistics-enabled:${wildfly.statistics-enabled:false}}"/> <log-system-exceptions value="true"/> </subsystem> - <subsystem xmlns="urn:wildfly:elytron:14.0" final-providers="combined-providers" disallowed-providers="OracleUcrypto"> + <subsystem xmlns="urn:wildfly:elytron:community:18.0" final-providers="combined-providers" disallowed-providers="OracleUcrypto"> <providers> <aggregate-providers name="combined-providers"> <providers name="elytron"/> @@ -274,14 +268,14 @@ <file-audit-log name="local-audit" path="audit.log" relative-to="jboss.server.log.dir" format="JSON"/> </audit-logging> <security-domains> - <security-domain name="ManagementDomain" default-realm="ManagementRealm" permission-mapper="default-permission-mapper"> - <realm name="ManagementRealm" role-decoder="groups-to-roles"/> - <realm name="local" role-mapper="super-user-mapper"/> - </security-domain> <security-domain name="ApplicationDomain" default-realm="ApplicationRealm" permission-mapper="default-permission-mapper"> <realm name="ApplicationRealm" role-decoder="groups-to-roles"/> <realm name="local"/> </security-domain> + <security-domain name="ManagementDomain" default-realm="ManagementRealm" permission-mapper="default-permission-mapper"> + <realm name="ManagementRealm" role-decoder="groups-to-roles"/> + <realm name="local" role-mapper="super-user-mapper"/> + </security-domain> </security-domains> <security-realms> <identity-realm name="local" identity="$local"/> @@ -316,42 +310,42 @@ <permission class-name="org.wildfly.security.auth.permission.LoginPermission"/> </permission-set> <permission-set name="default-permissions"> - <permission class-name="org.wildfly.extension.batch.jberet.deployment.BatchPermission" module="org.wildfly.extension.batch.jberet" target-name="*"/> <permission class-name="org.wildfly.transaction.client.RemoteTransactionPermission" module="org.wildfly.transaction.client"/> <permission class-name="org.jboss.ejb.client.RemoteEJBPermission" module="org.jboss.ejb-client"/> + <permission class-name="org.wildfly.extension.batch.jberet.deployment.BatchPermission" module="org.wildfly.extension.batch.jberet" target-name="*"/> </permission-set> </permission-sets> <http> - <http-authentication-factory name="management-http-authentication" security-domain="ManagementDomain" http-server-mechanism-factory="global"> + <http-authentication-factory name="application-http-authentication" security-domain="ApplicationDomain" http-server-mechanism-factory="global"> <mechanism-configuration> - <mechanism mechanism-name="DIGEST"> - <mechanism-realm realm-name="ManagementRealm"/> + <mechanism mechanism-name="BASIC"> + <mechanism-realm realm-name="ApplicationRealm"/> </mechanism> </mechanism-configuration> </http-authentication-factory> - <http-authentication-factory name="application-http-authentication" security-domain="ApplicationDomain" http-server-mechanism-factory="global"> + <http-authentication-factory name="management-http-authentication" security-domain="ManagementDomain" http-server-mechanism-factory="global"> <mechanism-configuration> - <mechanism mechanism-name="BASIC"> - <mechanism-realm realm-name="ApplicationRealm"/> + <mechanism mechanism-name="DIGEST"> + <mechanism-realm realm-name="ManagementRealm"/> </mechanism> </mechanism-configuration> </http-authentication-factory> <provider-http-server-mechanism-factory name="global"/> </http> <sasl> - <sasl-authentication-factory name="management-sasl-authentication" sasl-server-factory="configured" security-domain="ManagementDomain"> + <sasl-authentication-factory name="application-sasl-authentication" sasl-server-factory="configured" security-domain="ApplicationDomain"> <mechanism-configuration> <mechanism mechanism-name="JBOSS-LOCAL-USER" realm-mapper="local"/> <mechanism mechanism-name="DIGEST-MD5"> - <mechanism-realm realm-name="ManagementRealm"/> + <mechanism-realm realm-name="ApplicationRealm"/> </mechanism> </mechanism-configuration> </sasl-authentication-factory> - <sasl-authentication-factory name="application-sasl-authentication" sasl-server-factory="configured" security-domain="ApplicationDomain"> + <sasl-authentication-factory name="management-sasl-authentication" sasl-server-factory="configured" security-domain="ManagementDomain"> <mechanism-configuration> <mechanism mechanism-name="JBOSS-LOCAL-USER" realm-mapper="local"/> <mechanism mechanism-name="DIGEST-MD5"> - <mechanism-realm realm-name="ApplicationRealm"/> + <mechanism-realm realm-name="ManagementRealm"/> </mechanism> </mechanism-configuration> </sasl-authentication-factory> @@ -385,35 +379,13 @@ <server-ssl-context name="applicationSSC" key-manager="applicationKM"/> </server-ssl-contexts> </tls> + <policy name="jacc"> + <jacc-policy/> + </policy> </subsystem> - <subsystem xmlns="urn:wildfly:elytron-oidc-client:1.0"/> + <subsystem xmlns="urn:wildfly:elytron-oidc-client:2.0"/> <subsystem xmlns="urn:wildfly:health:1.0" security-enabled="false"/> - <subsystem xmlns="urn:jboss:domain:iiop-openjdk:2.1"> - <orb socket-binding="iiop"/> - <initializers security="elytron" transactions="spec"/> - <security server-requires-ssl="false" client-requires-ssl="false"/> - </subsystem> - <subsystem xmlns="urn:jboss:domain:infinispan:13.0"> - <cache-container name="ejb" default-cache="passivation" marshaller="PROTOSTREAM" aliases="sfsb" modules="org.wildfly.clustering.ejb.infinispan"> - <local-cache name="passivation"> - <expiration interval="0"/> - <file-store passivation="true" purge="false"/> - </local-cache> - </cache-container> - <cache-container name="web" default-cache="passivation" marshaller="PROTOSTREAM" modules="org.wildfly.clustering.web.infinispan"> - <local-cache name="passivation"> - <expiration interval="0"/> - <file-store passivation="true" purge="false"/> - </local-cache> - <local-cache name="sso"> - <expiration interval="0"/> - </local-cache> - </cache-container> - <cache-container name="server" default-cache="default" marshaller="PROTOSTREAM" modules="org.wildfly.clustering.server"> - <local-cache name="default"> - <expiration interval="0"/> - </local-cache> - </cache-container> + <subsystem xmlns="urn:jboss:domain:infinispan:14.0"> <cache-container name="hibernate" marshaller="JBOSS" modules="org.infinispan.hibernate-cache"> <local-cache name="entity"> <heap-memory size="10000"/> @@ -430,13 +402,39 @@ <expiration max-idle="60000"/> </local-cache> </cache-container> + <cache-container name="ejb" default-cache="passivation" marshaller="PROTOSTREAM" aliases="sfsb" modules="org.wildfly.clustering.ejb.infinispan"> + <local-cache name="passivation"> + <expiration interval="0"/> + <file-store passivation="true"/> + </local-cache> + <local-cache name="persistent"> + <locking isolation="REPEATABLE_READ"/> + <transaction mode="BATCH"/> + <expiration interval="0"/> + <file-store preload="true"/> + </local-cache> + <local-cache name="transient"> + <locking isolation="REPEATABLE_READ"/> + <transaction mode="BATCH"/> + <expiration interval="0"/> + <file-store passivation="true" purge="true"/> + </local-cache> + </cache-container> + <cache-container name="web" default-cache="passivation" marshaller="PROTOSTREAM" modules="org.wildfly.clustering.web.infinispan"> + <local-cache name="passivation"> + <expiration interval="0"/> + <file-store passivation="true"/> + </local-cache> + <local-cache name="sso"> + <expiration interval="0"/> + </local-cache> + </cache-container> </subsystem> - <subsystem xmlns="urn:jboss:domain:io:3.0"> + <subsystem xmlns="urn:jboss:domain:io:4.0" default-worker="default"> <worker name="default"/> - <buffer-pool name="default"/> </subsystem> - <subsystem xmlns="urn:jboss:domain:jaxrs:2.0"/> - <subsystem xmlns="urn:jboss:domain:jca:5.0"> + <subsystem xmlns="urn:jboss:domain:jaxrs:3.0"/> + <subsystem xmlns="urn:jboss:domain:jca:6.0"> <archive-validation enabled="true" fail-on-error="true" fail-on-warn="false"/> <bean-validation enabled="true"/> <default-workmanager> @@ -465,60 +463,24 @@ <jpa default-extended-persistence-inheritance="DEEP"/> </subsystem> <subsystem xmlns="urn:jboss:domain:jsf:1.1"/> - <subsystem xmlns="urn:jboss:domain:jsr77:1.0"/> <subsystem xmlns="urn:jboss:domain:mail:4.0"> <mail-session name="default" jndi-name="java:jboss/mail/Default"> <smtp-server outbound-socket-binding-ref="mail-smtp"/> </mail-session> </subsystem> - <subsystem xmlns="urn:jboss:domain:messaging-activemq:13.0"> - <server name="default"> - <security elytron-domain="ApplicationDomain"/> - <statistics enabled="${wildfly.messaging-activemq.statistics-enabled:${wildfly.statistics-enabled:false}}"/> - <security-setting name="#"> - <role name="guest" send="true" consume="true" create-non-durable-queue="true" delete-non-durable-queue="true"/> - </security-setting> - <address-setting name="#" dead-letter-address="jms.queue.DLQ" expiry-address="jms.queue.ExpiryQueue" max-size-bytes="10485760" page-size-bytes="2097152" message-counter-history-day-limit="10"/> - <http-connector name="http-connector" socket-binding="http" endpoint="http-acceptor"/> - <http-connector name="http-connector-throughput" socket-binding="http" endpoint="http-acceptor-throughput"> - <param name="batch-delay" value="50"/> - </http-connector> - <in-vm-connector name="in-vm" server-id="0"> - <param name="buffer-pooling" value="false"/> - </in-vm-connector> - <http-acceptor name="http-acceptor" http-listener="default"/> - <http-acceptor name="http-acceptor-throughput" http-listener="default"> - <param name="batch-delay" value="50"/> - <param name="direct-deliver" value="false"/> - </http-acceptor> - <in-vm-acceptor name="in-vm" server-id="0"> - <param name="buffer-pooling" value="false"/> - </in-vm-acceptor> - <jms-queue name="ExpiryQueue" entries="java:/jms/queue/ExpiryQueue"/> - <jms-queue name="DLQ" entries="java:/jms/queue/DLQ"/> - <jms-queue name="BatchJMSQueue" entries="java:/jms/queue/batchJMSQueue"/> - <connection-factory name="InVmConnectionFactory" entries="java:/ConnectionFactory" connectors="in-vm"/> - <connection-factory name="RemoteConnectionFactory" entries="java:jboss/exported/jms/RemoteConnectionFactory" connectors="http-connector"/> - <pooled-connection-factory name="activemq-ra" entries="java:/JmsXA java:jboss/DefaultJMSConnectionFactory" connectors="in-vm" transaction="xa"/> - </server> - </subsystem> <subsystem xmlns="urn:wildfly:metrics:1.0" security-enabled="false" exposed-subsystems="*" prefix="${wildfly.metrics.prefix:wildfly}"/> - <subsystem xmlns="urn:wildfly:microprofile-config-smallrye:1.0"/> + <subsystem xmlns="urn:wildfly:microprofile-config-smallrye:2.0"/> <subsystem xmlns="urn:wildfly:microprofile-jwt-smallrye:1.0"/> - <subsystem xmlns="urn:wildfly:microprofile-opentracing-smallrye:3.0" default-tracer="jaeger"> - <jaeger-tracer name="jaeger"> - <sampler-configuration sampler-type="const" sampler-param="1.0"/> - </jaeger-tracer> - </subsystem> <subsystem xmlns="urn:jboss:domain:naming:2.0"> <remote-naming/> </subsystem> <subsystem xmlns="urn:jboss:domain:pojo:1.0"/> - <subsystem xmlns="urn:jboss:domain:remoting:4.0"> + <subsystem xmlns="urn:jboss:domain:remoting:7.0"> + <endpoint worker="default"/> <http-connector name="http-remoting-connector" connector-ref="default" sasl-authentication-factory="application-sasl-authentication"/> </subsystem> <subsystem xmlns="urn:jboss:domain:request-controller:1.0"/> - <subsystem xmlns="urn:jboss:domain:resource-adapters:6.0"/> + <subsystem xmlns="urn:jboss:domain:resource-adapters:7.1"/> <subsystem xmlns="urn:jboss:domain:sar:1.0"/> <subsystem xmlns="urn:jboss:domain:security-manager:1.0"> <deployment-permissions> @@ -537,7 +499,8 @@ <coordinator-environment statistics-enabled="${wildfly.transactions.statistics-enabled:${wildfly.statistics-enabled:false}}"/> <object-store path="tx-object-store" relative-to="jboss.server.data.dir"/> </subsystem> - <subsystem xmlns="urn:jboss:domain:undertow:12.0" default-server="default-server" default-virtual-host="default-host" default-servlet-container="default" default-security-domain="other" statistics-enabled="${wildfly.undertow.statistics-enabled:${wildfly.statistics-enabled:false}}"> + <subsystem xmlns="urn:jboss:domain:undertow:14.0" default-virtual-host="default-host" default-servlet-container="default" default-server="default-server" statistics-enabled="${wildfly.undertow.statistics-enabled:${wildfly.statistics-enabled:false}}" default-security-domain="other"> + <byte-buffer-pool name="default"/> <buffer-cache name="default"/> <server name="default-server"> <http-listener name="default" socket-binding="http" redirect-socket="https" enable-http2="true"/> @@ -568,7 +531,7 @@ </endpoint-config> <client-config name="Standard-Client-Config"/> </subsystem> - <subsystem xmlns="urn:jboss:domain:weld:4.0"/> + <subsystem xmlns="urn:jboss:domain:weld:5.0"/> </profile> <interfaces> <interface name="management"> @@ -577,16 +540,11 @@ <interface name="public"> <inet-address value="${jboss.bind.address:127.0.0.1}"/> </interface> - <interface name="unsecure"> - <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/> - </interface> </interfaces> <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}"> <socket-binding name="ajp" port="${jboss.ajp.port:8009}"/> <socket-binding name="http" port="${jboss.http.port:8080}"/> <socket-binding name="https" port="${jboss.https.port:8443}"/> - <socket-binding name="iiop" interface="unsecure" port="3528"/> - <socket-binding name="iiop-ssl" interface="unsecure" port="3529"/> <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/> <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9993}"/> <socket-binding name="txn-recovery-environment" port="4712"/>