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

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

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

		<exec_method
		    type="method"
		    name="start"
		    exec="@PREFIX@/sbin/forgejo web"
		    timeout_seconds="60">
		  <method_context>
		    <method_credential user="@FORGEJO_USER@" group="@FORGEJO_GROUP@" />
		    <method_environment>
		      <envvar name='FORGEJO_WORK_DIR' value='@FORGEJO_SHARE_DIR@'/>
		      <envvar name='FORGEJO_CUSTOM' value='@PKG_SYSCONFDIR@'/>
		      <envvar name='HOME' value='@FORGEJO_USER_HOME@'/>
		      <envvar name='PATH' value='/usr/local/sbin:/usr/local/bin:@PREFIX@/bin:@PREFIX@/sbin:/usr/sbin:/usr/bin:/sbin'/>
		      <envvar name='USER' value='@FORGEJO_USER@'/>
		    </method_environment>
		  </method_context>
		</exec_method>
		<exec_method type="method" name="stop"	exec=":kill" timeout_seconds="60"/>

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

		<template>
			<common_name>
			  <loctext xml:lang="C">Compact self-hosted GIT service</loctext>
			</common_name>
		</template>

	</service>
</service_bundle>
