This repository has been archived by the owner on Sep 10, 2021. It is now read-only.
forked from macournoyer/thin
/
thin_solaris_smf.erb
36 lines (35 loc) · 1.84 KB
/
thin_solaris_smf.erb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?xml version='1.0'?>
<!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
<service_bundle type='manifest' name='thin/<%= service_name %>-production'>
<service name='network/thin/<%= service_name %>-production' type='service' version='0'>
<!-- Dependancies for all Thin servers. -->
<dependency name='fs' grouping='require_all' restart_on='none' type='service'>
<service_fmri value='svc:/system/filesystem/local'/>
</dependency>
<dependency name='net' grouping='require_all' restart_on='none' type='service'>
<service_fmri value='svc:/network/loopback'/>
<!-- uncomment the following line if you are on an L+ Accelerator since /home is mounted through nfs -->
<!--<service_fmri value='svc:/network/nfs/client'/>-->
</dependency>
<% 0.upto(thin_max_instances - 1) do |instance| %>
<!-- instance names can't start with digits. Bummer. -->
<instance name='i_<%= instance.to_s %>' enabled='false'>
<!-- Cause the multi-user milestone to bring these services up -->
<dependent name='<%= service_name %>_<%= instance.to_s %>_multi-user' restart_on='none' grouping='optional_all'>
<service_fmri value='svc:/milestone/multi-user'/>
</dependent>
<exec_method name='start' type='method'
exec='/opt/csw/bin/thin -C config/thin.yml --only <%= instance.to_s %> start'
timeout_seconds='10'>
<method_context working_directory='<%= working_directory %>'>
<method_credential user='<%= user %>' group='<%= group %>' />
<method_environment>
<envvar name='PATH' value='/usr/bin:/bin:/opt/csw/bin' />
</method_environment>
</method_context>
</exec_method>
<exec_method name='stop' type='method' exec=':kill' timeout_seconds='10' />
</instance>
<% end %>
</service>
</service_bundle>