浏览代码

[loki] Move to an RC file

Colin Powell 3 年之前
父节点
当前提交
89d6c4dbec
共有 3 个文件被更改,包括 69 次插入15 次删除
  1. 44 0
      ansible/roles/loki/files/loki.rc
  2. 5 0
      ansible/roles/loki/handlers/main.yml
  3. 20 15
      ansible/roles/loki/tasks/main.yml

+ 44 - 0
ansible/roles/loki/files/loki.rc

@@ -0,0 +1,44 @@
+#!/bin/sh
+# Start script for FreeBSD, contributed by user Fabian Abplanalp
+# Put this script in /usr/local/etc/rc.d then adjust LOKI_BIN and
+# LOKI_CFG values in /etc/defaults/loki
+
+LOKI_BIN="/usr/local/bin/loki-freebsd-amd64"
+LOKI_CONFIG="/usr/local/etc/loki.config.yml"
+LOKI_PID="/var/run/loki.pid"
+
+# Read configuration variable file if it is present
+[ -r /etc/defaults/loki ] && . /etc/defaults/loki
+
+case "$1" in
+"start")
+	echo "Starting loki..."
+
+	${LOKI_BIN} --config.file ${LOKI_CONFIG} &
+	echo $! >${LOKI_PID}
+	echo "done"
+	;;
+
+"stop")
+	echo "Stopping loki..."
+	if [ -f ${LOKI_PID} ]; then
+		kill $(cat ${LOKI_PID})
+		rm ${LOKI_PID}
+		echo "done"
+	else
+		echo "not running?"
+	fi
+	;;
+
+"restart")
+	echo "Restarting loki..."
+	$0 stop
+	sleep 2
+	$0 start
+	;;
+
+*)
+	echo "$0 [start|stop|restart]"
+	;;
+
+esac

+ 5 - 0
ansible/roles/loki/handlers/main.yml

@@ -0,0 +1,5 @@
+---
+- name: Loki restarted
+  service:
+    name: loki
+    state: restarted

+ 20 - 15
ansible/roles/loki/tasks/main.yml

@@ -4,15 +4,25 @@
     name: gtar
     state: latest
 
-- name: Loki binary downloaded
-  shell: fetch https://github.com/grafana/loki/releases/download/v2.2.0/loki-freebsd-amd64.zip -o /usr/local/bin/loki.zip
+- name: Loki fetched
+  get_url:
+    url: https://github.com/grafana/loki/releases/download/v2.4.1/loki-freebsd-amd64.zip
+    dest: /usr/local/bin/loki.zip
 
-#- name: Unpack Loki binary
-#  shell: unzip /usr/local/bin/loki.zip
-#  warn: false
+- name: Loki binary unpacked
+  command: "unzip -o /usr/local/bin/loki.zip"
+  args:
+    chdir: /usr/local/bin
+    warn: false
 
-- name: Supervisord enabled
-  shell: sysrc supervisord_enable="YES"
+- name: Loki rc file installed
+  ansible.builtin.copy:
+    src: loki.rc
+    dest: /usr/local/etc/rc.d/loki
+    mode: a+x
+
+- name: Loki enabled
+  shell: sysrc loki_enable="YES"
 
 - name: Loki config file installed
   template:
@@ -20,12 +30,7 @@
     dest: /usr/local/etc/loki.config.yml
     owner: root
     mode: 0644
-  notify: Supervisor restarted
+  notify: Loki restarted
 
-- name: Loki supervisor file installed
-  copy:
-    src: loki-supervisor.conf
-    dest: /usr/local/etc/supervisor/conf.d/loki.conf
-    owner: root
-    mode: 0644
-  notify: Supervisor restarted
+- name: Loki started
+  service: name=loki state=started