12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- #!/bin/sh
- export DEBIAN_FRONTEND=noninteractive
- wait_for() {
- host="${1}"
- port="${2}"
- name="${3}"
- timeout="30"
- if command -v nc > /dev/null ; then
- netcat="nc"
- elif command -v netcat > /dev/null ; then
- netcat="netcat"
- else
- printf "Unable to find a usable netcat command.\n"
- return 1
- fi
- printf "Waiting for %s on %s:%s ... " "${name}" "${host}" "${port}"
- sleep 30
- i=0
- while ! ${netcat} -z "${host}" "${port}"; do
- sleep 1
- if [ "$i" -gt "$timeout" ]; then
- printf "Timed out!\n"
- docker ps -a
- echo "::group::Netdata container logs"
- docker logs netdata 2>&1
- echo "::endgroup::"
- return 1
- fi
- i="$((i + 1))"
- done
- printf "OK\n"
- }
- if [ -z "$(command -v nc 2>/dev/null)" ] && [ -z "$(command -v netcat 2>/dev/null)" ]; then
- sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get install -y netcat
- fi
- docker run -d --name=netdata \
- -p 19999:19999 \
- -v netdataconfig:/etc/netdata \
- -v netdatalib:/var/lib/netdata \
- -v netdatacache:/var/cache/netdata \
- -v /etc/passwd:/host/etc/passwd:ro \
- -v /etc/group:/host/etc/group:ro \
- -v /proc:/host/proc:ro \
- -v /sys:/host/sys:ro \
- -v /etc/os-release:/host/etc/os-release:ro \
- --cap-add SYS_PTRACE \
- --security-opt apparmor=unconfined \
- netdata/netdata:test
- wait_for localhost 19999 netdata || exit 1
- curl -sS http://127.0.0.1:19999/api/v1/info > ./response || exit 1
- cat ./response
- jq '.version' ./response || exit 1
|