Preparation for Zanata 4 version upgrade

There are some different changes in standalone.xml between
Zanata version 3 and 4. A version flag is implemented to
rollout the right version from template dir. For backwards
compatibility Zanata version 3 and 4 are supported yet.
Wildfly 9 stuff is removed because we have still Wildfly 10
running. That simplifies the manifest. Switch download URLs
to github, so there is also a standard to fetch files.

Change-Id: I5ada09cad7a19296802b22c2c3488ca547f2f14e
hint: http://docs.zanata.org/en/release/release-notes/#400
This commit is contained in:
Frank Kloeker 2017-09-22 23:55:26 +02:00
parent 1619f290d7
commit e1fb24b955
4 changed files with 46 additions and 712 deletions

View File

@ -20,24 +20,17 @@ class zanata(
$zanata_db_password,
$mysql_host = 'localhost',
$mysql_port = '3306',
$zanata_main_version = 3,
$zanata_db_name = 'zanata',
$zanata_db_username = 'zanata',
# For wildfly < 10 the zanata_url below is expected to be a url to a built
# war for wildfly >=10 the expectation is that it is the url to one of the
# published zipfiles that can be overlaid atop the wildfly installation
# dir.
$zanata_wildfly_version = '9.0.1',
$zanata_wildfly_install_url = 'https://repo1.maven.org/maven2/org/wildfly/wildfly-dist/9.0.1.Final/wildfly-dist-9.0.1.Final.tar.gz',
$zanata_wildfly_version = '10.1.0',
$zanata_wildfly_install_url = 'https://repo1.maven.org/maven2/org/wildfly/wildfly-dist/10.1.0.Final/wildfly-dist-10.1.0.Final.tar.gz',
$zanata_hibernate_url = 'https://sourceforge.net/projects/zanata/files/wildfly/wildfly-8.1.0.Final-module-hibernate-main-4.2.15.Final.zip',
$zanata_mojarra_url = 'https://sourceforge.net/projects/zanata/files/wildfly/wildfly-8.1.0.Final-module-mojarra-2.1.28.zip',
# The default here is to a war file and can be used with wildfly < 10.
# If using wildfly >= 10 an example url would be:
# https://github.com/zanata/zanata-server/releases/download/server-3.9.6/zanata-3.9.6-wildfly.zip
$zanata_url = 'https://sourceforge.net/projects/zanata/files/webapp/zanata-war-3.7.3.war',
$zanata_url = 'https://github.com/zanata/zanata-server/releases/download/server-3.9.6/zanata-3.9.6-wildfly.zip',
# newer repo,e.g. https://github.com/zanata/zanata-platform/releases/download/platform-4.2.1/zanata-4.2.1-wildfly.zip
# This should be a sha1 of whatever file is hosted at the url above.
$zanata_checksum = '59f1ac35cce46ba4e46b06a239cd7ab4e10b5528',
$zanata_checksum = 'cb7a477f46a118a337b59b9f4004ef7e6c77a1a8',
$zanata_storage_dir = '/home/wildfly/zanata',
@ -58,8 +51,6 @@ class zanata(
$zanata_file = inline_template('<%= File.basename(@zanata_url) %>')
$zanata_ext = inline_template('<%= File.extname(@zanata_url) %>')
$wildfly_file = inline_template('<%= File.basename(@zanata_wildfly_install_url) %>')
$zanata_hibernate_file = inline_template('<%= File.basename(@zanata_hibernate_url) %>')
$zanata_mojarra_file = inline_template('<%= File.basename(@zanata_mojarra_url) %>')
class { '::zanata::wildfly':
wildfly_version => $zanata_wildfly_version,
@ -77,79 +68,7 @@ class zanata(
}
include '::archive'
if ($zanata_ext == '.war') {
# This implies the old wildfly <10 install method of installing wildfly
# then manually injecting deps and the war into the wildfly install.
# You need to make sure you provide a .war file url for zanata when
# using wildfly < 10.
package { 'libmysql-java':
ensure => present,
}
# The mysql driver name differs based on the version of the package. Ensure
# we set it correctly when writing the standalone.xml config file below.
# Note that this isn't the name used by files on disk, rather it is some
# java class lookup name used in the standalone.xml configuration file.
if ($::operatingsystem == 'Ubuntu') and ($::operatingsystemrelease >= '16.04') {
$mysql_driver_name = 'mysql-connector-java.jar_com.mysql.jdbc.Driver_5_1'
}
else {
$mysql_driver_name = 'mysql-connector-java.jar'
}
file { '/opt/wildfly/standalone/deployments/mysql-connector-java.jar':
ensure => 'link',
target => '/usr/share/java/mysql-connector-java.jar',
require => [
Package['libmysql-java'],
Class['zanata::wildfly'],
],
}
archive { '/opt/wildfly/standalone/deployments/ROOT.war':
ensure => present,
user => 'wildfly',
source => $zanata_url,
checksum_type => 'sha1',
checksum => $zanata_checksum,
require => [
Class['wildfly::install'],
]
}
archive { "/home/wildfly/${zanata_hibernate_file}":
ensure => present,
user => 'wildfly',
source => $zanata_hibernate_url,
extract => true,
extract_path => '/opt/wildfly/',
require => Package['unzip'],
}
archive { "/home/wildfly/${zanata_mojarra_file}":
ensure => present,
user => 'wildfly',
source => $zanata_mojarra_url,
extract => true,
extract_path => '/opt/wildfly/',
require => Package['unzip'],
}
file { '/opt/wildfly/standalone/configuration/standalone.xml':
ensure => present,
notify => Service['wildfly'],
owner => wildfly,
group => wildfly,
content => template('zanata/wildfly-9-standalone.xml.erb'),
require => [
Class['zanata::wildfly'],
Archive['/opt/wildfly/standalone/deployments/ROOT.war'],
Archive["/home/wildfly/${zanata_mojarra_file}"],
Archive["/home/wildfly/${zanata_hibernate_file}"],
],
}
}
elsif ($zanata_ext == '.zip') {
if ($zanata_ext == '.zip') {
# This implies the newer wildfly >= 10 install method where we install
# wildfly, then unpack the zanata zip file into that install dir which
# gives us all of our deps. You need to make sure you provide a .zip file
@ -180,7 +99,6 @@ class zanata(
require => Archive["/tmp/${zanata_file}"],
}
# TODO make this handle wildfly >= 10.
file { '/opt/wildfly/standalone/configuration/standalone.xml':
ensure => present,
notify => Service['wildfly'],
@ -195,7 +113,7 @@ class zanata(
}
}
else {
fail('zanata_url must be for a .war or .zip file.')
fail('zanata_url must be for a .zip file.')
}
}

View File

@ -15,8 +15,8 @@
# == Class: zanata::wildfly
#
class zanata::wildfly(
$wildfly_version = '9.0.1',
$wildfly_install_source = 'https://repo1.maven.org/maven2/org/wildfly/wildfly-dist/9.0.1.Final/wildfly-dist-9.0.1.Final.tar.gz',
$wildfly_version = '10.1.0',
$wildfly_install_source = 'https://repo1.maven.org/maven2/org/wildfly/wildfly-dist/10.1.0.Final/wildfly-dist-10.1.0.Final.tar.gz',
) {
$javahome = '/usr/lib/jvm/default-java/jre/'

View File

@ -32,15 +32,45 @@
<extension module="org.wildfly.extension.security.manager" />
<extension module="org.wildfly.extension.undertow" />
</extensions>
<system-properties>
<% if @zanata_main_version.to_i < 4 -%>
<property name="javamelody.storage-directory" value="<%= @zanata_storage_dir %>/stats"/>
<property name="hibernate.search.default.indexBase" value="<%= @zanata_storage_dir %>/indexes"/>
<property name="ehcache.disk.store.dir" value="<%= @zanata_storage_dir %>/ehcache"/>
<property name="jboss.as.management.blocking.timeout" value="1000"/>
<% else -%>
<property name="javamelody.storage-directory" value="<%= @zanata_storage_dir %>/stats"/>
<property name="hibernate.search.default.indexBase" value="<%= @zanata_storage_dir %>/indexes"/>
<property name="jboss.as.management.blocking.timeout" value="1000"/>
<property name="zanata.security.authpolicy.internal" value="zanata.internal"/>
<property name="zanata.security.authpolicy.openid" value="zanata.openid"/>
<% if @zanata_admin_users != '' -%>
<property name="zanata.security.adminusers" value="<%= @zanata_admin_users %>"/>
<% else -%>
<property name="zanata.security.adminusers" value="admin"/>
<% end -%>
<property name="zanata.file.directory" value="<%= @zanata_storage_dir %>/files"/>
<property name="zanata.email.defaultfromaddress" value="<%= @zanata_default_from_address %>"/>
<% if @zanata_smtp_host != '' -%>
<property name="zanata.smtp.host" value="<%= @zanata_smtp_host %>" />
<% end -%>
<% if @zanata_smtp_port != '' -%>
<property name="zanata.smtp.port" value="<%= @zanata_smtp_port %>" />
<% end -%>
<% if @zanata_smtp_username != '' -%>
<property name="zanata.smtp.username" value="<%= @zanata_smtp_username %>" />
<% end -%>
<% if @zanata_smtp_password != '' -%>
<property name="zanata.smtp.password" value="<%= @zanata_smtp_password %>" />
<% end -%>
<% if @zanata_smtp_tls != '' -%>
<property name="zanata.smtp.tls" value="<%= @zanata_smtp_tls %>" />
<% end -%>
<% if @zanata_smtp_ssl != '' -%>
<property name="zanata.smtp.ssl" value="<%= @zanata_smtp_ssl %>" />
<% end -%>
<% end -%>
</system-properties>
<management>
<security-realms>
<security-realm name="ManagementRealm">
@ -455,6 +485,7 @@
</subsystem>
<subsystem xmlns="urn:jboss:domain:naming:2.0">
<bindings>
<% if @zanata_main_version.to_i < 4 -%>
<% if @zanata_openid_provider_url == '' -%>
<simple name="java:global/zanata/security/auth-policy-names/internal" value="zanata.internal"/>
<% end -%>
@ -484,6 +515,8 @@
<% if @zanata_smtp_ssl != '' -%>
<simple name="java:global/zanata/smtp/ssl" value="<%= @zanata_smtp_ssl %>" />
<% end -%>
<% end -%>
</bindings>
<remote-naming />
</subsystem>

View File

@ -1,617 +0,0 @@
<?xml version='1.0' encoding='UTF-8'?>
<server xmlns="urn:jboss:domain:2.1">
<extensions>
<extension module="org.jboss.as.clustering.infinispan"/>
<extension module="org.jboss.as.connector"/>
<extension module="org.jboss.as.deployment-scanner"/>
<extension module="org.jboss.as.ee"/>
<extension module="org.jboss.as.ejb3"/>
<extension module="org.jboss.as.jaxrs"/>
<extension module="org.jboss.as.jdr"/>
<extension module="org.jboss.as.jmx"/>
<extension module="org.jboss.as.jpa"/>
<extension module="org.jboss.as.jsf"/>
<extension module="org.jboss.as.logging"/>
<extension module="org.jboss.as.mail"/>
<extension module="org.jboss.as.messaging"/>
<extension module="org.jboss.as.naming"/>
<extension module="org.jboss.as.pojo"/>
<extension module="org.jboss.as.remoting"/>
<extension module="org.jboss.as.sar"/>
<extension module="org.jboss.as.security"/>
<extension module="org.jboss.as.transactions"/>
<extension module="org.jboss.as.webservices"/>
<extension module="org.wildfly.extension.batch"/>
<extension module="org.wildfly.extension.io"/>
<extension module="org.wildfly.extension.undertow"/>
</extensions>
<system-properties>
<property name="javamelody.storage-directory" value="<%= @zanata_storage_dir %>/stats"/>
<property name="hibernate.search.default.indexBase" value="<%= @zanata_storage_dir %>/indexes"/>
<property name="ehcache.disk.store.dir" value="<%= @zanata_storage_dir %>/ehcache"/>
</system-properties>
<management>
<security-realms>
<security-realm name="ManagementRealm">
<authentication>
<local default-user="$local" skip-group-loading="true"/>
<properties path="mgmt-users.properties" relative-to="jboss.server.config.dir"/>
</authentication>
<authorization map-groups-to-roles="false">
<properties path="mgmt-groups.properties" relative-to="jboss.server.config.dir"/>
</authorization>
</security-realm>
<security-realm name="ApplicationRealm">
<authentication>
<local default-user="$local" allowed-users="*" skip-group-loading="true"/>
<properties path="application-users.properties" relative-to="jboss.server.config.dir"/>
</authentication>
<authorization>
<properties path="application-roles.properties" relative-to="jboss.server.config.dir"/>
</authorization>
</security-realm>
</security-realms>
<audit-log>
<formatters>
<json-formatter name="json-formatter"/>
</formatters>
<handlers>
<file-handler name="file" formatter="json-formatter" path="audit-log.log" relative-to="jboss.server.data.dir"/>
</handlers>
<logger log-boot="true" log-read-only="false" enabled="false">
<handlers>
<handler name="file"/>
</handlers>
</logger>
</audit-log>
<management-interfaces>
<http-interface security-realm="ManagementRealm" http-upgrade-enabled="true">
<socket-binding http="management-http"/>
</http-interface>
</management-interfaces>
<access-control provider="simple">
<role-mapping>
<role name="SuperUser">
<include>
<user name="$local"/>
</include>
</role>
</role-mapping>
</access-control>
</management>
<profile>
<subsystem xmlns="urn:jboss:domain:logging:2.0">
<console-handler name="CONSOLE">
<level name="INFO"/>
<formatter>
<named-formatter name="COLOR-PATTERN"/>
</formatter>
</console-handler>
<periodic-rotating-file-handler name="FILE" autoflush="true">
<formatter>
<named-formatter name="PATTERN"/>
</formatter>
<file relative-to="jboss.server.log.dir" path="server.log"/>
<suffix value=".yyyy-MM-dd"/>
<append value="true"/>
</periodic-rotating-file-handler>
<logger category="com.arjuna">
<level name="WARN"/>
</logger>
<logger category="org.apache.tomcat.util.modeler">
<level name="WARN"/>
</logger>
<logger category="org.jboss.as.config">
<level name="DEBUG"/>
</logger>
<logger category="sun.rmi">
<level name="WARN"/>
</logger>
<logger category="jacorb">
<level name="WARN"/>
</logger>
<logger category="jacorb.config">
<level name="ERROR"/>
</logger>
<root-logger>
<level name="INFO"/>
<handlers>
<handler name="CONSOLE"/>
<handler name="FILE"/>
</handlers>
</root-logger>
<formatter name="PATTERN">
<pattern-formatter pattern="%d{HH:mm:ss,SSS}Z %-5p [%c] (%t) %s%E%n"/>
</formatter>
<formatter name="COLOR-PATTERN">
<pattern-formatter pattern="%K{level}%z{utc}%d{yyyy-MM-dd}T%d{HH:mm:ss,SSS}Z %-5p [%c] (%t) %s%E%n"/>
</formatter>
</subsystem>
<subsystem xmlns="urn:jboss:domain:batch:1.0">
<job-repository>
<in-memory/>
</job-repository>
<thread-pool>
<max-threads count="10"/>
<keepalive-time time="30" unit="seconds"/>
</thread-pool>
</subsystem>
<subsystem xmlns="urn:jboss:domain:datasources:2.0">
<datasources>
<datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
<connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
<driver>h2</driver>
<security>
<user-name>sa</user-name>
<password>sa</password>
</security>
</datasource>
<datasource jndi-name="java:jboss/datasources/zanataDatasource" pool-name="zanataDatasource" enabled="true" use-ccm="false">
<connection-url>jdbc:mysql://<%= @mysql_host %>:<%= @mysql_port %>/zanata?characterEncoding=UTF-8</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<driver><%= @mysql_driver_name %></driver>
<pool>
<min-pool-size>0</min-pool-size>
<max-pool-size>20</max-pool-size>
<flush-strategy>FailingConnectionOnly</flush-strategy>
</pool>
<security>
<user-name><%= @zanata_db_username %></user-name>
<% if @zanata_db_password != '' -%>
<password><%= @zanata_db_password %></password>
<% end -%>
</security>
<statement>
<track-statements>NOWARN</track-statements>
</statement>
</datasource>
<drivers>
<driver name="h2" module="com.h2database.h2">
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
</driver>
</drivers>
</datasources>
</subsystem>
<subsystem xmlns="urn:jboss:domain:deployment-scanner:2.0">
<deployment-scanner path="deployments" relative-to="jboss.server.base.dir" scan-interval="5000"/>
</subsystem>
<subsystem xmlns="urn:jboss:domain:ee:2.0">
<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-services>
<managed-thread-factories>
<managed-thread-factory name="default" jndi-name="java:jboss/ee/concurrency/factory/default" context-service="default"/>
</managed-thread-factories>
<managed-executor-services>
<managed-executor-service name="default" jndi-name="java:jboss/ee/concurrency/executor/default" context-service="default" hung-task-threshold="60000" core-threads="5" max-threads="25" keepalive-time="5000"/>
</managed-executor-services>
<managed-scheduled-executor-services>
<managed-scheduled-executor-service name="default" jndi-name="java:jboss/ee/concurrency/scheduler/default" context-service="default" hung-task-threshold="60000" core-threads="2" 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"/>
</subsystem>
<subsystem xmlns="urn:jboss:domain:ejb3:2.0">
<session-bean>
<stateful default-access-timeout="5000" cache-ref="simple" passivation-disabled-cache-ref="simple"/>
<singleton default-access-timeout="5000"/>
</session-bean>
<pools>
<bean-instance-pools>
<strict-max-pool name="slsb-strict-max-pool" max-pool-size="20" instance-acquisition-timeout="5" instance-acquisition-timeout-unit="MINUTES"/>
<strict-max-pool name="mdb-strict-max-pool" max-pool-size="20" 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"/>
</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 connector-ref="http-remoting-connector" thread-pool-name="default"/>
<thread-pools>
<thread-pool name="default">
<max-threads count="10"/>
<keepalive-time time="100" unit="milliseconds"/>
</thread-pool>
</thread-pools>
<default-security-domain value="other"/>
<default-missing-method-permissions-deny-access value="true"/>
<mdb>
<resource-adapter-ref resource-adapter-name="hornetq-ra"/>
<bean-instance-pool-ref pool-name="mdb-strict-max-pool"/>
</mdb>
</subsystem>
<subsystem xmlns="urn:jboss:domain:io:1.1">
<worker name="default"/>
<buffer-pool name="default"/>
</subsystem>
<subsystem xmlns="urn:jboss:domain:infinispan:2.0">
<cache-container name="zanata" default-cache="default"
jndi-name="java:jboss/infinispan/container/zanata"
start="EAGER"
module="org.jboss.as.clustering.web.infinispan">
<local-cache name="default">
<transaction mode="NON_XA"/>
<eviction strategy="LRU" max-entries="10000"/>
<expiration max-idle="100000"/>
</local-cache>
</cache-container>
<cache-container name="web" default-cache="passivation" module="org.wildfly.clustering.web.infinispan">
<local-cache name="passivation" batching="true">
<file-store passivation="true" purge="false"/>
</local-cache>
<local-cache name="persistent" batching="true">
<file-store passivation="false" purge="false"/>
</local-cache>
</cache-container>
<cache-container name="ejb" default-cache="passivation" module="org.wildfly.clustering.ejb.infinispan" aliases="sfsb">
<local-cache name="passivation" batching="true">
<file-store passivation="true" purge="false"/>
</local-cache>
<local-cache name="persistent" batching="true">
<file-store passivation="false" purge="false"/>
</local-cache>
</cache-container>
<cache-container name="hibernate" default-cache="local-query" module="org.hibernate">
<local-cache name="entity">
<transaction mode="NON_XA"/>
<eviction strategy="LRU" max-entries="10000"/>
<expiration max-idle="100000"/>
</local-cache>
<local-cache name="local-query">
<transaction mode="NONE"/>
<eviction strategy="LRU" max-entries="10000"/>
<expiration max-idle="100000"/>
</local-cache>
<local-cache name="timestamps">
<transaction mode="NONE"/>
<eviction strategy="NONE"/>
</local-cache>
</cache-container>
</subsystem>
<subsystem xmlns="urn:jboss:domain:jaxrs:1.0"/>
<subsystem xmlns="urn:jboss:domain:jca:2.0">
<archive-validation enabled="true" fail-on-error="true" fail-on-warn="false"/>
<bean-validation enabled="true"/>
<default-workmanager>
<short-running-threads>
<core-threads count="50"/>
<queue-length count="50"/>
<max-threads count="50"/>
<keepalive-time time="10" unit="seconds"/>
</short-running-threads>
<long-running-threads>
<core-threads count="50"/>
<queue-length count="50"/>
<max-threads count="50"/>
<keepalive-time time="10" unit="seconds"/>
</long-running-threads>
</default-workmanager>
<cached-connection-manager debug="true"/>
</subsystem>
<subsystem xmlns="urn:jboss:domain:jdr:1.0"/>
<subsystem xmlns="urn:jboss:domain:jmx:1.3">
<expose-resolved-model/>
<expose-expression-model/>
<remoting-connector/>
</subsystem>
<subsystem xmlns="urn:jboss:domain:jpa:1.1">
<jpa default-datasource="" default-extended-persistence-inheritance="DEEP"/>
</subsystem>
<subsystem xmlns="urn:jboss:domain:jsf:1.0" default-jsf-impl-slot="mojarra-2.1.28"/>
<subsystem xmlns="urn:jboss:domain:mail:2.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:2.0">
<hornetq-server>
<persistence-enabled>true</persistence-enabled>
<security-enabled>false</security-enabled>
<journal-type>NIO</journal-type>
<journal-file-size>102400</journal-file-size>
<journal-min-files>2</journal-min-files>
<connectors>
<http-connector name="http-connector" socket-binding="http">
<param key="http-upgrade-endpoint" value="http-acceptor"/>
</http-connector>
<http-connector name="http-connector-throughput" socket-binding="http">
<param key="http-upgrade-endpoint" value="http-acceptor-throughput"/>
<param key="batch-delay" value="50"/>
</http-connector>
<in-vm-connector name="in-vm" server-id="0"/>
</connectors>
<acceptors>
<http-acceptor name="http-acceptor" http-listener="default"/>
<http-acceptor name="http-acceptor-throughput" http-listener="default">
<param key="batch-delay" value="50"/>
<param key="direct-deliver" value="false"/>
</http-acceptor>
<in-vm-acceptor name="in-vm" server-id="0"/>
</acceptors>
<security-settings>
<security-setting match="#">
<permission type="send" roles="guest"/>
<permission type="consume" roles="guest"/>
<permission type="createNonDurableQueue" roles="guest"/>
<permission type="deleteNonDurableQueue" roles="guest"/>
</security-setting>
</security-settings>
<address-settings>
<!--default for catch all-->
<address-setting match="#">
<dead-letter-address>jms.queue.DLQ</dead-letter-address>
<expiry-address>jms.queue.ExpiryQueue</expiry-address>
<redelivery-delay>5000</redelivery-delay>
<max-delivery-attempts>2</max-delivery-attempts>
<max-size-bytes>10485760</max-size-bytes>
<page-size-bytes>2097152</page-size-bytes>
<address-full-policy>BLOCK</address-full-policy>
<message-counter-history-day-limit>10</message-counter-history-day-limit>
</address-setting>
</address-settings>
<jms-connection-factories>
<connection-factory name="InVmConnectionFactory">
<connectors>
<connector-ref connector-name="in-vm"/>
</connectors>
<entries>
<entry name="java:/ConnectionFactory"/>
</entries>
</connection-factory>
<connection-factory name="RemoteConnectionFactory">
<connectors>
<connector-ref connector-name="http-connector"/>
</connectors>
<entries>
<entry name="java:jboss/exported/jms/RemoteConnectionFactory"/>
</entries>
</connection-factory>
<pooled-connection-factory name="hornetq-ra">
<transaction mode="xa"/>
<connectors>
<connector-ref connector-name="in-vm"/>
</connectors>
<entries>
<entry name="java:/JmsXA"/>
<!-- Global JNDI entry used to provide a default JMS Connection factory to EE application -->
<entry name="java:jboss/DefaultJMSConnectionFactory"/>
</entries>
</pooled-connection-factory>
</jms-connection-factories>
<jms-destinations>
<jms-queue name="MailsQueue">
<entry name="jms/queue/MailsQueue"/>
<durable>true</durable>
</jms-queue>
<jms-queue name="ExpiryQueue">
<entry name="jms/queue/ExpiryQueue"/>
<durable>true</durable>
</jms-queue>
<jms-queue name="DLQ">
<entry name="jms/queue/DLQ"/>
<durable>true</durable>
</jms-queue>
</jms-destinations>
</hornetq-server>
</subsystem>
<subsystem xmlns="urn:jboss:domain:naming:2.0">
<bindings>
<% if @zanata_openid_provider_url == '' -%>
<simple name="java:global/zanata/security/auth-policy-names/internal" value="zanata.internal"/>
<% end -%>
<simple name="java:global/zanata/security/auth-policy-names/openid" value="zanata.openid"/>
<% if @zanata_admin_users != '' -%>
<simple name="java:global/zanata/security/admin-users" value="<%= @zanata_admin_users %>"/>
<% else -%>
<simple name="java:global/zanata/security/admin-users" value="admin"/>
<% end -%>
<simple name="java:global/zanata/files/document-storage-directory" value="<%= @zanata_storage_dir %>/files"/>
<simple name="java:global/zanata/email/default-from-address" value="<%= @zanata_default_from_address %>"/>
<% if @zanata_smtp_host != '' -%>
<simple name="java:global/zanata/smtp/host" value="<%= @zanata_smtp_host %>" />
<% end -%>
<% if @zanata_smtp_port != '' -%>
<simple name="java:global/zanata/smtp/port" value="<%= @zanata_smtp_port %>" />
<% end -%>
<% if @zanata_smtp_username != '' -%>
<simple name="java:global/zanata/smtp/username" value="<%= @zanata_smtp_username %>" />
<% end -%>
<% if @zanata_smtp_password != '' -%>
<simple name="java:global/zanata/smtp/password" value="<%= @zanata_smtp_password %>" />
<% end -%>
<% if @zanata_smtp_tls != '' -%>
<simple name="java:global/zanata/smtp/tls" value="<%= @zanata_smtp_tls %>" />
<% end -%>
<% if @zanata_smtp_ssl != '' -%>
<simple name="java:global/zanata/smtp/ssl" value="<%= @zanata_smtp_ssl %>" />
<% end -%>
</bindings>
<remote-naming/>
</subsystem>
<subsystem xmlns="urn:jboss:domain:pojo:1.0"/>
<subsystem xmlns="urn:jboss:domain:remoting:2.0">
<endpoint worker="default"/>
<http-connector name="http-remoting-connector" connector-ref="default" security-realm="ApplicationRealm"/>
</subsystem>
<subsystem xmlns="urn:jboss:domain:resource-adapters:2.0"/>
<subsystem xmlns="urn:jboss:domain:sar:1.0"/>
<subsystem xmlns="urn:jboss:domain:security:1.2">
<security-domains>
<security-domain name="zanata">
<authentication>
<login-module code="org.zanata.security.ZanataCentralLoginModule" flag="required"/>
</authentication>
</security-domain>
<security-domain name="zanata.internal">
<authentication>
<login-module code="org.jboss.seam.security.jaas.SeamLoginModule" flag="required"/>
</authentication>
</security-domain>
<security-domain name="zanata.openid">
<authentication>
<login-module code="org.zanata.security.OpenIdLoginModule" flag="required">
<% if @zanata_openid_provider_url != '' -%>
<module-option name="providerURL" value="<%= @zanata_openid_provider_url %>" />
<% end -%>
</login-module>
</authentication>
</security-domain>
<security-domain name="zanata.jaas">
<authentication>
<login-module code="org.jboss.security.auth.spi.DatabaseServerLoginModule" flag="required">
<module-option name="dsJndiName" value="java:authdb"/>
<module-option name="principalsQuery" value="SELECT password FROM users WHERE username = ?"/>
<module-option name="rolesQuery" value="select '','' FROM users WHERE username = ?"/>
<module-option name="hashAlgorithm" value="md5"/>
<module-option name="hashEncoding" value="hex"/>
</login-module>
</authentication>
</security-domain>
<security-domain name="zanata.kerberos">
<authentication>
<login-module code="org.jboss.security.negotiation.spnego.SPNEGOLoginModule" flag="sufficient">
<module-option name="password-stacking" value="useFirstPass"/>
<module-option name="serverSecurityDomain" value="host"/>
<module-option name="removeRealmFromPrincipal" value="true"/>
<module-option name="usernamePasswordDomain" value="krb5"/>
</login-module>
</authentication>
</security-domain>
<security-domain name="krb5">
<authentication>
<login-module code="com.sun.security.auth.module.Krb5LoginModule" flag="sufficient">
<module-option name="storePass" value="false"/>
<module-option name="clearPass" value="true"/>
<module-option name="debug" value="true"/>
<module-option name="doNotPrompt" value="false"/>
</login-module>
</authentication>
</security-domain>
<security-domain name="host">
<authentication>
<login-module code="com.sun.security.auth.module.Krb5LoginModule" flag="required">
<module-option name="storeKey" value="true"/>
<module-option name="useKeyTab" value="true"/>
<module-option name="principal" value="HTTP/zanata-master-kerberos.lab.eng.bne.redhat.com@REDHAT.COM"/>
<module-option name="keyTab" value="/usr/share/jbossas/standalone/configuration/jboss.keytab"/>
<module-option name="doNotPrompt" value="true"/>
<module-option name="debug" value="true"/>
</login-module>
</authentication>
</security-domain>
<security-domain name="other" cache-type="default">
<authentication>
<login-module code="Remoting" flag="optional">
<module-option name="password-stacking" value="useFirstPass"/>
</login-module>
<login-module code="RealmDirect" flag="required">
<module-option name="password-stacking" value="useFirstPass"/>
</login-module>
</authentication>
</security-domain>
<security-domain name="jboss-web-policy" cache-type="default">
<authorization>
<policy-module code="Delegating" flag="required"/>
</authorization>
</security-domain>
<security-domain name="jboss-ejb-policy" cache-type="default">
<authorization>
<policy-module code="Delegating" flag="required"/>
</authorization>
</security-domain>
</security-domains>
</subsystem>
<subsystem xmlns="urn:jboss:domain:transactions:2.0">
<core-environment>
<process-id>
<uuid/>
</process-id>
</core-environment>
<recovery-environment socket-binding="txn-recovery-environment" status-socket-binding="txn-status-manager"/>
</subsystem>
<subsystem xmlns="urn:jboss:domain:undertow:1.1">
<buffer-cache name="default"/>
<server name="default-server">
<% @zanata_listeners.each do |listener| -%>
<% if listener == 'https' -%>
<% @listener_realm = ' security-realm="ApplicationRealm"' -%>
<% else -%>
<% @listener_realm = '' -%>
<% end -%>
<<%= listener %>-listener name="default.<%= listener %>" socket-binding="<%= listener %>"<%= @listener_realm %>/>
<% end -%>
<http-listener name="default" socket-binding="http"/>
<host name="default-host" alias="localhost">
<location name="/" handler="welcome-content"/>
<filter-ref name="server-header"/>
<filter-ref name="x-powered-by-header"/>
</host>
</server>
<servlet-container name="default">
<jsp-config/>
</servlet-container>
<handlers>
<file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
</handlers>
<filters>
<response-header name="server-header" header-name="Server" header-value="WildFly/8"/>
<response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/>
</filters>
</subsystem>
<subsystem xmlns="urn:jboss:domain:webservices:1.2">
<wsdl-host>${jboss.bind.address:127.0.0.1}</wsdl-host>
<endpoint-config name="Standard-Endpoint-Config"/>
<endpoint-config name="Recording-Endpoint-Config">
<pre-handler-chain name="recording-handlers" protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM">
<handler name="RecordingHandler" class="org.jboss.ws.common.invocation.RecordingServerHandler"/>
</pre-handler-chain>
</endpoint-config>
<client-config name="Standard-Client-Config"/>
</subsystem>
</profile>
<interfaces>
<interface name="management">
<inet-address value="${jboss.bind.address.management:0.0.0.0}"/>
</interface>
<interface name="public">
<inet-address value="${jboss.bind.address:0.0.0.0}"/>
</interface>
<interface name="unsecure">
<inet-address value="${jboss.bind.address.unsecure:0.0.0.0}"/>
</interface>
</interfaces>
<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
<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="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="txn-recovery-environment" port="4712"/>
<socket-binding name="txn-status-manager" port="4713"/>
<outbound-socket-binding name="mail-smtp">
<remote-destination host="localhost" port="25"/>
</outbound-socket-binding>
</socket-binding-group>
</server>