aboutsummaryrefslogtreecommitdiffstats
path: root/systemd
diff options
context:
space:
mode:
Diffstat (limited to 'systemd')
-rw-r--r--systemd/CMakeLists.txt42
-rw-r--r--systemd/cynara-admin.socket.in15
-rw-r--r--systemd/cynara-check.socket.in15
-rw-r--r--systemd/cynara.service29
-rw-r--r--systemd/cynara.target4
l---------systemd/sockets.target.wants/cynara-admin.socket1
l---------systemd/sockets.target.wants/cynara-check.socket1
7 files changed, 107 insertions, 0 deletions
diff --git a/systemd/CMakeLists.txt b/systemd/CMakeLists.txt
new file mode 100644
index 0000000..f8116a2
--- /dev/null
+++ b/systemd/CMakeLists.txt
@@ -0,0 +1,42 @@
+# Copyright (c) 2014-2016 Samsung Electronics Co., Ltd All Rights Reserved
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# @file CMakeLists.txt
+# @author Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
+#
+
+SET(CYNARA_ADMIN_SOCKET_GROUP
+ "security_fw"
+ CACHE STRING
+ "Group to apply on administrative sockets")
+
+CONFIGURE_FILE(cynara-admin.socket.in cynara-admin.socket @ONLY)
+CONFIGURE_FILE(cynara-check.socket.in cynara-check.socket @ONLY)
+
+INSTALL(FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/cynara.service
+ ${CMAKE_CURRENT_SOURCE_DIR}/cynara.target
+ ${CMAKE_CURRENT_BINARY_DIR}/cynara-admin.socket
+ ${CMAKE_CURRENT_BINARY_DIR}/cynara-check.socket
+ DESTINATION
+ ${SYSTEMD_UNIT_DIR}
+)
+
+INSTALL(DIRECTORY
+ ${CMAKE_CURRENT_SOURCE_DIR}/sockets.target.wants
+ DESTINATION
+ ${SYSTEMD_UNIT_DIR}
+)
+
+
diff --git a/systemd/cynara-admin.socket.in b/systemd/cynara-admin.socket.in
new file mode 100644
index 0000000..ebc59c6
--- /dev/null
+++ b/systemd/cynara-admin.socket.in
@@ -0,0 +1,15 @@
+[Socket]
+FileDescriptorName=admin
+ListenStream=@SOCKET_DIR@/cynara.admin
+SocketMode=0600
+SmackLabelIPIn=@
+SmackLabelIPOut=@
+
+Service=cynara.service
+
+[Unit]
+Wants=cynara.target
+Before=cynara.target
+
+[Install]
+WantedBy=sockets.target
diff --git a/systemd/cynara-check.socket.in b/systemd/cynara-check.socket.in
new file mode 100644
index 0000000..1139d2f
--- /dev/null
+++ b/systemd/cynara-check.socket.in
@@ -0,0 +1,15 @@
+[Socket]
+FileDescriptorName=check
+ListenStream=@SOCKET_DIR@/cynara.check
+SocketMode=0666
+SmackLabelIPIn=*
+SmackLabelIPOut=@
+
+Service=cynara.service
+
+[Unit]
+Wants=cynara.target
+Before=cynara.target
+
+[Install]
+WantedBy=sockets.target
diff --git a/systemd/cynara.service b/systemd/cynara.service
new file mode 100644
index 0000000..e124b91
--- /dev/null
+++ b/systemd/cynara.service
@@ -0,0 +1,29 @@
+[Unit]
+Description=Cynara service
+Requires=afm-system-setup.service
+After=afm-system-setup.service
+
+[Service]
+ExecStartPre=+-/usr/bin/sh -c 'if test ! -d /var/lib/cynara; then mkdir -p /var/lib/cynara; chown cynara:cynara /var/lib/cynara; chsmack -a System /var/lib/cynara; fi'
+ExecStart=/usr/bin/cynarad
+
+Type=notify
+
+KillMode=process
+TimeoutStopSec=3
+Restart=always
+
+Sockets=cynara-admin.socket
+Sockets=cynara-check.socket
+
+UMask=0000
+User=cynara
+Group=cynara
+SmackProcessLabel=System
+#NoNewPrivileges=true
+
+#Environment="CYNARA_LOG_LEVEL=LOG_DEBUG"
+#Environment="CYNARA_AUDIT_LEVEL=ALL"
+
+[Install]
+WantedBy=multi-user.target
diff --git a/systemd/cynara.target b/systemd/cynara.target
new file mode 100644
index 0000000..9b2dee4
--- /dev/null
+++ b/systemd/cynara.target
@@ -0,0 +1,4 @@
+[Unit]
+Description=cynara sockets
+DefaultDependencies=true
+
diff --git a/systemd/sockets.target.wants/cynara-admin.socket b/systemd/sockets.target.wants/cynara-admin.socket
new file mode 120000
index 0000000..3d0b1ce
--- /dev/null
+++ b/systemd/sockets.target.wants/cynara-admin.socket
@@ -0,0 +1 @@
+../cynara-admin.socket \ No newline at end of file
diff --git a/systemd/sockets.target.wants/cynara-check.socket b/systemd/sockets.target.wants/cynara-check.socket
new file mode 120000
index 0000000..921ca66
--- /dev/null
+++ b/systemd/sockets.target.wants/cynara-check.socket
@@ -0,0 +1 @@
+../cynara-check.socket \ No newline at end of file