@cryptotaxi247 / netdata-1 / commits / 05da323fe

install go.d.plugin (#5199)

[minor] release

Paweł Krupa committed Feb 4, 2019 at 19:36 UTC 05da323fefe833ac48af7cbc059260e0fd6cf05e
3 files changed +95 -1
Makefile.am
+1
@@ -60,6 +60,7 @@ dist_noinst_DATA= \
60 package.json \
61 docs \
62 packaging/version \
63 + packaging/go.d.checksums \
64 packaging/installer/README.md \
65 packaging/installer/UNINSTALL.md \
66 packaging/installer/UPDATE.md \
netdata-installer.sh
+78 -1
@@ -40,6 +40,18 @@ else
40 source "${netdata_source_dir}/packaging/installer/functions.sh" || exit 1
41 fi
42
43 +download() {
44 + url="${1}"
45 + dest="${2}"
46 + if command -v wget >/dev/null 2>&1; then
47 + run wget -O - "${url}" >"${dest}" || fatal "Cannot download ${url}"
48 + elif command -v curl >/dev/null 2>&1; then
49 + run curl "${url}" >"${dest}" || fatal "Cannot download ${url}"
50 + else
51 + fatal "I need curl or wget to proceed, but neither is available on this system."
52 + fi
53 +}
54 +
55 # make sure we save all commands we run
56 run_logfile="netdata-installer.log"
57
@@ -154,6 +166,10 @@ Valid <installer options> are:
166
167 Use this flag to opt-out from our anonymous telemetry progam.
168
169 + --disable-go
170 +
171 + Flag to disable installation of go.d.plugin
172 +
173 Netdata will by default be compiled with gcc optimization -O2
174 If you need to pass different CFLAGS, use something like this:
175
@@ -212,6 +228,9 @@ while [ ! -z "${1}" ]; do
228 elif [ "$1" = "--disable-telemetry" ]; then
229 NETDATA_DISABLE_TELEMETRY=1
230 shift 1
231 + elif [ "$1" = "--disable-go" ]; then
232 + NETDATA_DISABLE_GO=1
233 + shift 1
234 elif [ "$1" = "--help" -o "$1" = "-h" ]; then
235 usage
236 exit 1
@@ -638,7 +657,7 @@ fi
657
658 # --- conf dir ----
659
641 -for x in "python.d" "charts.d" "node.d" "health.d" "statsd.d"; do
660 +for x in "python.d" "charts.d" "node.d" "health.d" "statsd.d" "go.d"; do
661 if [ ! -d "${NETDATA_USER_CONFIG_DIR}/${x}" ]; then
662 echo >&2 "Creating directory '${NETDATA_USER_CONFIG_DIR}/${x}'"
663 run mkdir -p "${NETDATA_USER_CONFIG_DIR}/${x}" || exit 1
@@ -755,6 +774,64 @@ else
774 run find "${NETDATA_PREFIX}/usr/libexec/netdata" -type d -exec chmod 0755 {} \;
775 fi
776
777 +# -----------------------------------------------------------------------------
778 +
779 +install_go() {
780 + # When updating this value, ensure correct checksums in packaging/go.d.checksums
781 + GO_PACKAGE_VERSION="v0.0.2"
782 + ARCH_MAP=(
783 + 'i386::386'
784 + 'i686::386'
785 + 'x86_64::amd64'
786 + 'aarch64::arm64'
787 + 'armv64::arm64'
788 + 'armv6l::arm'
789 + 'armv7l::arm'
790 + 'armv5tel::arm'
791 + )
792 +
793 + if [ -z "${NETDATA_DISABLE_GO+x}" ]; then
794 + progress "Install go.d.plugin"
795 + ARCH=$(uname -m)
796 + OS=$(uname -s | tr '[:upper:]' '[:lower:]')
797 +
798 + for index in "${ARCH_MAP[@]}" ; do
799 + KEY="${index%%::*}"
800 + VALUE="${index##*::}"
801 + if [ "$KEY" == "$ARCH" ]; then
802 + ARCH="${VALUE}"
803 + break
804 + fi
805 + done
806 + tmp=$(mktemp -d /tmp/netdata-go-XXXXXX)
807 + GO_PACKAGE_BASENAME="go.d.plugin-$GO_PACKAGE_VERSION.$OS-$ARCH"
808 + download "https://github.com/netdata/go.d.plugin/releases/download/$GO_PACKAGE_VERSION/$GO_PACKAGE_BASENAME" "${tmp}/$GO_PACKAGE_BASENAME"
809 + download "https://github.com/netdata/go.d.plugin/releases/download/$GO_PACKAGE_VERSION/config.tar.gz" "${tmp}/config.tar.gz"
810 + grep "${GO_PACKAGE_BASENAME}" "${installer_dir}/packaging/go.d.checksums" > "${tmp}/sha256sums.txt" 2>/dev/null
811 + grep "config.tar.gz" "${installer_dir}/packaging/go.d.checksums" >> "${tmp}/sha256sums.txt" 2>/dev/null
812 +
813 + # Checksum validation
814 + if ! (cd "${tmp}" && sha256sum -c "sha256sums.txt"); then
815 + run_failed "go.d.plugin package files checksum validation failed."
816 + return 1
817 + fi
818 +
819 + # Install new files
820 + run rm -rf "${NETDATA_STOCK_CONFIG_DIR}/go.d"
821 + run rm -rf "${NETDATA_STOCK_CONFIG_DIR}/go.d.conf"
822 + run tar -xf "${tmp}/config.tar.gz" -C "${NETDATA_STOCK_CONFIG_DIR}/"
823 + run chown -R "${ROOT_USER}:${NETDATA_GROUP}" "${NETDATA_STOCK_CONFIG_DIR}"
824 +
825 + run mv "${tmp}/$GO_PACKAGE_BASENAME" "${NETDATA_PREFIX}/usr/libexec/netdata/plugins.d/go.d.plugin"
826 + if [ ${UID} -eq 0 ]; then
827 + run chown root:${NETDATA_GROUP} "${NETDATA_PREFIX}/usr/libexec/netdata/plugins.d/go.d.plugin"
828 + fi
829 + run chmod 0750 "${NETDATA_PREFIX}/usr/libexec/netdata/plugins.d/go.d.plugin"
830 + fi
831 + return 0
832 +}
833 +install_go
834 +
835 # --- fix #1292 bug ---
836
837 [ -d "${NETDATA_PREFIX}/usr/libexec" ] && run chmod a+rX "${NETDATA_PREFIX}/usr/libexec"
packaging/go.d.checksums new
+16
@@ -0,0 +1,16 @@
1 +ef1d47b5e36d48c5cc99a837899d74625aec6c5e7a6d810254c56f9e58b9463f *config.tar.gz
2 +ac4df4040e4b1c1f55613e9c9ea0cea8100a36669ff976e30e90dbb7968337ff *go.d.plugin-v0.0.2.darwin-386
3 +f0a5938df322336a36c177972d3d328c4fbad927a0abc6edbc7159537a7da870 *go.d.plugin-v0.0.2.darwin-amd64
4 +aff5a560d2acc5717ee83cf5751062d704050e9a993968c093de284c313f0390 *go.d.plugin-v0.0.2.freebsd-386
5 +8a0abf3901b25fc37a7c65b931e3a7e4386b46c2b0c37d1f77c05f67eb68c1e9 *go.d.plugin-v0.0.2.freebsd-amd64
6 +b4a1715435983e60fefed1ca016fa55831ebfed419298cd93961d13a8ce8ee53 *go.d.plugin-v0.0.2.freebsd-arm
7 +e85e6bc0614d625d2c3f5d89182a640c3adabdb7ad9f2ad6a6d1d0fcef8d8761 *go.d.plugin-v0.0.2.linux-386
8 +f8b7d17402cfebb20431a2dedb9a7a1097a6be379a6eb187f9df4f39d69dc286 *go.d.plugin-v0.0.2.linux-amd64
9 +da9a1f5d083c09c644e5234ad73b523202fca5e5872645f8e3d33e3a01b11e71 *go.d.plugin-v0.0.2.linux-arm
10 +bc8d834840a723472ad116c7a44c5b93dd770356810912ca86cdcb517de076d8 *go.d.plugin-v0.0.2.linux-arm64
11 +556ec76fea17922ac413916f16061973ad20997cdce18be9ba6da22ddcc4d82d *go.d.plugin-v0.0.2.linux-mips
12 +9197b386863a48b9c00138fec885049448a5b85582db4e91668d5e21ef207b1a *go.d.plugin-v0.0.2.linux-mips64
13 +531795a69e5e6f2243a5ee19ed3221e7c6dfdcd690066af678fda505c8b3d81d *go.d.plugin-v0.0.2.linux-mips64le
14 +bb07367de065958ac429c694acb638c6151a80685081be74aafb65bd72a86022 *go.d.plugin-v0.0.2.linux-mipsle
15 +b78fa18407b3be1aa29657ea793fec5050c7fefc75ccc88168c7c2d4d4313def *go.d.plugin-v0.0.2.linux-ppc64
16 +50d37f290ebe0df8d08acff6c8f3f8df0c95d619ebe8b7f592973410b42a23ac *go.d.plugin-v0.0.2.linux-ppc64le