]> git.evergreen-ils.org Git - working/Hatch.git/blob - hatch.xml
hatch : create job settings from config hash cont.
[working/Hatch.git] / hatch.xml
1 <?xml version="1.0"?>
2 <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
3
4 <Configure id="Server" class="org.eclipse.jetty.server.Server">
5
6   <!--
7   <Get id="Logger" class="org.eclipse.jetty.util.log.Log" name="log"/>
8   <Ref id="Logger">
9     <Set name="debugEnabled">true</Set>
10   </Ref>
11   -->
12
13   <Set class="org.evergreen_ils.hatch.HatchWebSocketHandler" name="trustedDomains">
14     <Array type="String">
15         <!-- 
16         List of origin domains which are allowed to connect to Hatch.
17         If the first item in the list is "*", then all domains are 
18         trusted, which is useful for testing.
19         -->
20         <Item>*</Item>
21     </Array>
22   </Set>
23
24   <!--
25   <Set class="org.evergreen_ils.hatch.HatchWebSocketHandler" 
26     name="profileDirectory"></Set>
27   -->
28
29   <!-- basic HTTP setup -->
30   <New id="httpConfig" class="org.eclipse.jetty.server.HttpConfiguration">   
31     <Set name="secureScheme">https</Set>                                     
32     <Set name="securePort"><Property name="jetty.secure.port" default="8443" /></Set>
33     <Set name="outputBufferSize"><Property name="jetty.output.buffer.size" default="32768" /></Set>
34     <Set name="requestHeaderSize"><Property name="jetty.request.header.size" default="8192" /></Set>
35     <Set name="responseHeaderSize"><Property name="jetty.response.header.size" default="8192" /></Set>
36     <Set name="sendServerVersion"><Property name="jetty.send.server.version" default="true" /></Set>
37     <Set name="sendDateHeader"><Property name="jetty.send.date.header" default="false" /></Set>
38     <Set name="headerCacheSize">512</Set>                                    
39   </New>
40
41   <!-- SSL configuration -->
42   <!-- Using the stock Jetty certificates for now.  
43        To set a temporary trust on the cert, navigate to 
44        https://<hostname>:8443/ and confirm the cert is trusted -->
45   <New id="sslContextFactory" class="org.eclipse.jetty.util.ssl.SslContextFactory">
46     <!-- TODO: make this better -->
47     <Set name="KeyStorePath"><Property name="jetty.home" default="." />/jetty-distribution-9.1.4.v20140401/etc/keystore</Set>
48     <Set name="KeyStorePassword">OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4</Set>    
49     <Set name="KeyManagerPassword">OBF:1u2u1wml1z7s1z7a1wnl1u2g</Set>          
50     <Set name="TrustStorePath"><Property name="jetty.home" default="." />/jetty-distribution-9.1.4.v20140401/etc/keystore</Set>
51     <Set name="TrustStorePassword">OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4</Set>  
52   </New> 
53
54   <New id="sslHttpConfig" class="org.eclipse.jetty.server.HttpConfiguration">  
55     <Arg><Ref refid="httpConfig"/></Arg>                                       
56     <Call name="addCustomizer">                                                
57       <Arg><New class="org.eclipse.jetty.server.SecureRequestCustomizer"/></Arg>
58     </Call>                                                                    
59   </New>                                                                       
60
61   <!-- SSL HTTP connector -->
62   <Call name="addConnector">                               
63     <Arg>                                                                      
64       <New class="org.eclipse.jetty.server.ServerConnector">                   
65         <Arg name="server"><Ref refid="Server" /></Arg>                        
66           <Arg name="factories">                                               
67             <Array type="org.eclipse.jetty.server.ConnectionFactory">          
68               <Item>                                                           
69                 <New class="org.eclipse.jetty.server.SslConnectionFactory">    
70                   <Arg name="next">http/1.1</Arg>                              
71                   <Arg name="sslContextFactory"><Ref refid="sslContextFactory"/></Arg>
72                 </New>                                                         
73               </Item>                                                          
74               <Item>                                                           
75                 <New class="org.eclipse.jetty.server.HttpConnectionFactory">   
76                   <Arg name="config"><Ref refid="sslHttpConfig"/></Arg>        
77                 </New>                                                         
78               </Item>                                                          
79             </Array>                                                           
80           </Arg>                                                               
81           <Set name="host"><Property name="jetty.host" /></Set>                
82           <Set name="port"><Property name="jetty.secure.port" default="8443" /></Set>  
83           <Set name="idleTimeout"><Property name="https.timeout" default="30000"/></Set>
84           <Set name="soLingerTime"><Property name="https.soLingerTime" default="-1"/></Set>
85       </New>                                                                 
86     </Arg>                                                                     
87   </Call> 
88
89
90   <!-- HTTP connector -->
91   <Call name="addConnector">
92     <Arg>
93       <New class="org.eclipse.jetty.server.ServerConnector">
94         <Arg name="server">
95           <Ref refid="Server"/>
96         </Arg>
97         <Arg name="factories">
98           <Array type="org.eclipse.jetty.server.ConnectionFactory">
99             <Item>
100               <New class="org.eclipse.jetty.server.HttpConnectionFactory">
101                 <Arg name="config"><Ref refid="httpConfig" /></Arg> 
102               </New>
103             </Item>
104           </Array>
105         </Arg>
106         <Set name="host"><Property name="jetty.host"/></Set>
107         <Set name="port"><Property name="jetty.port" default="8080"/></Set>
108         <Set name="idleTimeout"><Property name="http.timeout" default="30000"/></Set>
109         <Set name="soLingerTime"><Property name="http.soLingerTime" default="-1"/></Set>
110       </New>
111     </Arg>
112   </Call>
113
114   <!-- websockets handler setup -->
115   <Set name="handler">
116     <New class="org.eclipse.jetty.server.handler.HandlerList">
117       <Set name="handlers">
118         <Array type="org.eclipse.jetty.server.Handler">
119           <Item>
120             <New class="org.eclipse.jetty.servlet.ServletHandler">
121               <Call id="proxyHolder" name="addServletWithMapping">
122                 <Arg>
123                   <Property name="jetty.proxy.servletClass" 
124                     default="org.evergreen_ils.hatch.HatchWebSocketServlet"/>
125                 </Arg>
126                 <Arg>
127                   <Property name="jetty.proxy.servletMapping" default="/hatch"/>
128                 </Arg>
129                 <Call name="setInitParameter">
130                   <Arg>maxThreads</Arg>
131                   <Arg>
132                     <Property name="jetty.proxy.maxThreads" default="128"/>
133                   </Arg>
134                 </Call>
135                 <Call name="setInitParameter">
136                   <Arg>maxConnections</Arg>
137                   <Arg>
138                     <Property name="jetty.proxy.maxConnections" default="256"/>
139                   </Arg>
140                 </Call>
141                 <Call name="setInitParameter">
142                   <Arg>idleTimeout</Arg>
143                   <Arg>
144                     <Property name="jetty.proxy.idleTimeout" default="60000"/>
145                   </Arg>
146                 </Call>
147                 <Call name="setInitParameter">
148                   <Arg>timeout</Arg>
149                   <Arg>
150                     <Property name="jetty.proxy.timeout" default="60000"/>
151                   </Arg>
152                 </Call>
153               </Call>
154             </New>
155           </Item>
156         </Array>
157       </Set>
158     </New>
159   </Set>
160
161 </Configure>