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