@cryptotaxi247 / netdata-1 / commits / af10bf91a

netdata/packaging/docker: fix docker permissions and other things (#5917)

* netdata/packaging/docker: fix docker permissions and other things 1. User more consistent shebangs 2. Do not use default values on REPOSITORY, its confusing. Just fail with a message if REPOSITORY not there 3. Set the ownership to root:netdata on the whole /usr/libexec/netdata directory * netdata/packaging/ci: Attempt to detect CI repo slug value for REPOSITORY, before failing hard

Paul Emm. Katsoulakis committed Apr 27, 2019 at 12:23 UTC af10bf91aca56a683e6d3954cb837803b70b1e19
3 files changed +24 -6
packaging/docker/Dockerfile
+1 -1
@@ -67,7 +67,7 @@ RUN \
67 chown -R root:netdata /etc/netdata && \
68 chown -R netdata:netdata /var/cache/netdata /var/lib/netdata /usr/share/netdata && \
69 chown -R root:netdata /usr/lib/netdata && \
70 - chown -R root:netdata /usr/libexec/netdata/plugins.d/apps.plugin /usr/libexec/netdata/plugins.d/cgroup-network && \
70 + chown -R root:netdata /usr/libexec/netdata/ && \
71 chmod 4750 /usr/libexec/netdata/plugins.d/cgroup-network /usr/libexec/netdata/plugins.d/apps.plugin && \
72 chmod 0750 /var/lib/netdata /var/cache/netdata && \
73 # Link log files to stdout
packaging/docker/build.sh
+12 -3
@@ -1,4 +1,4 @@
1 -#!/bin/bash
1 +#!/usr/bin/env bash
2 # Cross-arch docker build helper script
3 #
4 # Copyright: SPDX-License-Identifier: GPL-3.0-or-later
@@ -14,12 +14,21 @@ if [ "${BASH_VERSINFO[0]}" -lt "4" ]; then
14 fi
15
16 VERSION="$1"
17 -REPOSITORY="${REPOSITORY:-netdata}"
17 declare -A ARCH_MAP
18 ARCH_MAP=(["i386"]="386" ["amd64"]="amd64" ["armhf"]="arm" ["aarch64"]="arm64")
19 DEVEL_ARCHS=(amd64)
20 ARCHS="${!ARCH_MAP[@]}"
21
22 +if [ -z ${REPOSITORY} ]; then
23 + REPOSITORY="${TRAVIS_REPO_SLUG}"
24 + if [ -z ${REPOSITORY} ]; then
25 + echo "REPOSITORY not set, build cannot proceed"
26 + exit 1
27 + else
28 + echo "REPOSITORY was not detected, attempted to use TRAVIS_REPO_SLUG setting: ${TRAVIS_REPO_SLUG}"
29 + fi
30 +fi
31 +
32 # When development mode is set, build on DEVEL_ARCHS
33 if [ ! -z ${DEVEL+x} ]; then
34 declare -a ARCHS=(${DEVEL_ARCHS[@]})
@@ -53,7 +62,7 @@ docker run --rm --privileged multiarch/qemu-user-static:register --reset
62 for ARCH in ${ARCHS[@]}; do
63 TAG="${REPOSITORY}:${VERSION}-${ARCH}"
64 echo "Building tag ${TAG}.."
56 - eval docker build \
65 + eval docker build --no-cache \
66 --build-arg ARCH="${ARCH}" \
67 --tag "${TAG}" \
68 --file packaging/docker/Dockerfile ./
packaging/docker/publish.sh
+11 -2
@@ -1,4 +1,4 @@
1 -#!/bin/bash
1 +#!/usr/bin/env bash
2 # Cross-arch docker publish helper script
3 # Needs docker in version >18.02 due to usage of manifests
4 #
@@ -15,13 +15,22 @@ fi
15
16 WORKDIR="$(mktemp -d)" # Temporary folder, removed after script is done
17 VERSION="$1"
18 -REPOSITORY="${REPOSITORY:-netdata}"
18 declare -A ARCH_MAP
19 ARCH_MAP=(["i386"]="386" ["amd64"]="amd64" ["armhf"]="arm" ["aarch64"]="arm64")
20 DEVEL_ARCHS=(amd64)
21 ARCHS="${!ARCH_MAP[@]}"
22 DOCKER_CMD="docker --config ${WORKDIR}"
23
24 +if [ -z ${REPOSITORY} ]; then
25 + REPOSITORY="${TRAVIS_REPO_SLUG}"
26 + if [ -z ${REPOSITORY} ]; then
27 + echo "REPOSITORY not set, publish cannot proceed"
28 + exit 1
29 + else
30 + echo "REPOSITORY was not detected, attempted to use TRAVIS_REPO_SLUG setting: ${TRAVIS_REPO_SLUG}"
31 + fi
32 +fi
33 +
34 # When development mode is set, build on DEVEL_ARCHS
35 if [ ! -z ${DEVEL+x} ]; then
36 declare -a ARCHS=(${DEVEL_ARCHS[@]})