571
572
bundle_libwebsockets
573
574
+# -----------------------------------------------------------------------------
575
+# If we have the dashboard switching logic, make sure we're on the classic
576
+# dashboard during the install (updates don't work correctly otherwise).
577
+if [ -x "${NETDATA_PREFIX}/usr/libexec/netdata-switch-dashboard.sh" ] ; then
578
+ "${NETDATA_PREFIX}/usr/libexec/netdata-switch-dashboard.sh" classic
579
+fi
580
+
581
# -----------------------------------------------------------------------------
582
echo >&2
583
progress "Run autotools to configure the build environment"
971
972
# -----------------------------------------------------------------------------
973
974
+copy_react_dashboard() {
975
+ run rm -rf "${NETDATA_WEB_DIR}-react"
976
+ run rm -rf "${NETDATA_WEB_DIR}-classic"
977
+ run cp -a "${1}/" "${NETDATA_WEB_DIR}-react"
978
+ run cp -a "${NETDATA_WEB_DIR}/dashboard_info.js" "${NETDATA_WEB_DIR}-react"
979
+ run cp -a "${NETDATA_WEB_DIR}/dashboard.slate.css" "${NETDATA_WEB_DIR}-react"
980
+ run cp -a "${NETDATA_WEB_DIR}/dashboard.css" "${NETDATA_WEB_DIR}-react"
981
+ run cp -a "${NETDATA_WEB_DIR}/main.css" "${NETDATA_WEB_DIR}-react"
982
+ run echo "$(cd ${NETDATA_WEB_DIR}-react && find . -type f | sed -e 's/\.\///')" > "${NETDATA_WEB_DIR}-react/.files"
983
+ run cp -a "${NETDATA_WEB_DIR}" "${NETDATA_WEB_DIR}-classic"
984
+ run echo "$(find web/gui -type f | sed -e "s/web\/gui\///")" > "${NETDATA_WEB_DIR}-classic/.files"
985
+ run chown -R "${NETDATA_WEB_USER}:${NETDATA_WEB_GROUP}" "${NETDATA_WEB_DIR}-react"
986
+}
987
+
988
+install_react_dashboard() {
989
+ progress "Fetching and installing dashboard"
990
+
991
+ DASHBOARD_PACKAGE_VERSION="$(cat packaging/dashboard.version)"
992
+
993
+ tmp="$(mktemp -d -t netdata-dashboard-XXXXXX)"
994
+ DASHBOARD_PACKAGE_BASENAME="dashboard.tar.gz"
995
+
996
+ if fetch_and_verify "dashboard" \
997
+ "https://github.com/netdata/dashboard/releases/download/${DASHBOARD_PACKAGE_VERSION}/${DASHBOARD_PACKAGE_BASENAME}" \
998
+ "${DASHBOARD_PACKAGE_BASENAME}" \
999
+ "${tmp}" \
1000
+ "${NETDATA_LOCAL_TARBALL_OVERRIDE_DASHBOARD}"
1001
+ then
1002
+ if run tar -xf "${tmp}/${DASHBOARD_PACKAGE_BASENAME}" -C "${tmp}" && \
1003
+ copy_react_dashboard "${tmp}/build" && \
1004
+ rm -rf "${tmp}"
1005
+ then
1006
+ if run "${NETDATA_PREFIX}/usr/libexec/netdata/netdata-switch-dashboard.sh" "${NETDATA_SELECTED_DASHBOARD:-react}" ; then
1007
+ run_ok "React dashboard installed."
1008
+ else
1009
+ run_failed "Failed to switch to React dashboard."
1010
+ run rm -rf "${NETDATA_WEB_DIR}"
1011
+ run cp -a "${NETDATA_WEB_DIR}-classic" "${NETDATA_WEB_DIR}"
1012
+ fi
1013
+ else
1014
+ run_failed "Failed to install React dashboard. The install process will continue, but you will not be able to use the new dashboard."
1015
+ fi
1016
+ else
1017
+ run_failed "Unable to fetch React dashboard. The install process will continue, but you will not be able to use the new dashboard."
1018
+ fi
1019
+}
1020
+
1021
+install_react_dashboard
1022
+
1023
+# -----------------------------------------------------------------------------
1024
+
1025
# govercomp compares go.d.plugin versions. Exit codes:
1026
# 0 - version1 == version2
1027
# 1 - version1 > version2
1570
RELEASE_CHANNEL="${RELEASE_CHANNEL}"
1571
IS_NETDATA_STATIC_BINARY="${IS_NETDATA_STATIC_BINARY}"
1572
NETDATA_LIB_DIR="${NETDATA_LIB_DIR}"
1573
+NETDATA_SELECTED_DASHBOARD="${NETDATA_SELECTED_DASHBOARD:-react}"
1574
EOF
1575
run chmod 0644 "${NETDATA_USER_CONFIG_DIR}/.environment"
1576