<?xml version='1.0' encoding='UTF-8'?>
<!-- See src/resources/configuration/ReadMe.txt for how the configuration assembly works -->
<config default-supplement="default">
   <extension-module>org.infinispan.server.endpoint</extension-module>
   <subsystem xmlns="urn:infinispan:server:endpoint:${infinispan.core.schema.version}">
      <?CONNECTORS?>
   </subsystem>
   <supplement name="default">
      <replacement placeholder="@@default-cache-container@@" attributeValue="local" />
      <replacement placeholder="CONNECTORS">
         <hotrod-connector socket-binding="hotrod" cache-container="local">
            <topology-state-transfer lazy-retrieval="false" lock-timeout="1000" replication-timeout="5000" />
         </hotrod-connector>
         <rest-connector socket-binding="rest" cache-container="local">
            <authentication security-realm="ApplicationRealm" auth-method="BASIC" />
         </rest-connector>
      </replacement>
   </supplement>
   <supplement name="clustered">
      <replacement placeholder="@@default-cache-container@@" attributeValue="clustered" />
      <replacement placeholder="CONNECTORS">
         <hotrod-connector socket-binding="hotrod" cache-container="clustered">
            <topology-state-transfer lazy-retrieval="false" lock-timeout="1000" replication-timeout="5000" />
         </hotrod-connector>
         <rest-connector socket-binding="rest" cache-container="clustered">
            <authentication security-realm="ApplicationRealm" auth-method="BASIC" />
         </rest-connector>
      </replacement>
   </supplement>
   <supplement name="hotrod-rolling-upgrade">
      <replacement placeholder="@@default-cache-container@@" attributeValue="local" />
      <replacement placeholder="CONNECTORS">
         <hotrod-connector socket-binding="hotrod" cache-container="local">
            <topology-state-transfer lazy-retrieval="false" lock-timeout="1000" replication-timeout="5000" />
         </hotrod-connector>
      </replacement>
   </supplement>
   <supplement name="hotrod-rolling-upgrade-ssl">
      <replacement placeholder="@@default-cache-container@@" attributeValue="local" />
      <replacement placeholder="CONNECTORS">
         <hotrod-connector socket-binding="hotrod" cache-container="local">
            <topology-state-transfer lazy-retrieval="false" lock-timeout="1000" replication-timeout="5000" />
            <encryption security-realm="ApplicationRealm"/>
         </hotrod-connector>
      </replacement>
   </supplement>
   <supplement name="rest-auth">
      <replacement placeholder="@@default-cache-container@@" attributeValue="local" />
      <replacement placeholder="CONNECTORS">
         <rest-connector socket-binding="rest" cache-container="local">
            <authentication security-realm="ApplicationRealm" auth-method="BASIC" />
         </rest-connector>
      </replacement>
   </supplement>
   <supplement name="rest-ssl">
      <replacement placeholder="@@default-cache-container@@" attributeValue="local" />
      <replacement placeholder="CONNECTORS">
         <rest-connector socket-binding="rest-ssl" cache-container="local">
            <encryption security-realm="ApplicationRealm"/>
         </rest-connector>
      </replacement>
   </supplement>
   <supplement name="rest-rolling-upgrade">
      <replacement placeholder="@@default-cache-container@@" attributeValue="local"/>
      <replacement placeholder="CONNECTORS">
         <rest-connector socket-binding="rest" cache-container="local"/>
         <hotrod-connector socket-binding="hotrod" cache-container="local">
            <topology-state-transfer lazy-retrieval="false" lock-timeout="1000" replication-timeout="5000" />
         </hotrod-connector>
      </replacement>
   </supplement>
   <supplement name="hotrod-ssl">
      <replacement placeholder="@@default-cache-container@@" attributeValue="local" />
      <replacement placeholder="CONNECTORS">
         <hotrod-connector socket-binding="hotrod" cache-container="local">
            <topology-state-transfer lock-timeout="1000" replication-timeout="5000" />
            <encryption security-realm="ApplicationRealm" require-ssl-client-auth="true"/>
         </hotrod-connector>
      </replacement>
   </supplement>
   <supplement name="hotrod-multiple">
      <replacement placeholder="@@default-cache-container@@" attributeValue="local" />
      <replacement placeholder="CONNECTORS">
         <hotrod-connector name="external" socket-binding="hotrod" cache-container="local">
            <topology-state-transfer lock-timeout="1000" replication-timeout="5000" />
         </hotrod-connector>
         <hotrod-connector name="internal" socket-binding="hotrod-internal" cache-container="local">
            <topology-state-transfer lock-timeout="1000" replication-timeout="5000" />
         </hotrod-connector>
      </replacement>
   </supplement>
   <supplement name="compatibility-mode">
      <replacement placeholder="@@default-cache-container@@" attributeValue="local" />
      <replacement placeholder="CONNECTORS">
         <hotrod-connector socket-binding="hotrod" cache-container="local">
            <topology-state-transfer lazy-retrieval="false" lock-timeout="1000" replication-timeout="5000" />
         </hotrod-connector>
         <memcached-connector socket-binding="memcached" cache-container="local" cache="default" />
         <rest-connector socket-binding="rest" cache-container="local" />
      </replacement>
   </supplement>
   <supplement name="auth">
      <replacement placeholder="@@default-cache-container@@" attributeValue="local" />
      <replacement placeholder="CONNECTORS">
         <hotrod-connector socket-binding="hotrod" cache-container="local">
            <topology-state-transfer lock-timeout="1000" replication-timeout="5000" />
            <authentication security-realm="ApplicationRealm">
                <sasl server-name="localhost" mechanisms="PLAIN" />
              </authentication>
         </hotrod-connector>
      </replacement>
   </supplement>
   <supplement name="indexing">
      <replacement placeholder="@@default-cache-container@@" attributeValue="clustered" />
      <replacement placeholder="CONNECTORS">
         <hotrod-connector socket-binding="hotrod" cache-container="clustered">
            <topology-state-transfer lazy-retrieval="false" lock-timeout="1000" replication-timeout="5000" />
         </hotrod-connector>
      </replacement>
   </supplement>
   <supplement name="multi-tenancy">
      <replacement placeholder="@@default-cache-container@@" attributeValue="local" />
      <replacement placeholder="CONNECTORS">
         <hotrod-connector name="hotrod1" cache-container="local">
            <topology-state-transfer lock-timeout="1000" replication-timeout="5000" />
         </hotrod-connector>
         <hotrod-connector name="hotrod2" cache-container="local">
            <topology-state-transfer lock-timeout="1000" replication-timeout="5000" />
         </hotrod-connector>
         <rest-connector name="rest1" cache-container="local" />
         <rest-connector name="rest2" cache-container="local" />
         <router-connector name="router" hotrod-socket-binding="hotrod-multi-tenancy" rest-socket-binding="rest-multi-tenancy">
            <multi-tenancy>
               <hotrod name="hotrod1">
                  <sni host-name="sample_sni_name" security-realm="ApplicationRealm-multi-tenancy-1" />
                  <sni host-name="sample_sni_name2" security-realm="ApplicationRealm-multi-tenancy-2" />
               </hotrod>
               <hotrod name="hotrod2">
                  <sni host-name="sample_sni_nam3" security-realm="ApplicationRealm-multi-tenancy-2" />
               </hotrod>
               <rest name="rest1">
                  <prefix path="rest1" />
               </rest>
               <rest name="rest2">
                  <prefix path="rest2" />
               </rest>
            </multi-tenancy>
         </router-connector>
      </replacement>
   </supplement>
   <supplement name="memcached-local">
      <replacement placeholder="@@default-cache-container@@" attributeValue="local" />
      <replacement placeholder="CONNECTORS">
         <memcached-connector socket-binding="memcached" cache-container="local" cache="default"/>
      </replacement>
   </supplement>
   <supplement name="memcached-clustered">
      <replacement placeholder="@@default-cache-container@@" attributeValue="clustered" />
      <replacement placeholder="CONNECTORS">
         <memcached-connector socket-binding="memcached" cache-container="clustered" cache="default"/>
      </replacement>
   </supplement>
   <supplement name="websocket-local">
      <replacement placeholder="@@default-cache-container@@" attributeValue="local" />
      <replacement placeholder="CONNECTORS">
         <websocket-connector socket-binding="websocket" cache-container="local" />
      </replacement>
   </supplement>
   <socket-binding name="hotrod" port="11222" />
   <socket-binding name="hotrod-internal" port="11223" />
   <socket-binding name="hotrod-multi-tenancy" port="11224" />
   <socket-binding name="memcached" port="11211" />
   <socket-binding name="websocket" port="8181" />
   <socket-binding name="rest" port="8080" />
   <socket-binding name="rest-ssl" port="8443" />
   <socket-binding name="rest-multi-tenancy" port="8081" />
</config>
