aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosé Bollo <jose.bollo@iot.bzh>2018-02-26 18:57:24 +0100
committerJosé Bollo <jose.bollo@iot.bzh>2018-02-26 19:04:53 +0100
commit3e3a29fa49ec494800a4aa866d84fba4eaa8261b (patch)
treef580666e31bf07f6598bf6a31e08d91026563e66
parentd1e30006b071533ae2d1903251962d2dec452418 (diff)
afs-supervisor: Add systemd service and config
Change-Id: I64bf8de01dbb8cf9581ed0be358d81fa84106520 Signed-off-by: José Bollo <jose.bollo@iot.bzh>
-rw-r--r--CMakeLists.txt17
-rw-r--r--afs-supervisor.service.in9
-rw-r--r--src/CMakeLists.txt16
3 files changed, 35 insertions, 7 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1a6d2184..b784621a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -39,6 +39,11 @@ INCLUDE(CTest)
# possible settings
set(AGL_DEVEL OFF CACHE BOOL "Activates developping features")
set(INCLUDE_MONITORING OFF CACHE BOOL "Activates installation of monitoring")
+set(INCLUDE_SUPERVISOR OFF CACHE BOOL "Activates installation of supervisor")
+set(AFS_SURPERVISION_SOCKET "@urn:AGL:afs:supervision:socket" CACHE STRING "Internal socket for supervision")
+set(AFS_SUPERVISOR_PORT 1619 CACHE STRING "Port of service for the supervisor")
+set(AFS_SUPERVISOR_TOKEN HELLO CACHE STRING "Secret token for the supervisor")
+set(UNITDIR_SYSTEM ${CMAKE_INSTALL_LIBDIR}/systemd/system CACHE STRING "Path to systemd system unit files")
###########################################################################
@@ -80,6 +85,8 @@ PKG_CHECK_MODULES(openssl openssl)
PKG_CHECK_MODULES(uuid uuid)
PKG_CHECK_MODULES(cynara cynara-client)
+ADD_DEFINITIONS("-DAFS_SURPERVISION_SOCKET=\"${AFS_SURPERVISION_SOCKET}\"")
+
IF(AGL_DEVEL)
ADD_DEFINITIONS(-DAGL_DEVEL)
endif()
@@ -176,3 +183,13 @@ ELSE()
)
ENDIF()
+
+IF(INCLUDE_SUPERVISOR)
+ CONFIGURE_FILE(afs-supervisor.service.in afs-supervisor.service @ONLY)
+ INSTALL(FILES
+ ${CMAKE_CURRENT_BINARY_DIR}/afs-supervisor.service
+ DESTINATION
+ ${UNITDIR_SYSTEM}
+ )
+ENDIF()
+
diff --git a/afs-supervisor.service.in b/afs-supervisor.service.in
new file mode 100644
index 00000000..60b2a313
--- /dev/null
+++ b/afs-supervisor.service.in
@@ -0,0 +1,9 @@
+[Unit]
+Description=Application Framework Supervisor
+
+[Service]
+ExecStart=/usr/bin/afs-supervisor --port @AFS_SUPERVISOR_PORT@ --token @AFS_SUPERVISOR_TOKEN@
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index bfe187f5..d7cde903 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -89,13 +89,15 @@ INSTALL(TARGETS afb-daemon
###########################################
# build and install afb-daemon
###########################################
-ADD_EXECUTABLE(afs-supervisor afs-main.c afs-supervisor.c afs-discover.c afs-config.c)
-TARGET_LINK_LIBRARIES(afs-supervisor
- afb-lib
- ${link_libraries}
-)
-INSTALL(TARGETS afs-supervisor
- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+IF(INCLUDE_SUPERVISOR)
+ ADD_EXECUTABLE(afs-supervisor afs-main.c afs-supervisor.c afs-discover.c afs-config.c)
+ TARGET_LINK_LIBRARIES(afs-supervisor
+ afb-lib
+ ${link_libraries}
+ )
+ INSTALL(TARGETS afs-supervisor
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+ENDIF()
###########################################
# build and install libafbwsc