diff options
Diffstat (limited to 'netdata-installer.sh')
-rwxr-xr-x | netdata-installer.sh | 191 |
1 files changed, 5 insertions, 186 deletions
diff --git a/netdata-installer.sh b/netdata-installer.sh index 345ce015a..7a97028f2 100755 --- a/netdata-installer.sh +++ b/netdata-installer.sh @@ -216,7 +216,6 @@ USAGE: ${PROGRAM} [options] --disable-ebpf Disable eBPF Kernel plugin (Default: enabled) --disable-cloud Disable all Netdata Cloud functionality. --require-cloud Fail the install if it can't build Netdata Cloud support. - --aclk-legacy Forces build of ACLK Legacy which is fallback by default. --enable-plugin-freeipmi Enable the FreeIPMI plugin. Default: enable it when libipmimonitoring is available. --disable-plugin-freeipmi --disable-https Explicitly disable TLS support @@ -233,6 +232,9 @@ USAGE: ${PROGRAM} [options] --disable-backend-prometheus-remote-write --enable-backend-mongodb Enable MongoDB backend. Default: enable it when libmongoc is available. --disable-backend-mongodb + --enable-exporting-pubsub Enable Google Cloud PupSub exporting connector. Default: enable it when + libgoogle_cloud_cpp_pubsub_protos and libraries it depends on are available. + --disable-exporting-pubsub --enable-lto Enable Link-Time-Optimization. Default: disabled --disable-lto --enable-ml Enable anomaly detection with machine learning. (Default: autodetect) @@ -326,6 +328,8 @@ while [ -n "${1}" ]; do ;; "--enable-backend-mongodb") NETDATA_CONFIGURE_OPTIONS="${NETDATA_CONFIGURE_OPTIONS//--enable-backend-mongodb/} --enable-backend-mongodb" ;; "--disable-backend-mongodb") NETDATA_CONFIGURE_OPTIONS="${NETDATA_CONFIGURE_OPTIONS//--disable-backend-mongodb/} --disable-backend-mongodb" ;; + "--enable-exporting-pubsub") NETDATA_CONFIGURE_OPTIONS="${NETDATA_CONFIGURE_OPTIONS//--enable-exporting-pubsub/} --enable-exporting-pubsub" ;; + "--disable-exporting-pubsub") NETDATA_CONFIGURE_OPTIONS="${NETDATA_CONFIGURE_OPTIONS//--disable-exporting-pubsub/} --disable-exporting-pubsub" ;; "--enable-lto") NETDATA_CONFIGURE_OPTIONS="${NETDATA_CONFIGURE_OPTIONS//--enable-lto/} --enable-lto" ;; "--enable-ml") NETDATA_CONFIGURE_OPTIONS="${NETDATA_CONFIGURE_OPTIONS//--enable-ml/} --enable-ml" @@ -344,10 +348,6 @@ while [ -n "${1}" ]; do "--enable-ebpf") NETDATA_DISABLE_EBPF=0 ;; "--disable-ebpf") NETDATA_DISABLE_EBPF=1 NETDATA_CONFIGURE_OPTIONS="${NETDATA_CONFIGURE_OPTIONS//--disable-ebpf/} --disable-ebpf" ;; "--skip-available-ram-check") SKIP_RAM_CHECK=1 ;; - "--aclk-ng") ;; - "--aclk-legacy") - NETDATA_CONFIGURE_OPTIONS="${NETDATA_CONFIGURE_OPTIONS//--with-aclk-legacy/} --with-aclk-legacy" - ;; "--disable-cloud") if [ -n "${NETDATA_REQUIRE_CLOUD}" ]; then echo "Cloud explicitly enabled, ignoring --disable-cloud." @@ -610,187 +610,6 @@ trap build_error EXIT # ----------------------------------------------------------------------------- -build_libmosquitto() { - local env_cmd='' - - if [ -z "${DONT_SCRUB_CFLAGS_EVEN_THOUGH_IT_MAY_BREAK_THINGS}" ]; then - env_cmd="env CFLAGS=-fPIC CXXFLAGS= LDFLAGS=" - fi - - if [ "$(uname -s)" = Linux ]; then - run ${env_cmd} ${make} ${MAKEOPTS} -C "${1}/lib" - else - pushd ${1} > /dev/null || return 1 - if [ "$(uname)" = "Darwin" ] && [ -d /usr/local/opt/openssl ]; then - run ${env_cmd} cmake \ - -D OPENSSL_ROOT_DIR=/usr/local/opt/openssl \ - -D OPENSSL_LIBRARIES=/usr/local/opt/openssl/lib \ - -D WITH_STATIC_LIBRARIES:boolean=YES \ - . - else - run ${env_cmd} cmake -D WITH_STATIC_LIBRARIES:boolean=YES . - fi - run ${env_cmd} ${make} ${MAKEOPTS} -C lib - run mv lib/libmosquitto_static.a lib/libmosquitto.a - popd || return 1 - fi -} - -copy_libmosquitto() { - target_dir="${PWD}/externaldeps/mosquitto" - - run mkdir -p "${target_dir}" - - run cp "${1}/lib/libmosquitto.a" "${target_dir}" - run cp "${1}/lib/mosquitto.h" "${target_dir}" -} - -bundle_libmosquitto() { - if [ -n "${NETDATA_DISABLE_CLOUD}" ]; then - echo "Skipping libmosquitto" - return 0 - fi - - [ -n "${GITHUB_ACTIONS}" ] && echo "::group::Bundling libmosquitto." - - progress "Prepare custom libmosquitto version" - - MOSQUITTO_PACKAGE_VERSION="$(cat packaging/mosquitto.version)" - - tmp="$(mktemp -d -t netdata-mosquitto-XXXXXX)" - MOSQUITTO_PACKAGE_BASENAME="${MOSQUITTO_PACKAGE_VERSION}.tar.gz" - - if fetch_and_verify "mosquitto" \ - "https://github.com/netdata/mosquitto/archive/${MOSQUITTO_PACKAGE_BASENAME}" \ - "${MOSQUITTO_PACKAGE_BASENAME}" \ - "${tmp}" \ - "${NETDATA_LOCAL_TARBALL_OVERRIDE_MOSQUITTO}"; then - if run tar -xf "${tmp}/${MOSQUITTO_PACKAGE_BASENAME}" -C "${tmp}" && - build_libmosquitto "${tmp}/mosquitto-${MOSQUITTO_PACKAGE_VERSION}" && - copy_libmosquitto "${tmp}/mosquitto-${MOSQUITTO_PACKAGE_VERSION}" && - rm -rf "${tmp}"; then - run_ok "libmosquitto built and prepared." - else - run_failed "Failed to build libmosquitto." - defer_error_highlighted "Unable to fetch sources for libmosquitto. You will not be able to connect this node to Netdata Cloud." - fi - else - run_failed "Unable to fetch sources for libmosquitto." - defer_error_highlighted "Unable to fetch sources for libmosquitto. You will not be able to connect this node to Netdata Cloud." - fi - - [ -n "${GITHUB_ACTIONS}" ] && echo "::endgroup::" -} - -bundle_libmosquitto - -# ----------------------------------------------------------------------------- - -build_libwebsockets() { - local env_cmd='' - - if [ -z "${DONT_SCRUB_CFLAGS_EVEN_THOUGH_IT_MAY_BREAK_THINGS}" ]; then - env_cmd="env CFLAGS=-fPIC CXXFLAGS= LDFLAGS=" - fi - - pushd "${1}" > /dev/null || exit 1 - - if [ "$(uname)" = "Darwin" ]; then - run patch -p1 << "EOF" ---- a/lib/plat/unix/private.h -+++ b/lib/plat/unix/private.h -@@ -164,6 +164,8 @@ delete_from_fd(const struct lws_context *context, int fd); - * but happily have something equivalent in the SO_NOSIGPIPE flag. - */ - #ifdef __APPLE__ -+/* iOS SDK 12+ seems to define it, undef it for compatibility both ways */ -+#undef MSG_NOSIGNAL - #define MSG_NOSIGNAL SO_NOSIGPIPE - #endif -EOF - - # shellcheck disable=SC2181 - if [ $? -ne 0 ]; then - return 1 - fi - fi - - if [ "$(uname)" = "Darwin" ] && [ -d /usr/local/opt/openssl ]; then - run ${env_cmd} cmake \ - -D OPENSSL_ROOT_DIR=/usr/local/opt/openssl \ - -D OPENSSL_LIBRARIES=/usr/local/opt/openssl/lib \ - -D LWS_WITH_SOCKS5:bool=ON \ - -D LWS_IPV6:bool=ON \ - $CMAKE_FLAGS \ - . - else - run ${env_cmd} cmake \ - -D LWS_WITH_SOCKS5:bool=ON \ - -D LWS_IPV6:bool=ON \ - $CMAKE_FLAGS \ - . - fi - run ${env_cmd} ${make} ${MAKEOPTS} - popd > /dev/null || exit 1 -} - -copy_libwebsockets() { - target_dir="${PWD}/externaldeps/libwebsockets" - - run mkdir -p "${target_dir}" || return 1 - - run cp "${1}/lib/libwebsockets.a" "${target_dir}/libwebsockets.a" || return 1 - run cp -r "${1}/include" "${target_dir}" || return 1 -} - -bundle_libwebsockets() { - if [ -n "${NETDATA_DISABLE_CLOUD}" ] || [ -n "${USE_SYSTEM_LWS}" ]; then - echo "Skipping libwebsockets" - return 0 - fi - - if [ -z "$(command -v cmake)" ]; then - run_failed "Could not find cmake, which is required to build libwebsockets. The install process will continue, but you may not be able to connect this node to Netdata Cloud." - defer_error_highlighted "Could not find cmake, which is required to build libwebsockets. The install process will continue, but you may not be able to connect this node to Netdata Cloud." - return 0 - fi - - [ -n "${GITHUB_ACTIONS}" ] && echo "::group::Bundling libwebsockets." - - progress "Prepare libwebsockets" - - LIBWEBSOCKETS_PACKAGE_VERSION="$(cat packaging/libwebsockets.version)" - - tmp="$(mktemp -d -t netdata-libwebsockets-XXXXXX)" - LIBWEBSOCKETS_PACKAGE_BASENAME="v${LIBWEBSOCKETS_PACKAGE_VERSION}.tar.gz" - - if fetch_and_verify "libwebsockets" \ - "https://github.com/warmcat/libwebsockets/archive/${LIBWEBSOCKETS_PACKAGE_BASENAME}" \ - "${LIBWEBSOCKETS_PACKAGE_BASENAME}" \ - "${tmp}" \ - "${NETDATA_LOCAL_TARBALL_OVERRIDE_LIBWEBSOCKETS}"; then - if run tar -xf "${tmp}/${LIBWEBSOCKETS_PACKAGE_BASENAME}" -C "${tmp}" && - build_libwebsockets "${tmp}/libwebsockets-${LIBWEBSOCKETS_PACKAGE_VERSION}" && - copy_libwebsockets "${tmp}/libwebsockets-${LIBWEBSOCKETS_PACKAGE_VERSION}" && - rm -rf "${tmp}"; then - run_ok "libwebsockets built and prepared." - NETDATA_CONFIGURE_OPTIONS="${NETDATA_CONFIGURE_OPTIONS} --with-bundled-lws" - else - run_failed "Failed to build libwebsockets." - defer_error_highlighted "Failed to build libwebsockets. You may not be able to connect this node to Netdata Cloud." - fi - else - run_failed "Unable to fetch sources for libwebsockets." - defer_error_highlighted "Unable to fetch sources for libwebsockets. You may not be able to connect this node to Netdata Cloud." - fi - - [ -n "${GITHUB_ACTIONS}" ] && echo "::endgroup::" -} - -bundle_libwebsockets - -# ----------------------------------------------------------------------------- - build_protobuf() { local env_cmd='' |