Skip to content

Instantly share code, notes, and snippets.

@ryumei
Created January 21, 2016 13:57
Show Gist options
  • Save ryumei/0d8f51b2455f8a5ee330 to your computer and use it in GitHub Desktop.
Save ryumei/0d8f51b2455f8a5ee330 to your computer and use it in GitHub Desktop.
Solaris SMF manifest for elastic search
<?xml version='1.0'?>
<!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
<service_bundle type='manifest' name='elasticsearch'>
<service name='application/elasticsearch' type='service' version='0'>
<create_default_instance enabled='true'/>
<single_instance/>
<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'/>
</dependency>
<dependent name='elasticsearch' restart_on='none' grouping='optional_all'>
<service_fmri value='svc:/milestone/multi-user'/>
</dependent>
<method_context working_directory='/opt/elasticsearch/current'>
<method_credential user='elastic' group='elastic'/>
<method_environment>
<envvar name='PATH' value='/usr/bin:/bin:/opt/csw/bin:/opt/local/bin'/>
<envvar name='ES_USER' value='elastic'/>
<envvar name='ES_GROUP' value='elastic'/>
<envvar name='ES_HEAP_SIZE' value='1g'/>
<envvar name='LOG_DIR' value='/opt/elasticsearch/current/logs'/>
<envvar name='DATA_DIR' value='/opt/elasticsearch/current/data'/>
<envvar name='WORK_DIR' value='/opt/elasticsearch/current/tmp'/>
</method_environment>
</method_context>
<exec_method name="start" type="method" exec="/opt/elasticsearch/current/bin/elasticsearch -p %{pid} -d" timeout_seconds="60" >
<method_context working_directory='/opt/elasticsearch/current'>
<method_credential user='elastic' group='elastic'/>
</method_context>
</exec_method>
<exec_method type="method" name="stop" exec=":kill" timeout_seconds="60" />
<exec_method type="method" name="refresh" exec=":kill -HUP" timeout_seconds="60" />
<property_group name="application" type="application">
<propval name="pid" type="astring" value="/var/run/elasticsearch/elasticsearch.pid" />
</property_group>
<stability value='Evolving'/>
<template>
<common_name>
<loctext xml:lang='C'>Elasticsearch</loctext>
</common_name>
<documentation>
<doc_link name='incubator.apache.org' uri='http://www.elasticsearch.org/'/>
</documentation>
</template>
</service>
</service_bundle>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment