Expose systemd-journal-gatewayd to Supervisor (#1627)

* Add systemd-journal-remote to the image

This allows to access journald's log from within Supervisor and expose
more system logs to users.

* Allow to access systemd-journal-gatewayd from Supervisor

Create a systemd-journal-gatewayd.socket service using a Unix socket and
bind mount it into the Supervisor container. This allows to query
systemd-journald from Supervisor directly.
This commit is contained in:
Stefan Agner 2021-11-04 15:38:35 +01:00 committed by GitHub
parent e63aa1a5f4
commit 5fd943c936
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 36 additions and 2 deletions

View File

@ -90,6 +90,7 @@ BR2_PACKAGE_RNG_TOOLS=y
BR2_PACKAGE_SYSTEMD_RANDOMSEED=y BR2_PACKAGE_SYSTEMD_RANDOMSEED=y
BR2_PACKAGE_SYSTEMD_RESOLVED=y BR2_PACKAGE_SYSTEMD_RESOLVED=y
BR2_PACKAGE_SYSTEMD_COREDUMP=y BR2_PACKAGE_SYSTEMD_COREDUMP=y
BR2_PACKAGE_SYSTEMD_JOURNAL_REMOTE=y
BR2_PACKAGE_SYSTEMD_LOGIND=y BR2_PACKAGE_SYSTEMD_LOGIND=y
BR2_PACKAGE_UTIL_LINUX_PARTX=y BR2_PACKAGE_UTIL_LINUX_PARTX=y
BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y

View File

@ -79,6 +79,7 @@ BR2_PACKAGE_RNG_TOOLS=y
BR2_PACKAGE_SYSTEMD_RANDOMSEED=y BR2_PACKAGE_SYSTEMD_RANDOMSEED=y
BR2_PACKAGE_SYSTEMD_RESOLVED=y BR2_PACKAGE_SYSTEMD_RESOLVED=y
BR2_PACKAGE_SYSTEMD_COREDUMP=y BR2_PACKAGE_SYSTEMD_COREDUMP=y
BR2_PACKAGE_SYSTEMD_JOURNAL_REMOTE=y
BR2_PACKAGE_SYSTEMD_LOGIND=y BR2_PACKAGE_SYSTEMD_LOGIND=y
BR2_PACKAGE_UTIL_LINUX_PARTX=y BR2_PACKAGE_UTIL_LINUX_PARTX=y
BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y

View File

@ -79,6 +79,7 @@ BR2_PACKAGE_RNG_TOOLS=y
BR2_PACKAGE_SYSTEMD_RANDOMSEED=y BR2_PACKAGE_SYSTEMD_RANDOMSEED=y
BR2_PACKAGE_SYSTEMD_RESOLVED=y BR2_PACKAGE_SYSTEMD_RESOLVED=y
BR2_PACKAGE_SYSTEMD_COREDUMP=y BR2_PACKAGE_SYSTEMD_COREDUMP=y
BR2_PACKAGE_SYSTEMD_JOURNAL_REMOTE=y
BR2_PACKAGE_SYSTEMD_LOGIND=y BR2_PACKAGE_SYSTEMD_LOGIND=y
BR2_PACKAGE_UTIL_LINUX_PARTX=y BR2_PACKAGE_UTIL_LINUX_PARTX=y
BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y

View File

@ -79,6 +79,7 @@ BR2_PACKAGE_RNG_TOOLS=y
BR2_PACKAGE_SYSTEMD_RANDOMSEED=y BR2_PACKAGE_SYSTEMD_RANDOMSEED=y
BR2_PACKAGE_SYSTEMD_RESOLVED=y BR2_PACKAGE_SYSTEMD_RESOLVED=y
BR2_PACKAGE_SYSTEMD_COREDUMP=y BR2_PACKAGE_SYSTEMD_COREDUMP=y
BR2_PACKAGE_SYSTEMD_JOURNAL_REMOTE=y
BR2_PACKAGE_SYSTEMD_LOGIND=y BR2_PACKAGE_SYSTEMD_LOGIND=y
BR2_PACKAGE_UTIL_LINUX_PARTX=y BR2_PACKAGE_UTIL_LINUX_PARTX=y
BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y

View File

@ -79,6 +79,7 @@ BR2_PACKAGE_RNG_TOOLS=y
BR2_PACKAGE_SYSTEMD_RANDOMSEED=y BR2_PACKAGE_SYSTEMD_RANDOMSEED=y
BR2_PACKAGE_SYSTEMD_RESOLVED=y BR2_PACKAGE_SYSTEMD_RESOLVED=y
BR2_PACKAGE_SYSTEMD_COREDUMP=y BR2_PACKAGE_SYSTEMD_COREDUMP=y
BR2_PACKAGE_SYSTEMD_JOURNAL_REMOTE=y
BR2_PACKAGE_SYSTEMD_LOGIND=y BR2_PACKAGE_SYSTEMD_LOGIND=y
BR2_PACKAGE_UTIL_LINUX_PARTX=y BR2_PACKAGE_UTIL_LINUX_PARTX=y
BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y

View File

@ -79,6 +79,7 @@ BR2_PACKAGE_RNG_TOOLS=y
BR2_PACKAGE_SYSTEMD_RANDOMSEED=y BR2_PACKAGE_SYSTEMD_RANDOMSEED=y
BR2_PACKAGE_SYSTEMD_RESOLVED=y BR2_PACKAGE_SYSTEMD_RESOLVED=y
BR2_PACKAGE_SYSTEMD_COREDUMP=y BR2_PACKAGE_SYSTEMD_COREDUMP=y
BR2_PACKAGE_SYSTEMD_JOURNAL_REMOTE=y
BR2_PACKAGE_SYSTEMD_LOGIND=y BR2_PACKAGE_SYSTEMD_LOGIND=y
BR2_PACKAGE_UTIL_LINUX_PARTX=y BR2_PACKAGE_UTIL_LINUX_PARTX=y
BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y

View File

@ -93,6 +93,7 @@ BR2_PACKAGE_RNG_TOOLS=y
BR2_PACKAGE_SYSTEMD_RANDOMSEED=y BR2_PACKAGE_SYSTEMD_RANDOMSEED=y
BR2_PACKAGE_SYSTEMD_RESOLVED=y BR2_PACKAGE_SYSTEMD_RESOLVED=y
BR2_PACKAGE_SYSTEMD_COREDUMP=y BR2_PACKAGE_SYSTEMD_COREDUMP=y
BR2_PACKAGE_SYSTEMD_JOURNAL_REMOTE=y
BR2_PACKAGE_SYSTEMD_LOGIND=y BR2_PACKAGE_SYSTEMD_LOGIND=y
BR2_PACKAGE_UTIL_LINUX_PARTX=y BR2_PACKAGE_UTIL_LINUX_PARTX=y
BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y

View File

@ -80,6 +80,7 @@ BR2_PACKAGE_RNG_TOOLS=y
BR2_PACKAGE_SYSTEMD_RANDOMSEED=y BR2_PACKAGE_SYSTEMD_RANDOMSEED=y
BR2_PACKAGE_SYSTEMD_RESOLVED=y BR2_PACKAGE_SYSTEMD_RESOLVED=y
BR2_PACKAGE_SYSTEMD_COREDUMP=y BR2_PACKAGE_SYSTEMD_COREDUMP=y
BR2_PACKAGE_SYSTEMD_JOURNAL_REMOTE=y
BR2_PACKAGE_SYSTEMD_LOGIND=y BR2_PACKAGE_SYSTEMD_LOGIND=y
BR2_PACKAGE_UTIL_LINUX_PARTX=y BR2_PACKAGE_UTIL_LINUX_PARTX=y
BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y

View File

@ -79,6 +79,7 @@ BR2_PACKAGE_RNG_TOOLS=y
BR2_PACKAGE_SYSTEMD_RANDOMSEED=y BR2_PACKAGE_SYSTEMD_RANDOMSEED=y
BR2_PACKAGE_SYSTEMD_RESOLVED=y BR2_PACKAGE_SYSTEMD_RESOLVED=y
BR2_PACKAGE_SYSTEMD_COREDUMP=y BR2_PACKAGE_SYSTEMD_COREDUMP=y
BR2_PACKAGE_SYSTEMD_JOURNAL_REMOTE=y
BR2_PACKAGE_SYSTEMD_LOGIND=y BR2_PACKAGE_SYSTEMD_LOGIND=y
BR2_PACKAGE_UTIL_LINUX_PARTX=y BR2_PACKAGE_UTIL_LINUX_PARTX=y
BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y

View File

@ -80,6 +80,7 @@ BR2_PACKAGE_RNG_TOOLS=y
BR2_PACKAGE_SYSTEMD_RANDOMSEED=y BR2_PACKAGE_SYSTEMD_RANDOMSEED=y
BR2_PACKAGE_SYSTEMD_RESOLVED=y BR2_PACKAGE_SYSTEMD_RESOLVED=y
BR2_PACKAGE_SYSTEMD_COREDUMP=y BR2_PACKAGE_SYSTEMD_COREDUMP=y
BR2_PACKAGE_SYSTEMD_JOURNAL_REMOTE=y
BR2_PACKAGE_SYSTEMD_LOGIND=y BR2_PACKAGE_SYSTEMD_LOGIND=y
BR2_PACKAGE_UTIL_LINUX_PARTX=y BR2_PACKAGE_UTIL_LINUX_PARTX=y
BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y

View File

@ -80,6 +80,7 @@ BR2_PACKAGE_RNG_TOOLS=y
BR2_PACKAGE_SYSTEMD_RANDOMSEED=y BR2_PACKAGE_SYSTEMD_RANDOMSEED=y
BR2_PACKAGE_SYSTEMD_RESOLVED=y BR2_PACKAGE_SYSTEMD_RESOLVED=y
BR2_PACKAGE_SYSTEMD_COREDUMP=y BR2_PACKAGE_SYSTEMD_COREDUMP=y
BR2_PACKAGE_SYSTEMD_JOURNAL_REMOTE=y
BR2_PACKAGE_SYSTEMD_LOGIND=y BR2_PACKAGE_SYSTEMD_LOGIND=y
BR2_PACKAGE_UTIL_LINUX_PARTX=y BR2_PACKAGE_UTIL_LINUX_PARTX=y
BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y

View File

@ -83,6 +83,7 @@ BR2_PACKAGE_RNG_TOOLS=y
BR2_PACKAGE_SYSTEMD_RANDOMSEED=y BR2_PACKAGE_SYSTEMD_RANDOMSEED=y
BR2_PACKAGE_SYSTEMD_RESOLVED=y BR2_PACKAGE_SYSTEMD_RESOLVED=y
BR2_PACKAGE_SYSTEMD_COREDUMP=y BR2_PACKAGE_SYSTEMD_COREDUMP=y
BR2_PACKAGE_SYSTEMD_JOURNAL_REMOTE=y
BR2_PACKAGE_SYSTEMD_LOGIND=y BR2_PACKAGE_SYSTEMD_LOGIND=y
BR2_PACKAGE_UTIL_LINUX_PARTX=y BR2_PACKAGE_UTIL_LINUX_PARTX=y
BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y

View File

@ -81,6 +81,7 @@ BR2_PACKAGE_RNG_TOOLS=y
BR2_PACKAGE_SYSTEMD_RANDOMSEED=y BR2_PACKAGE_SYSTEMD_RANDOMSEED=y
BR2_PACKAGE_SYSTEMD_RESOLVED=y BR2_PACKAGE_SYSTEMD_RESOLVED=y
BR2_PACKAGE_SYSTEMD_COREDUMP=y BR2_PACKAGE_SYSTEMD_COREDUMP=y
BR2_PACKAGE_SYSTEMD_JOURNAL_REMOTE=y
BR2_PACKAGE_SYSTEMD_LOGIND=y BR2_PACKAGE_SYSTEMD_LOGIND=y
BR2_PACKAGE_UTIL_LINUX_PARTX=y BR2_PACKAGE_UTIL_LINUX_PARTX=y
BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y

View File

@ -79,6 +79,7 @@ BR2_PACKAGE_RNG_TOOLS=y
BR2_PACKAGE_SYSTEMD_RANDOMSEED=y BR2_PACKAGE_SYSTEMD_RANDOMSEED=y
BR2_PACKAGE_SYSTEMD_RESOLVED=y BR2_PACKAGE_SYSTEMD_RESOLVED=y
BR2_PACKAGE_SYSTEMD_COREDUMP=y BR2_PACKAGE_SYSTEMD_COREDUMP=y
BR2_PACKAGE_SYSTEMD_JOURNAL_REMOTE=y
BR2_PACKAGE_SYSTEMD_LOGIND=y BR2_PACKAGE_SYSTEMD_LOGIND=y
BR2_PACKAGE_UTIL_LINUX_PARTX=y BR2_PACKAGE_UTIL_LINUX_PARTX=y
BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y

View File

@ -81,6 +81,7 @@ BR2_PACKAGE_RNG_TOOLS=y
BR2_PACKAGE_SYSTEMD_RANDOMSEED=y BR2_PACKAGE_SYSTEMD_RANDOMSEED=y
BR2_PACKAGE_SYSTEMD_RESOLVED=y BR2_PACKAGE_SYSTEMD_RESOLVED=y
BR2_PACKAGE_SYSTEMD_COREDUMP=y BR2_PACKAGE_SYSTEMD_COREDUMP=y
BR2_PACKAGE_SYSTEMD_JOURNAL_REMOTE=y
BR2_PACKAGE_SYSTEMD_LOGIND=y BR2_PACKAGE_SYSTEMD_LOGIND=y
BR2_PACKAGE_UTIL_LINUX_PARTX=y BR2_PACKAGE_UTIL_LINUX_PARTX=y
BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y

View File

@ -1,8 +1,8 @@
[Unit] [Unit]
Description=HassOS supervisor Description=HassOS supervisor
Requires=docker.service rauc.service dbus.service Requires=docker.service rauc.service dbus.service
Wants=network-online.target hassos-apparmor.service time-sync.target Wants=network-online.target hassos-apparmor.service time-sync.target systemd-journal-gatewayd.socket
After=docker.service rauc.service dbus.service network-online.target hassos-apparmor.service time-sync.target After=docker.service rauc.service dbus.service network-online.target hassos-apparmor.service time-sync.target systemd-journal-gatewayd.socket
RequiresMountsFor=/mnt/data /mnt/boot /mnt/overlay RequiresMountsFor=/mnt/data /mnt/boot /mnt/overlay
StartLimitIntervalSec=60 StartLimitIntervalSec=60
StartLimitBurst=5 StartLimitBurst=5

View File

@ -0,0 +1,18 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
#
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
[Unit]
Description=Journal Gateway Service Socket
Documentation=man:systemd-journal-gatewayd(8)
[Socket]
ListenStream=/run/systemd-journal-gatewayd.sock
[Install]
WantedBy=sockets.target

View File

@ -81,6 +81,7 @@ if [ -z "${SUPERVISOR_CONTAINER_ID}" ]; then
--name hassio_supervisor \ --name hassio_supervisor \
--privileged --security-opt apparmor="hassio-supervisor" \ --privileged --security-opt apparmor="hassio-supervisor" \
-v /run/docker.sock:/run/docker.sock:rw \ -v /run/docker.sock:/run/docker.sock:rw \
-v /run/systemd-journal-gatewayd.sock:/run/systemd-journal-gatewayd.sock:rw \
-v /run/dbus:/run/dbus:ro \ -v /run/dbus:/run/dbus:ro \
-v /run/supervisor:/run/os:rw \ -v /run/supervisor:/run/os:rw \
-v /run/udev:/run/udev:ro \ -v /run/udev:/run/udev:ro \