This commit is contained in:
Pascal Vizeli 2019-04-24 13:54:23 +02:00
parent 70ef0a4d94
commit 0d6078b535
3 changed files with 19 additions and 17 deletions

View file

@ -21,5 +21,5 @@ jobs:
- script: | - script: |
sudo docker run --rm -i \ sudo docker run --rm -i \
-v $(pwd):/mnt:ro koalaman/shellcheck:$(versionShellCheck) \ -v $(pwd):/mnt:ro koalaman/shellcheck:$(versionShellCheck) \
hassio_installer.sh files/hassio-apparmor files/hassio-supervisor hassio_install.sh files/hassio-apparmor files/hassio-supervisor
displayName: 'Run ShellCheck' displayName: 'Run ShellCheck'

View file

@ -6,7 +6,7 @@ CONFIG_FILE=/etc/hassio.json
# Read configs # Read configs
DATA="$(jq --raw-output '.data // "/usr/share/hassio"' ${CONFIG_FILE})" DATA="$(jq --raw-output '.data // "/usr/share/hassio"' ${CONFIG_FILE})"
PROFILES_DIR=${DATA}/apparmor PROFILES_DIR="${DATA}/apparmor"
CACHE_DIR="${PROFILES_DIR}/cache" CACHE_DIR="${PROFILES_DIR}/cache"
REMOVE_DIR="${PROFILES_DIR}/remove" REMOVE_DIR="${PROFILES_DIR}/remove"
@ -17,31 +17,31 @@ if ! command -v apparmor_parser > /dev/null 2>&1; then
fi fi
# Check folder structure # Check folder structure
mkdir -p ${PROFILES_DIR} mkdir -p "${PROFILES_DIR}"
mkdir -p ${CACHE_DIR} mkdir -p "${CACHE_DIR}"
mkdir -p ${REMOVE_DIR} mkdir -p "${REMOVE_DIR}"
# Load/Update exists/new profiles # Load/Update exists/new profiles
for profile in ${PROFILES_DIR}/*; do for profile in "${PROFILES_DIR}"/*; do
if [ ! -f ${profile} ]; then if [ ! -f "${profile}" ]; then
continue continue
fi fi
# Load Profile # Load Profile
if ! apparmor_parser -r -W -L ${CACHE_DIR} ${profile}; then if ! apparmor_parser -r -W -L "${CACHE_DIR}" "${profile}"; then
echo "[Error]: Can't load profile ${profile}" echo "[Error]: Can't load profile ${profile}"
fi fi
done done
# Cleanup old profiles # Cleanup old profiles
for profile in ${REMOVE_DIR}/*; do for profile in "${REMOVE_DIR}"/*; do
if [ ! -f ${profile} ]; then if [ ! -f "${profile}" ]; then
continue continue
fi fi
# Unload Profile # Unload Profile
if apparmor_parser -R -W -L ${CACHE_DIR} ${profile}; then if apparmor_parser -R -W -L "${CACHE_DIR}" "${profile}"; then
if rm ${profile}; then if rm -f "${profile}"; then
continue continue
fi fi
fi fi

View file

@ -22,19 +22,21 @@ HASSIO_CONTAINER_ID=$(docker inspect --format='{{.Image}}' hassio_supervisor ||
runSupervisor() { runSupervisor() {
docker rm --force hassio_supervisor || true docker rm --force hassio_supervisor || true
# shellcheck disable=SC2086
docker run --name hassio_supervisor \ docker run --name hassio_supervisor \
--privileged \ --privileged \
$APPARMOR \ $APPARMOR \
--security-opt seccomp=unconfined \ --security-opt seccomp=unconfined \
-v /var/run/docker.sock:/var/run/docker.sock \ -v /var/run/docker.sock:/var/run/docker.sock \
-v /var/run/dbus:/var/run/dbus \ -v /var/run/dbus:/var/run/dbus \
-v ${HASSIO_DATA}:/data \ -v "${HASSIO_DATA}":/data \
-e SUPERVISOR_SHARE=${HASSIO_DATA} \ -e SUPERVISOR_SHARE="${HASSIO_DATA}" \
-e SUPERVISOR_NAME=hassio_supervisor \ -e SUPERVISOR_NAME=hassio_supervisor \
-e HOMEASSISTANT_REPOSITORY=${HOMEASSISTANT} \ -e HOMEASSISTANT_REPOSITORY="${HOMEASSISTANT}" \
${SUPERVISOR} "${SUPERVISOR}"
} }
# Run supervisor # Run supervisor
mkdir -p ${HASSIO_DATA} mkdir -p "${HASSIO_DATA}"
([ "${HASSIO_IMAGE_ID}" = "${HASSIO_CONTAINER_ID}" ] && docker start --attach hassio_supervisor) || runSupervisor ([ "${HASSIO_IMAGE_ID}" = "${HASSIO_CONTAINER_ID}" ] && docker start --attach hassio_supervisor) || runSupervisor