@cryptotaxi247 / netdata-1 / commits / 00bc58df4

Add support for claiming existing installs via kickstarter scripts. (#11350)

Used when the user specifies claiming options but does not request a reinstall.

Austin S. Hemmelgarn committed Aug 10, 2021 at 13:20 UTC 00bc58df4d0aaa8b6da987afdeb830003661a04c
4 files changed +58 -26
packaging/installer/kickstart-static64.sh
+22 -10
@@ -218,6 +218,19 @@ mark_install_type() {
218 fi
219 }
220
221 +claim() {
222 + progress "Attempting to claim agent to ${NETDATA_CLAIM_URL}"
223 + NETDATA_CLAIM_PATH=/opt/netdata/bin/netdata-claim.sh
224 +
225 + if "${NETDATA_CLAIM_PATH}" -token=${NETDATA_CLAIM_TOKEN} -rooms=${NETDATA_CLAIM_ROOMS} -url=${NETDATA_CLAIM_URL} ${NETDATA_CLAIM_EXTRA}; then
226 + progress "Successfully claimed node"
227 + return 0
228 + else
229 + run_failed "Unable to claim node, you must do so manually."
230 + return 1
231 + fi
232 +}
233 +
234 # ----------------------------------------------------------------------------
235 umask 022
236
@@ -338,7 +351,10 @@ if [ -n "$ndpath" ] ; then
351 if [ -r "${ndprefix}/etc/netdata/.environment" ] ; then
352 ndstatic="$(grep IS_NETDATA_STATIC_BINARY "${ndprefix}/etc/netdata/.environment" | cut -d "=" -f 2 | tr -d \")"
353 if [ -z "${NETDATA_REINSTALL}" ] && [ -z "${NETDATA_LOCAL_TARBALL_OVERRIDE}" ] ; then
341 - if [ -x "${ndprefix}/usr/libexec/netdata/netdata-updater.sh" ] ; then
354 + if [ -n "${NETDATA_CLAIM_TOKEN}" ] ; then
355 + claim
356 + exit $?
357 + elif [ -x "${ndprefix}/usr/libexec/netdata/netdata-updater.sh" ] ; then
358 progress "Attempting to update existing install instead of creating a new one"
359 if run ${sudo} "${ndprefix}/usr/libexec/netdata/netdata-updater.sh" --not-running-from-cron ; then
360 progress "Updated existing install at ${ndpath}"
@@ -365,7 +381,10 @@ if [ -n "$ndpath" ] ; then
381 fi
382 else
383 progress "Existing install appears to be handled manually or through the system package manager."
368 - if [ -z "${NETDATA_ALLOW_DUPLICATE_INSTALL}" ] ; then
384 + if [ -n "${NETDATA_CLAIM_TOKEN}" ] ; then
385 + claim
386 + exit $?
387 + elif [ -z "${NETDATA_ALLOW_DUPLICATE_INSTALL}" ] ; then
388 fatal "Existing installation detected which cannot be safely updated by this script, refusing to continue."
389 exit 1
390 else
@@ -414,12 +433,5 @@ fi
433 # --------------------------------------------------------------------------------------------------------------------
434
435 if [ -n "${NETDATA_CLAIM_TOKEN}" ]; then
417 - progress "Attempting to claim agent to ${NETDATA_CLAIM_URL}"
418 - NETDATA_CLAIM_PATH=/opt/netdata/bin/netdata-claim.sh
419 -
420 - if "${NETDATA_CLAIM_PATH}" -token=${NETDATA_CLAIM_TOKEN} -rooms=${NETDATA_CLAIM_ROOMS} -url=${NETDATA_CLAIM_URL} ${NETDATA_CLAIM_EXTRA}; then
421 - progress "Successfully claimed node"
422 - else
423 - run_failed "Unable to claim node, you must do so manually."
424 - fi
436 + claim
437 fi
packaging/installer/kickstart.sh
+34 -14
@@ -300,6 +300,23 @@ safe_sha256sum() {
300 fi
301 }
302
303 +claim() {
304 + progress "Attempting to claim agent to ${NETDATA_CLAIM_URL}"
305 + if [ -z "${NETDATA_PREFIX}" ] ; then
306 + NETDATA_CLAIM_PATH=/usr/sbin/netdata-claim.sh
307 + else
308 + NETDATA_CLAIM_PATH="${NETDATA_PREFIX}/netdata/usr/sbin/netdata-claim.sh"
309 + fi
310 +
311 + if "${NETDATA_CLAIM_PATH}" -token=${NETDATA_CLAIM_TOKEN} -rooms=${NETDATA_CLAIM_ROOMS} -url=${NETDATA_CLAIM_URL} ${NETDATA_CLAIM_EXTRA}; then
312 + progress "Successfully claimed node"
313 + return 0
314 + else
315 + run_failed "Unable to claim node, you must do so manually."
316 + return 1
317 + fi
318 +}
319 +
320 # ---------------------------------------------------------------------------------------------------------------------
321 umask 022
322
@@ -438,7 +455,14 @@ if [ -n "$ndpath" ] ; then
455 if [ -r "${ndprefix}/etc/netdata/.environment" ] ; then
456 ndstatic="$(grep IS_NETDATA_STATIC_BINARY "${ndprefix}/etc/netdata/.environment" | cut -d "=" -f 2 | tr -d \")"
457 if [ -z "${NETDATA_REINSTALL}" ] && [ -z "${NETDATA_LOCAL_TARBALL_OVERRIDE}" ] ; then
441 - if [ -x "${ndprefix}/usr/libexec/netdata/netdata-updater.sh" ] ; then
458 + if [ -n "${NETDATA_CLAIM_TOKEN}" ] ; then
459 + if [ "${ndprefix}" != '/' ] ; then
460 + NETDATA_PREFIX="${ndprefix}"
461 + fi
462 +
463 + claim
464 + exit $?
465 + elif [ -x "${ndprefix}/usr/libexec/netdata/netdata-updater.sh" ] ; then
466 progress "Attempting to update existing install instead of creating a new one"
467 if run ${sudo} "${ndprefix}/usr/libexec/netdata/netdata-updater.sh" --not-running-from-cron ; then
468 progress "Updated existing install at ${ndpath}"
@@ -465,7 +489,14 @@ if [ -n "$ndpath" ] ; then
489 fi
490 else
491 progress "Existing install appears to be handled manually or through the system package manager."
468 - if [ -z "${NETDATA_ALLOW_DUPLICATE_INSTALL}" ] ; then
492 + if [ -n "${NETDATA_CLAIM_TOKEN}" ] ; then
493 + if [ "${ndprefix}" != '/' ] ; then
494 + NETDATA_PREFIX="${ndprefix}"
495 + fi
496 +
497 + claim
498 + exit $?
499 + elif [ -z "${NETDATA_ALLOW_DUPLICATE_INSTALL}" ] ; then
500 fatal "Existing installation detected which cannot be safely updated by this script, refusing to continue."
501 exit 1
502 else
@@ -529,16 +560,5 @@ fi
560 # --------------------------------------------------------------------------------------------------------------------
561
562 if [ -n "${NETDATA_CLAIM_TOKEN}" ]; then
532 - progress "Attempting to claim agent to ${NETDATA_CLAIM_URL}"
533 - if [ -z "${NETDATA_PREFIX}" ] ; then
534 - NETDATA_CLAIM_PATH=/usr/sbin/netdata-claim.sh
535 - else
536 - NETDATA_CLAIM_PATH="${NETDATA_PREFIX}/netdata/usr/sbin/netdata-claim.sh"
537 - fi
538 -
539 - if "${NETDATA_CLAIM_PATH}" -token=${NETDATA_CLAIM_TOKEN} -rooms=${NETDATA_CLAIM_ROOMS} -url=${NETDATA_CLAIM_URL} ${NETDATA_CLAIM_EXTRA}; then
540 - progress "Successfully claimed node"
541 - else
542 - run_failed "Unable to claim node, you must do so manually."
543 - fi
563 + claim
564 fi
packaging/installer/methods/kickstart-64.md
+1 -1
@@ -97,7 +97,7 @@ To use `md5sum` to verify the integrity of the `kickstart-static64.sh` script yo
97 command above, run the following:
98
99 ```bash
100 -[ "b723476b538065d280d44387403cabed" = "$(curl -Ss https://my-netdata.io/kickstart-static64.sh | md5sum | cut -d ' ' -f 1)" ] && echo "OK, VALID" || echo "FAILED, INVALID"
100 +[ "de3ae7eed8eefc48fe40ae52cead261b" = "$(curl -Ss https://my-netdata.io/kickstart-static64.sh | md5sum | cut -d ' ' -f 1)" ] && echo "OK, VALID" || echo "FAILED, INVALID"
101 ```
102
103 If the script is valid, this command will return `OK, VALID`.
packaging/installer/methods/kickstart.md
+1 -1
@@ -80,7 +80,7 @@ To use `md5sum` to verify the integrity of the `kickstart.sh` script you will do
80 run the following:
81
82 ```bash
83 -[ "836190944d062c712296846c45b68c94" = "$(curl -Ss https://my-netdata.io/kickstart.sh | md5sum | cut -d ' ' -f 1)" ] && echo "OK, VALID" || echo "FAILED, INVALID"
83 +[ "755019025d721fc199d52f7fb62d3420" = "$(curl -Ss https://my-netdata.io/kickstart.sh | md5sum | cut -d ' ' -f 1)" ] && echo "OK, VALID" || echo "FAILED, INVALID"
84 ```
85
86 If the script is valid, this command will return `OK, VALID`.