Creates systemd service for APIs
[src/app-framework-main.git] / conf / unit / generate-unit-conf / provided.inc
index ead1983..267e2ed 100644 (file)
@@ -1,19 +1,63 @@
 dnl vim: set filetype=sysctl.conf.m4 syntax=sysctl.conf.m4:
-;---------------------------------------------------------------------------------
-;----        P R O V I D E D   A P I S                                        ----
-;---------------------------------------------------------------------------------
+;-------------------------------------------------------------------------------
+;----        P R O V I D E D   A P I S                                      ----
+;-------------------------------------------------------------------------------
 
 {{#provided-api}}
-{{#value=ws|auto}}
 
+;-------------------------------------------------------------------------------
+;----        T H E   S E R V I C E   O F   T H E   A P I                    ----
+;-------------------------------------------------------------------------------
 %begin systemd-unit
 
 # auto generated by wgtpkg-unit for {{:id}} version {{:version}} target {{:#target}} of {{:idaver}}
 
 %systemd-unit system
-%systemd-unit socket afm-api-ws-{{name}}@
+%systemd-unit service UNIT_NAME_API_BASE({{name}})@
+
 [Unit]
 Description=Provides api {{name}} for user %i
+X-AFM-API-TYPE={{value}}
+
+Requires=afm-user-setup@%i.service
+After=afm-user-setup@%i.service
+
+{{#value=ws|auto}}
+Requires=UNIT_NAME_API_BASE({{name}})@%i.socket
+After=UNIT_NAME_API_BASE({{name}})@%i.socket
+{{/value=ws|auto}}
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+{{#value=ws|auto}}
+ExecStart=/bin/true
+{{/value=ws|auto}}
+dnl {{#value=link}}
+dnl ExecStart=/bin/ln -s {{:#metadata.install-dir}}/ USER_RUN_DIR/apis/link/{{name}}
+dnl {{/value=link}}
+
+dnl %nl
+dnl [Install]
+dnl WantedBy=afm-user-session@.target
+dnl %systemd-unit wanted-by afm-user-session@.target
+
+%end systemd-unit
+
+
+;-------------------------------------------------------------------------------
+;----        T H E   S O C K E T   O F   T H E   A P I                      ----
+;-------------------------------------------------------------------------------
+{{#value=ws|auto}}
+
+%begin systemd-unit
+
+# auto generated by wgtpkg-unit for {{:id}} version {{:version}} target {{:#target}} of {{:idaver}}
+
+%systemd-unit system
+%systemd-unit socket UNIT_NAME_API_BASE({{name}})@
+[Unit]
+Description=Provides websocket api {{name}} for user %i
 Requires=afm-user-setup@%i.service
 After=afm-user-setup@%i.service
 DefaultDependencies=no
@@ -24,19 +68,13 @@ SmackLabelIPIn=System
 SmackLabelIPOut=System
 ListenStream=USER_RUN_DIR/apis/ws/{{name}}
 FileDescriptorName={{name}}
-
 Service=UNIT_NAME_SERVICE
 
-%nl
-[Install]
-WantedBy=afm-user-session@.target
-%systemd-unit wanted-by afm-user-session@.target
-
 %end systemd-unit
 
 
-
 {{/value=ws|auto}}
+
 {{/provided-api}}