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[@]})