<?xml version="1.0" ?>
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<service_bundle type="manifest" name="haproxy">
    <service name="network/haproxy" type="service" version="0">
	<create_default_instance enabled="false"/>

        <dependency name="network" grouping="require_all" restart_on="error" type="service">
            <service_fmri value="svc:/milestone/network:default"/>
        </dependency>

        <dependency name="filesystem" grouping="require_all" restart_on="error" type="service">
            <service_fmri value="svc:/system/filesystem/local"/>
        </dependency>

        <method_context>
            <method_environment>
                <envvar name="PATH" value="/usr/bin:/usr/sbin"/>
            </method_environment>
        </method_context>

        <exec_method type="method" name="start" exec="/lib/svc/method/http-haproxy start" timeout_seconds="60"/>

	<exec_method type="method" name="refresh" exec="/lib/svc/method/http-haproxy refresh" timeout_seconds="60"/>

        <exec_method type="method" name="stop" exec="/lib/svc/method/http-haproxy stop" timeout_seconds="90"/>

	<property_group name='general' type='framework'>
            <propval name='action_authorization' type='astring' value='solaris.smf.manage.haproxy'/>
      	    <propval name='value_authorization' type='astring' value='solaris.smf.value.haproxy'/>
	</property_group>

        <property_group name="startd" type="framework">
            <propval name="duration" type="astring" value="contract"/>
            <propval name="ignore_error" type="astring" value="core,signal"/>
        </property_group>

        <stability value="Evolving"/>

        <template>
            <common_name>
                <loctext xml:lang="C">HAProxy</loctext>
            </common_name>
            <documentation>
                <manpage title="haproxy" section="1" manpath="/usr/share/man"/>
                <doc_link name="haproxy.org" uri="http://www.haproxy.org/#docs"/>
            </documentation>
        </template>
    </service>
</service_bundle>