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: |
sudo docker run --rm -i \
-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'

View file

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

View file

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