diff --git a/conf/loki.service b/conf/loki.service index de0a778..7dff172 100644 --- a/conf/loki.service +++ b/conf/loki.service @@ -7,7 +7,7 @@ Type=simple User=__APP__ Group=__APP__ WorkingDirectory=__FINALPATH__/ -ExecStart=/bin/bash -c '__FINALPATH__/loki-linux-__ARCH__ --config.file <(/bin/bash __FINALPATH__/merge_yaml.bash /etc/__APP__/loki-default.yaml /etc/__APP__/loki.d/*.y{a,}ml)' +ExecStart=/bin/bash -c '__FINALPATH__/loki-linux-__ARCH__ --config.file <(/bin/bash __FINALPATH__/merge_yaml.sh /etc/__APP__/loki-default.yaml /etc/__APP__/loki.d/*.y{a,}ml)' StandardOutput=append:/var/log/__APP__/loki.log StandardError=inherit diff --git a/conf/promtail.service b/conf/promtail.service index 9c5681c..0368afb 100644 --- a/conf/promtail.service +++ b/conf/promtail.service @@ -7,7 +7,7 @@ Type=simple User=__APP__ Group=__APP__ WorkingDirectory=__FINALPATH__/ -ExecStart=/bin/bash -c '__FINALPATH__/promtail-linux-__ARCH__ --config.file <(/bin/bash __FINALPATH__/merge_yaml.bash /etc/__APP__/promtail-default.yaml /etc/__APP__/promtail.d/*.y{a,}ml)' +ExecStart=/bin/bash -c '__FINALPATH__/promtail-linux-__ARCH__ --config.file <(/bin/bash __FINALPATH__/merge_yaml.sh /etc/__APP__/promtail-default.yaml /etc/__APP__/promtail.d/*.y{a,}ml)' StandardOutput=append:/var/log/__APP__/promtail.log StandardError=inherit diff --git a/scripts/install b/scripts/install index f81da56..dc9af04 100755 --- a/scripts/install +++ b/scripts/install @@ -75,6 +75,14 @@ chmod 750 "$final_path" chmod -R o-rwx "$final_path" chown -R $app:www-data "$final_path" +mkdir -p "/etc/$app/loki.d" +chmod 700 "/etc/$app/loki.d" +chown $app:www-data "/etc/$app/loki.d" + +mkdir -p "/etc/$app/promtail.d" +chmod 700 "/etc/$app/promtail.d" +chown $app:www-data "/etc/$app/promtail.d" + #================================================= # ADD A CONFIGURATION #================================================= @@ -96,14 +104,6 @@ ynh_add_config --template="promtail-default.yaml" --destination="/etc/$app/promt chmod 400 "/etc/$app/promtail-default.yaml" chown $app:www-data "/etc/$app/promtail-default.yaml" -mkdir -p "/etc/$app/loki.d" -chmod 700 "/etc/$app/loki.d" -chown $app:www-data "/etc/$app/loki.d" - -mkdir -p "/etc/$app/promtail.d" -chmod 700 "/etc/$app/promtail.d" -chown $app:www-data "/etc/$app/promtail.d" - #================================================= # SETUP SYSTEMD #================================================= diff --git a/scripts/remove b/scripts/remove index 886bef8..b391af8 100755 --- a/scripts/remove +++ b/scripts/remove @@ -32,6 +32,7 @@ if ynh_exec_warn_less yunohost service status $app >/dev/null then ynh_script_progression --message="Removing $app service integration..." --weight=1 yunohost service remove $app + yunohost service remove $app-promtail fi #================================================= @@ -41,6 +42,7 @@ ynh_script_progression --message="Stopping and removing the systemd service..." # Remove the dedicated systemd config ynh_remove_systemd_config +ynh_remove_systemd_config --service="$app-promtail" #================================================= # REMOVE LOGROTATE CONFIGURATION diff --git a/scripts/upgrade b/scripts/upgrade index ca38edf..ea360a4 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -75,6 +75,15 @@ chmod 750 "$final_path" chmod -R o-rwx "$final_path" chown -R $app:www-data "$final_path" +mkdir -p "/etc/$app/loki.d" +chmod 700 "/etc/$app/loki.d" +chown $app:www-data "/etc/$app/loki.d" + +mkdir -p "/etc/$app/promtail.d" +chmod 700 "/etc/$app/promtail.d" +chown $app:www-data "/etc/$app/promtail.d" + + #================================================= # UPGRADE DEPENDENCIES #================================================= @@ -109,14 +118,6 @@ ynh_add_config --template="promtail-default.yaml" --destination="/etc/$app/promt chmod 400 "/etc/$app/promtail-default.yaml" chown $app:www-data "/etc/$app/promtail-default.yaml" -mkdir -p "/etc/$app/loki.d" -chmod 700 "/etc/$app/loki.d" -chown $app:www-data "/etc/$app/loki.d" - -mkdir -p "/etc/$app/promtail.d" -chmod 700 "/etc/$app/promtail.d" -chown $app:www-data "/etc/$app/promtail.d" - #================================================= # SETUP SYSTEMD #================================================= diff --git a/sources/extra_files/app/.gitignore b/sources/extra_files/loki-amd64/.gitignore similarity index 100% rename from sources/extra_files/app/.gitignore rename to sources/extra_files/loki-amd64/.gitignore diff --git a/sources/extra_files/app/merge_yaml.sh b/sources/extra_files/loki-amd64/merge_yaml.sh similarity index 52% rename from sources/extra_files/app/merge_yaml.sh rename to sources/extra_files/loki-amd64/merge_yaml.sh index 9422cf2..1e55ffc 100644 --- a/sources/extra_files/app/merge_yaml.sh +++ b/sources/extra_files/loki-amd64/merge_yaml.sh @@ -1,10 +1,14 @@ #!/bin/bash +shopt -s nullglob + +file_list=($@) + { - for file in $@ + for file in "${file_list[@]}" do - /usr/bin/python3 -c "import yaml, json; print(json.dumps(yaml.safe_load(open('$file'))))" + /usr/bin/python3 -c "import yaml, json; print(json.dumps(yaml.safe_load(open('$file')), default=str))" done } \ - | /usr/bin/jq --slurp 'reduce .[] as $item ({}; . * $item)' \ # Credits: https://stackoverflow.com/a/36218044 + | /usr/bin/jq --slurp 'reduce .[] as $item ({}; . * $item)' \ | /usr/bin/python3 -c "import yaml, json; print(yaml.dump(json.load(open('/dev/stdin'))))"