0
0
Fork 0
mirror of https://github.com/netdata/netdata.git synced 2025-04-13 01:08:11 +00:00

Un-vendor proprietary dashboard code. ()

Co-authored-by: Ilya Mashchenko <ilya@netdata.cloud>
This commit is contained in:
Austin S. Hemmelgarn 2024-10-22 03:52:17 -04:00 committed by GitHub
parent 79807600c5
commit acf5adced8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
326 changed files with 303 additions and 20771 deletions
CMakeLists.txtnetdata.spec.in
packaging
src/web/gui
.dashboard-v2-notice.mdbundle_dashboard_v1.pybundle_dashboard_v2.pyindex.htmlregistry-access.htmlregistry-alert-redirect.htmlregistry-hello.html
static
v1
v2
.well-known
1220.01d6bbaab869c74f4437.chunk.js1396.56f70d7c659ac0b694cd.chunk.js1396.56f70d7c659ac0b694cd.chunk.js.LICENSE.txt1418.16d53ba5cce2c6a8143a.chunk.js1782.d82eb301aa81b380dd0c.chunk.js1839.a4196d2a87ac0fdd9f34.chunk.js185.42bab351ba68de7ca4aa.chunk.js1876.e610906417b961290730.chunk.js195.4cdbea6af54d14a95949.chunk.js2007.b33ce2b4b736228fd681.chunk.js252.40edc9b0f6da1422f40b.chunk.js3104.3b70865e21a81a616af3.chunk.js3350.ae7151980981854dc3d1.chunk.js3455.f9ca876de57244386773.chunk.js3455.f9ca876de57244386773.chunk.js.LICENSE.txt3621.01ee70ee9c311ac163d9.chunk.js3624.bfeb1fdc3057ba82ddac.chunk.js3736.e572adfdf7951f74a741.chunk.js3750.4ad02f036f2a7c520b1c.chunk.js3843.89070793921be1288bb5.css3843.ffbb6f614ba4f7b77570.chunk.js3968.483ca2ad3b300293e655.chunk.js3D_PARTY_LICENSES.txt4034.35199d2809d318eed690.chunk.js4140.46221d08bcda08826c78.chunk.js4140.89070793921be1288bb5.css4414.590ba07d470ba2ce7dd0.chunk.js4631.158982e127e11bdc6a45.chunk.js4680.7d8122d91e9d4582836a.chunk.js4958.5969fedc1ff7dc82775e.chunk.js5246.07c5a1649f0805c140fe.chunk.js5304.cc797fdd343c7e873b2f.chunk.js5426.254557ad3e1f2d14ad29.chunk.js5596.2036706750ff4028cff2.chunk.js5598.07ff43a6b96bd41e8637.chunk.js5700.b7c9908dc7f30a5a57e7.chunk.js5709.c494eb62187917e2f2f6.chunk.js5709.c494eb62187917e2f2f6.chunk.js.LICENSE.txt5794.252ff787d58d64eb4988.chunk.js6008.3d0636fe17f4f6274485.chunk.js6121.f7286809e53e1c6d655a.chunk.js6121.f7286809e53e1c6d655a.chunk.js.LICENSE.txt6323.26d4d949c9b6f8674c2e.chunk.js6331.89070793921be1288bb5.css6331.c91b5d104cdff1be3b80.chunk.js6384.0fad56b0bc902f186c98.chunk.js6469.47926fa38028dc7d0d41.chunk.js6469.89070793921be1288bb5.css6661.72f782bd78fea8c2d836.chunk.js6760.370b9780120c145da28f.chunk.js683.02c173493ef257c210fa.chunk.js683.cc9fa5f3bdc0bf3ab2fc.css6944.ab3e70c9ac0f05013b5f.chunk.js7144.382c341e09540fdebaa6.chunk.js7144.382c341e09540fdebaa6.chunk.js.LICENSE.txt7146.79304e386ac9238b7cf1.chunk.js7170.5d6047bb6ce9d77d53db.chunk.js7208.1d75cf5d007de32e403b.chunk.js7304.ed4690ec296b59fbe7fd.chunk.js7332.3acf93dcfa52c7f1bc18.chunk.js7340.25dce1c5cc66b613700f.chunk.js7436.1ebd371d70e6a87c5499.chunk.js7471.f96c4d04a73fb7551c03.chunk.js7487.89070793921be1288bb5.css7487.db63c95c27d973a07d9b.chunk.js749.e44087ac3a2e3a994318.chunk.js749.e44087ac3a2e3a994318.chunk.js.LICENSE.txt7519.7982a2e0fcdf82ba78dd.chunk.js7529.658d363e12e73df83b60.chunk.js7840.2f2023f2eb1dcc943d94.chunk.js785.d016913841bcc0209d5b.chunk.js7857.813ae058cca579e05462.chunk.js7959.4f20f4b203e2bad8af39.chunk.js8059.4fdc76bb2cac1f74b41b.chunk.js8239.c85fc9f3599f198a9efb.chunk.js8323.437406936b642e8f6cb3.chunk.js8323.437406936b642e8f6cb3.chunk.js.LICENSE.txt8323.e22de33686bb2f34063c.css8505.c330f2104fefd71717da.chunk.js

View file

@ -155,6 +155,8 @@ mark_as_advanced(DEFAULT_FEATURE_STATE)
# High-level features
option(ENABLE_ML "Enable machine learning features" ${DEFAULT_FEATURE_STATE})
option(ENABLE_DBENGINE "Enable dbengine metrics storage" True)
option(ENABLE_DASHBOARD "Enable local dashboard" True)
mark_as_advanced(ENABLE_DASHBOARD)
# Data collection plugins
option(ENABLE_PLUGIN_GO "Enable metric collectors written in Go" ${DEFAULT_FEATURE_STATE})
@ -3159,68 +3161,70 @@ endif()
# dashboard
#
include(src/web/gui/v1/dashboard_v1.cmake)
include(src/web/gui/v2/dashboard_v2.cmake)
include(src/web/gui/gui.cmake)
if(ENABLE_DASHBOARD)
include(NetdataDashboard)
bundle_dashboard()
function(cat IN_FILE OUT_FILE)
file(READ ${IN_FILE} CONTENTS)
file(APPEND ${OUT_FILE} "${CONTENTS}")
endfunction()
include(src/web/gui/v1/dashboard_v1.cmake)
include(src/web/gui/gui.cmake)
file(WRITE ${CMAKE_BINARY_DIR}/src/web/gui/dashboard.js.in "")
foreach(JS_FILE ${DASHBOARD_JS_FILES})
cat(${JS_FILE} ${CMAKE_BINARY_DIR}/dashboard.js.in)
endforeach()
configure_file(${CMAKE_BINARY_DIR}/dashboard.js.in
${CMAKE_BINARY_DIR}/dashboard.js COPYONLY)
function(cat IN_FILE OUT_FILE)
file(READ ${IN_FILE} CONTENTS)
file(APPEND ${OUT_FILE} "${CONTENTS}")
endfunction()
install(FILES
${CMAKE_BINARY_DIR}/dashboard.js
COMPONENT netdata
DESTINATION ${WEB_DEST})
file(WRITE ${CMAKE_BINARY_DIR}/src/web/gui/dashboard.js.in "")
install(FILES
src/web/gui/dashboard_info_custom_example.js
src/web/gui/dashboard_info.js
src/web/gui/index.html
src/web/gui/main.css
src/web/gui/main.js
src/web/gui/registry-access.html
src/web/gui/registry-alert-redirect.html
src/web/gui/registry-hello.html
src/web/gui/switch.html
src/web/gui/ilove.html
COMPONENT netdata
DESTINATION ${WEB_DEST})
foreach(JS_FILE ${DASHBOARD_JS_FILES})
cat(${JS_FILE} ${CMAKE_BINARY_DIR}/dashboard.js.in)
endforeach()
install(FILES
src/web/gui/old/index.html
COMPONENT netdata
DESTINATION ${WEB_DEST}/old)
configure_file(${CMAKE_BINARY_DIR}/dashboard.js.in
${CMAKE_BINARY_DIR}/dashboard.js COPYONLY)
install(FILES
src/web/gui/static/img/netdata-logomark.svg
COMPONENT netdata
DESTINATION ${WEB_DEST}/static/img)
install(FILES
${CMAKE_BINARY_DIR}/dashboard.js
COMPONENT dashboard
DESTINATION ${WEB_DEST})
install(FILES
src/web/gui/css/morris-0.5.1.css
src/web/gui/css/c3-0.4.18.min.css
COMPONENT netdata
DESTINATION ${WEB_DEST}/css)
install(FILES
src/web/gui/dashboard_info_custom_example.js
src/web/gui/dashboard_info.js
src/web/gui/main.css
src/web/gui/main.js
src/web/gui/switch.html
src/web/gui/ilove.html
COMPONENT dashboard
DESTINATION ${WEB_DEST})
install(FILES
src/web/gui/.well-known/dnt/cookies
COMPONENT netdata
DESTINATION ${WEB_DEST}/.well-known/dnt)
install(FILES
src/web/gui/old/index.html
COMPONENT dashboard
DESTINATION ${WEB_DEST}/old)
if(NOT OS_WINDOWS)
# v0 dashboard
install(FILES
src/web/gui/v0/index.html
COMPONENT netdata
DESTINATION ${WEB_DEST}/v0)
install(FILES
src/web/gui/static/img/netdata-logomark.svg
COMPONENT dashboard
DESTINATION ${WEB_DEST}/static/img)
install(FILES
src/web/gui/css/morris-0.5.1.css
src/web/gui/css/c3-0.4.18.min.css
COMPONENT dashboard
DESTINATION ${WEB_DEST}/css)
install(FILES
src/web/gui/.well-known/dnt/cookies
COMPONENT dashboard
DESTINATION ${WEB_DEST}/.well-known/dnt)
if(NOT OS_WINDOWS)
# v0 dashboard
install(FILES
src/web/gui/v0/index.html
COMPONENT dashboard
DESTINATION ${WEB_DEST}/v0)
endif()
endif()
if(OS_WINDOWS)

View file

@ -196,6 +196,7 @@ Requires(pre): /usr/sbin/useradd
# to support weak dependencies. Explicitly requiring our default plugins
# makes it impossible to properly test the packages prior to upload,
# so we just skip depending on them on CentOS 7.
Requires: %{name}-dashboard
%if 0%{?_have_ebpf}
Requires: %{name}-plugin-ebpf = %{version}
%endif
@ -551,11 +552,6 @@ rm -rf "${RPM_BUILD_ROOT}"
# ndsudo a helper to run privileged commands
%attr(4750,root,netdata) %{_libexecdir}/%{name}/plugins.d/ndsudo
# Enforce 0644 for files and 0755 for directories
# for the netdata web directory
%defattr(0644,root,root,0755)
%{_datadir}/%{name}/web
# Enforce 0660 for files and 0770 for directories
# for the netdata lib, cache and log dirs
%defattr(0660,root,netdata,0770)
@ -565,6 +561,9 @@ rm -rf "${RPM_BUILD_ROOT}"
%attr(0770,netdata,netdata) %dir %{_localstatedir}/lib/%{name}/registry
%attr(0770,netdata,netdata) %dir %{_localstatedir}/lib/%{name}/cloud.d
# Dashboard belongs to a different sub-package
%exclude %{_datadir}/%{name}/web
# Free IPMI belongs to a different sub-package
%if %{_have_freeipmi}
%exclude %{_libexecdir}/%{name}/plugins.d/freeipmi.plugin
@ -987,7 +986,27 @@ fi
# CAP_SYS_ADMIN, CAP_SYS_PTRACE and CAP_DAC_READ_SEARCH needed for data collection.
%caps(cap_sys_admin,cap_sys_ptrace,cap_dac_read_search=ep) %attr(0750,root,netdata) %{_libexecdir}/%{name}/plugins.d/network-viewer.plugin
%package dashboard
Summary: The local dashboard for the Netdata Agent
Group: Applications/System
Requires: %{name} >= %{version}
Conflicts: %{name} < %{version}
%description dashboard
This allows access to the dashboard on the local node without internet access.
%pre dashboard
if ! getent group %{name} > /dev/null; then
groupadd --system %{name}
fi
%files dashboard
%defattr(0644,root,root,0755)
%{_datadir}/%{name}/web
%changelog
* Thu Aug 29 2024 Austin Hemmelgarn <austin@netdata.cloud>
- Split dashboard to its own package
* Fri Jul 19 2024 Austin Hemmelgarn <austin@netdata.cloud>
- Fix dependency issues with old logs-management plugin
* Tue Jul 16 2024 Austin Hemmelgarn <austin@netdata.cloud>

View file

@ -26,6 +26,7 @@ add_cmake_option() {
add_cmake_option CMAKE_BUILD_TYPE RelWithDebInfo
add_cmake_option CMAKE_INSTALL_PREFIX /
add_cmake_option ENABLE_DASHBOARD on
add_cmake_option ENABLE_DBENGINE On
add_cmake_option ENABLE_H2O On
add_cmake_option ENABLE_ML On

View file

@ -0,0 +1,85 @@
# CMake module to handle fetching and installing the dashboard code
#
# Copyright (c) 2024 Netdata Inc.
# SPDX-License-Identifier: GPL-3.0-or-later
include(NetdataUtil)
function(handle_braindead_versioning_insanity prefix)
if(IS_DIRECTORY "${prefix}/v2" AND NOT IS_DIRECTORY "${prefix}/v3")
message(STATUS " Fixing incorrectly versioned paths generated by poorly written CI")
file(RENAME "${prefix}/v2" "${prefix}/v3")
if(IS_DIRECTORY "${prefix}/v3" AND NOT IS_DIRECTORY "${prefix}/v2")
message(STATUS " Fixing incorrectly versioned paths generated by poorly written CI -- Done")
else()
message(FATAL_ERROR "Failed to fix incorrectly versioned paths")
endif()
endif()
endfunction()
# Bundle the dashboard code for inclusion during install.
#
# This is unfortunately complicated due to how we need to handle the
# generation of the CMakeLists file for the dashboard code.
function(bundle_dashboard)
include(ExternalProject)
set(dashboard_src_dir "${CMAKE_BINARY_DIR}/dashboard-src")
set(dashboard_src_prefix "${dashboard_src_dir}/dist/agent")
set(dashboard_bin_dir "${CMAKE_BINARY_DIR}/dashboard-bin")
set(DASHBOARD_URL "https://app.netdata.cloud/agent.tar.gz" CACHE STRING
"URL used to fetch the local agent dashboard code")
message(STATUS "Preparing local agent dashboard code")
message(STATUS " Fetching ${DASHBOARD_URL}")
file(DOWNLOAD
"${DASHBOARD_URL}"
"${CMAKE_BINARY_DIR}/dashboard.tar.gz"
TIMEOUT 180
STATUS fetch_status)
list(GET fetch_status 0 result)
if(result)
message(FATAL_ERROR "Failed to fetch dashboard code")
else()
message(STATUS " Fetching ${DASHBOARD_URL} -- Done")
endif()
message(STATUS " Extracting dashboard code")
extract_gzipped_tarball(
"${CMAKE_BINARY_DIR}/dashboard.tar.gz"
"${dashboard_src_dir}"
)
message(STATUS " Extracting dashboard code -- Done")
handle_braindead_versioning_insanity("${dashboard_src_prefix}")
message(STATUS " Generating CMakeLists.txt file for dashboard code")
set(rules "")
subdirlist(dash_dirs "${dashboard_src_prefix}")
foreach(dir IN LISTS dash_dirs)
file(GLOB files
LIST_DIRECTORIES FALSE
RELATIVE "${dashboard_src_dir}"
"${dashboard_src_prefix}/${dir}/*")
set(rules "${rules}install(FILES ${files} COMPONENT dashboard DESTINATION ${WEB_DEST}/${dir})\n")
endforeach()
file(GLOB files
LIST_DIRECTORIES FALSE
RELATIVE "${dashboard_src_dir}"
"${dashboard_src_prefix}/*")
set(rules "${rules}install(FILES ${files} COMPONENT dashboard DESTINATION ${WEB_DEST})\n")
file(WRITE "${dashboard_src_dir}/CMakeLists.txt" "${rules}")
message(STATUS " Generating CMakeLists.txt file for dashboard code -- Done")
add_subdirectory("${dashboard_src_dir}" "${dashboard_bin_dir}")
message(STATUS "Preparing local agent dashboard code -- Done")
endfunction()

View file

@ -144,3 +144,54 @@ function(netdata_identify_libc _libc_name)
set(${_libc_name} ${_ND_DETECTED_LIBC} PARENT_SCOPE)
endif()
endfunction()
# Extract a tar archive.
#
# This will use CMakes native support if available, but will still
# fall back cleanly if CMake is too old.
function(extract_gzipped_tarball tarball target)
if(CMAKE_VERSION VERSION_LESS 3.18)
find_program(TAR NAMES tar bsdtar DOC "TAR archive program")
if(TAR STREQUAL "TAR-NOTFOUND")
message(FATAL_ERROR "Unable to find tar command")
endif()
find_program(GZIP NAMES gzip DOC "GZIP compression program")
if(GZIP STREQUAL "GZIP-NOTFOUND")
message(FATAL_ERROR "Unable to find gzip command")
endif()
file(MAKE_DIRECTORY "${target}")
execute_process(COMMAND tar -x -z -f "${tarball}" -C "${target}"
RESULT_VARIABLE result)
if(result)
message(FATAL_ERROR "Failed to extract ${tarball}")
endif()
else()
file(ARCHIVE_EXTRACT
INPUT "${tarball}"
DESTINATION "${target}")
endif()
endfunction()
# Get a recursive list of all sub-directories of the specified directory,
# relative to that directory.
function(subdirlist result curdir)
file(GLOB_RECURSE children
LIST_DIRECTORIES TRUE
RELATIVE ${curdir}
${curdir}/*)
set(dirlist "")
foreach(child ${children})
if(IS_DIRECTORY ${curdir}/${child})
list(APPEND dirlist ${child})
endif()
endforeach()
set(${result} ${dirlist} PARENT_SCOPE)
endfunction()

View file

@ -63,6 +63,10 @@ netdata-plugin-network-viewer")
set(CPACK_DEBIAN_NETDATA_PACKAGE_CONFLICTS
"netdata-core, netdata-plugins-bash, netdata-plugins-python, netdata-web")
if(ENABLE_DASHBOARD)
list(APPEND _main_deps "netdata-dashboard")
endif()
if(ENABLE_PLUGIN_CHARTS)
list(APPEND _main_deps "netdata-plugin-chartsd")
endif()
@ -109,6 +113,27 @@ set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
set(CPACK_DEBIAN_NETDATA_DEBUGINFO_PACKAGE On)
#
# dashboard
#
set(CPACK_COMPONENT_DASHBOARD_DEPENDS "netdata")
set(CPACK_COMPONENT_DASHBOARD_DESCRIPTION
"The local dashboard for the Netdata Agent.
This allows access to the dashboard on the local node without internet access.")
set(CPACK_DEBIAN_DASHBOARD_PACKAGE_NAME "netdata-dashboard")
set(CPACK_DEBIAN_DASHBOARD_PACKAGE_SECTION "net")
set(CPACK_DEBIAN_DASHBOARD_PACKAGE_CONFLICTS "netdata (<< ${CPACK_PACKAGE_VERSION})")
set(CPACK_DEBIAN_DASHBOARD_PACKAGE_PREDEPENDS "adduser")
set(CPACK_DEBIAN_DASHBOARD_PACKAGE_CONTROL_EXTRA
"${PKG_FILES_PATH}/deb/plugin-apps/preinst"
"${PKG_FILES_PATH}/deb/plugin-apps/postinst"
"${PKG_FILES_PATH}/deb/plugin-apps/postrm")
set(CPACK_DEBIAN_DASHBOARD_DEBUGINFO_PACKAGE Off)
#
# apps.plugin
#
@ -439,6 +464,9 @@ set(CPACK_DEBIAN_PLUGIN-XENSTAT_DEBUGINFO_PACKAGE On)
#
list(APPEND CPACK_COMPONENTS_ALL "netdata")
if(ENABLE_DASHBOARD)
list(APPEND CPACK_COMPONENTS_ALL "dashboard")
endif()
if(ENABLE_PLUGIN_APPS)
list(APPEND CPACK_COMPONENTS_ALL "plugin-apps")
endif()

View file

@ -0,0 +1,11 @@
#!/bin/sh
set -e
case "$1" in
configure|reconfigure)
if ! dpkg-statoverride --list /usr/share/netdata/www > /dev/null 2>&1; then
dpkg-statoverride --update --add root netdata 0755 /usr/share/netdata/www
fi
;;
esac

View file

@ -0,0 +1,17 @@
#!/bin/sh
set -e
case "$1" in
remove) ;;
purge)
if dpkg-statoverride --list | grep -qw /var/lib/netdata/www; then
dpkg-statoverride --remove /var/lib/netdata/www
fi
if dpkg-statoverride --list | grep -qw /usr/share/netdata/www; then
dpkg-statoverride --remove /usr/share/netdata/www
fi
;;
esac

View file

@ -0,0 +1,11 @@
#!/bin/sh
set -e
case "$1" in
install)
if ! getent group netdata > /dev/null; then
addgroup --quiet --system netdata
fi
;;
esac

View file

@ -20,10 +20,6 @@ case "$1" in
dpkg-statoverride --update --add netdata adm 02750 /var/log/netdata
fi
if ! dpkg-statoverride --list /usr/share/netdata/www > /dev/null 2>&1; then
dpkg-statoverride --update --add root netdata 0755 /usr/share/netdata/www
fi
dpkg-statoverride --force --update --add root netdata 0775 /var/lib/netdata/registry > /dev/null 2>&1
grep /usr/libexec/netdata /var/lib/dpkg/info/netdata.list | xargs -n 30 chown root:netdata

View file

@ -10,14 +10,6 @@ case "$1" in
dpkg-statoverride --remove /var/cache/netdata
fi
if dpkg-statoverride --list | grep -qw /var/lib/netdata/www; then
dpkg-statoverride --remove /var/lib/netdata/www
fi
if dpkg-statoverride --list | grep -qw /usr/share/netdata/www; then
dpkg-statoverride --remove /usr/share/netdata/www
fi
if dpkg-statoverride --list | grep -qw /var/lib/netdata/registry; then
dpkg-statoverride --remove /var/lib/netdata/registry
fi

View file

@ -1,8 +0,0 @@
# Do not edit any files in this directory!
If you spot any errors or bugs in these files please open a bug report
at https://github.com/netdata/netdata/issues/new/choose.
These files are maintained in a seprate private repository and copied
here when they are updated there, so any changes made in this directory
will eventually be overwritten.

View file

@ -17,15 +17,15 @@ BASEPATH = Path('v1')
URLTEMPLATE = 'https://github.com/netdata/dashboard/releases/download/{0}/dashboard.tar.gz'
CMAKETEMPLATE = '''
install(FILES {0} COMPONENT netdata DESTINATION ${{WEB_DEST}})
install(FILES {1} COMPONENT netdata DESTINATION ${{WEB_DEST}}/css)
install(FILES {2} COMPONENT netdata DESTINATION ${{WEB_DEST}}/fonts)
install(FILES {3} COMPONENT netdata DESTINATION ${{WEB_DEST}}/images)
install(FILES {4} COMPONENT netdata DESTINATION ${{WEB_DEST}}/lib)
install(FILES {5} COMPONENT netdata DESTINATION ${{WEB_DEST}}/static/css)
install(FILES {6} COMPONENT netdata DESTINATION ${{WEB_DEST}}/static/js)
install(FILES {7} COMPONENT netdata DESTINATION ${{WEB_DEST}}/static/media)
install(FILES web/gui/v1/index.html COMPONENT netdata DESTINATION ${WEB_DEST}/v1)
install(FILES {0} COMPONENT dashboard DESTINATION ${{WEB_DEST}})
install(FILES {1} COMPONENT dashboard DESTINATION ${{WEB_DEST}}/css)
install(FILES {2} COMPONENT dashboard DESTINATION ${{WEB_DEST}}/fonts)
install(FILES {3} COMPONENT dashboard DESTINATION ${{WEB_DEST}}/images)
install(FILES {4} COMPONENT dashboard DESTINATION ${{WEB_DEST}}/lib)
install(FILES {5} COMPONENT dashboard DESTINATION ${{WEB_DEST}}/static/css)
install(FILES {6} COMPONENT dashboard DESTINATION ${{WEB_DEST}}/static/js)
install(FILES {7} COMPONENT dashboard DESTINATION ${{WEB_DEST}}/static/media)
install(FILES web/gui/v1/index.html COMPONENT dashboard DESTINATION ${WEB_DEST}/v1)
'''
def copy_dashboard(tag):

View file

@ -1,97 +0,0 @@
#!/usr/bin/env python3
#
# Copyright: © 2023 Netdata Inc.
# SPDX-License-Identifier: GPL-3.0-or-later
'''Bundle the v2 dashboard code into the agent repo.
This is designed to be run as part of a GHA workflow, but will work fine outside of one.'''
import os
import shutil
import subprocess
from pathlib import Path
os.chdir(Path(__file__).parent.absolute())
BASEDIR = 'v2'
BASEPATH = Path(BASEDIR)
TMPPATH = Path('tmp')
URLSRC = 'https://app.netdata.cloud/agent.tar.gz'
CMAKETEMPLATE = '''
install(FILES {0} COMPONENT netdata DESTINATION ${{WEB_DEST}}/v2)
install(FILES {1} COMPONENT netdata DESTINATION ${{WEB_DEST}}/v2/static)
install(FILES {2} COMPONENT netdata DESTINATION ${{WEB_DEST}}/v2/static/email/img)
install(FILES {3} COMPONENT netdata DESTINATION ${{WEB_DEST}}/v2/static/img)
install(FILES {4} COMPONENT netdata DESTINATION ${{WEB_DEST}}/v2/static/img/logos/os)
install(FILES {5} COMPONENT netdata DESTINATION ${{WEB_DEST}}/v2/static/img/logos/services)
install(FILES {6} COMPONENT netdata DESTINATION ${{WEB_DEST}}/v2/static/img/mail)
install(FILES {7} COMPONENT netdata DESTINATION ${{WEB_DEST}}/v2/static/site/pages/holding-page-503)
'''
def copy_dashboard():
'''Fetch and bundle the dashboard code.'''
print('Preparing target directory')
shutil.rmtree(BASEPATH)
TMPPATH.mkdir()
print('::group::Fetching dashboard release tarball')
subprocess.check_call(f'curl -L -o agent.tar { URLSRC }', shell=True)
print('::endgroup::')
print('::group::Extracting dashboard release tarball')
subprocess.check_call(f"tar -xvf agent.tar -C { TMPPATH } --strip-components=1 --exclude='*.br' --exclude='*.gz'", shell=True)
print('::endgroup::')
print('Copying files')
(TMPPATH / 'agent' / BASEDIR).rename(BASEPATH)
(TMPPATH / 'agent' / 'index.html').rename(Path('./index.html'))
(TMPPATH / 'agent' / 'registry-access.html').rename('./registry-access.html')
(TMPPATH / 'agent' / 'registry-alert-redirect.html').rename('./registry-alert-redirect.html')
(TMPPATH / 'agent' / 'registry-hello.html').rename('./registry-hello.html')
shutil.copytree(TMPPATH / 'agent' / 'static', Path('./static'), dirs_exist_ok=True)
shutil.rmtree(TMPPATH)
print('Copying README.md')
BASEPATH.joinpath('README.md').symlink_to('../.dashboard-v2-notice.md')
print('Removing dashboard release tarball')
BASEPATH.joinpath('..', 'agent.tar').unlink()
def genfilelist(path):
'''Generate a list of files for the Makefile.'''
files = [f for f in path.iterdir() if f.is_file() and f.name != 'README.md']
files = [Path(*f.parts[1:]) for f in files]
files.sort()
return '\n'.join([("src/web/gui/v2/" + str(f)) for f in files])
def write_cmakefile():
'''Write out the makefile for the dashboard code.'''
print('Generating cmake file')
output = CMAKETEMPLATE.format(
genfilelist(BASEPATH),
genfilelist(BASEPATH.joinpath('static')),
genfilelist(BASEPATH.joinpath('static', 'email', 'img')),
genfilelist(BASEPATH.joinpath('static', 'img')),
genfilelist(BASEPATH.joinpath('static', 'img', 'logos', 'os')),
genfilelist(BASEPATH.joinpath('static', 'img', 'logos', 'services')),
genfilelist(BASEPATH.joinpath('static', 'img', 'mail')),
genfilelist(BASEPATH.joinpath('static', 'site', 'pages', 'holding-page-503')),
)
BASEPATH.joinpath('dashboard_v2.cmake').write_text(output)
def list_changed_files():
'''Create a list of changed files, and set it in an environment variable.'''
if 'GITHUB_ENV' in os.environ:
print('Generating file list for commit.')
subprocess.check_call('echo "COMMIT_FILES<<EOF" >> $GITHUB_ENV', shell=True)
subprocess.check_call('git status --porcelain=v1 --no-renames --untracked-files=all | rev | cut -d \' \' -f 1 | rev >> $GITHUB_ENV', shell=True)
subprocess.check_call('echo "EOF" >> $GITHUB_ENV', shell=True)
copy_dashboard()
write_cmakefile()
list_changed_files()

View file

@ -1,245 +0,0 @@
<!doctype html><html><head><title>Netdata Agent Console</title><script>let pathsRegex = /\/(spaces|nodes|overview|alerts|dashboards|anomalies|events|cloud|v2)\/?.*/
let getBasename = function() {
return window.location.origin + window.location.pathname.replace(pathsRegex, "")
}
let goToOld = function(path) {
let goToUrl = getBasename() + path;
if (path === "/v2") {
let pathsRegex = /(\/(spaces|nodes|overview|alerts|dashboards|anomalies|events|cloud)\/?.*)/
if (pathsRegex.test(window.location.origin + window.location.pathname)) {
goToUrl = (window.location.origin + window.location.pathname).replace(pathsRegex, "/v2$1")
}
}
window.location.replace(ensureOneSlash(goToUrl + window.location.search))
}
let getAssetFile = function(path) {
window.location.replace(__webpack_public_path__ + path)
}
let ensureOneSlash = function(urlStr) {
return urlStr.replace(/([^:]\/)\/+/g, "$1")
}
let searchParams = new URLSearchParams(location.search)
window.envSettings = {
isAgent: true,
apiUrl: "https://app.netdata.cloud",
cloudUrl: "https://app.netdata.cloud",
demoSlug: "netdata-demo",
demoFavourites: {"postgresql":["postgres"],"redis":["redis"],"dns-query":["dns_query"],"http-endpoints":["httpcheck"],"nginx":["web_log","nginx"],"apache":["apache"],"host-reachability":["ping"],"cassandra":["cassandra"],"coredns":["coredns"],"logind":["logind"],"iis":["iis"],"active-directory":["ad"],"windows":["windows","ad","iis","mssql","exchange","netframework"],"docker":["cgroup","docker"],"ups":["upsd"]},
webpackPublicPath: "https://app.netdata.cloud",
agentApiUrl: searchParams.get("agent") || getBasename(),
posthogToken: "phc_hnhlqe6D2Q4IcQNrFItaqdXJAxQ8RcHkPAFAp74pubv",
version: "6.138.3",
tracking: false,
cookieDomain: ".netdata.cloud",
onprem: false,
nodeEnv: "production"
}
window.visitedNodes = []
function loadStyle(url, { media, insertAfter: aref, insertBefore: bref, rel, type } = {}) {
rel = rel || 'stylesheet'
type = type || 'text/css'
return new Promise(function(resolve, reject) {
let link = document.createElement('link');
link.type = type;
link.rel = rel;
link.href = url;
link.media = media || 'all';
link.onerror = function(err) {
reject(new URIError(`loadStyle: the stylesheet ${err.target.src} is not accessible.`));
};
link.onload = function() {
resolve();
};
if (aref) {
aref.parentNode.insertBefore(link, aref.nextSibling);
return;
}
if (bref) {
bref.parentNode.insertBefore(link, bref);
return;
}
document.head.appendChild(link);
});
}
loadStyle(window.envSettings.agentApiUrl + "/v2/static/splash.css")
loadStyle(window.envSettings.agentApiUrl + "/v2/favicon.ico", {rel: "icon", type: "image/x-icon"})</script><meta name="application-name" content="netdata"/><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><meta charset="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/><meta name="viewport" content="width=device-width,height=device-height,initial-scale=1,minimum-scale=1"/><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/></head><body><noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-N6CBMJD" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript><div id="app"><div id="agent-splash-screen" class="loading"><div class="hero"><div class="logo-container"><svg width="133" height="105" viewBox="0 0 133 105" fill="none" xmlns="http://www.w3.org/2000/svg" class="logo-blur"><path fill-rule="evenodd" clip-rule="evenodd" d="M81.697 105H55.0693L0.5 0.5H77.9598C108.079 0.554913 132.484 24.7711 132.5 54.6451C132.452 82.485 109.73 105 81.697 105Z" fill="rgba(0,171,68,0.1)"/></svg> <svg width="133" height="105" viewBox="0 0 133 105" fill="none" xmlns="http://www.w3.org/2000/svg" class="logo"><path fill-rule="evenodd" clip-rule="evenodd" d="M81.697 105H55.0693L0.5 0.5H77.9598C108.079 0.554913 132.484 24.7711 132.5 54.6451C132.452 82.485 109.73 105 81.697 105Z" fill="#DDFFEB"/></svg></div><div class="headings"><h1 class="title">Welcome to Netdata</h1><div class="loading-message"><p class="subtitle">Loading latest Netdata UI...</p><div class="flex-center">We couldn't load the latest Netdata UI. <a class="button ghost" href="javascript:location.reload();">You can try again <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18.364 8.05001L17.657 7.34301C16.318 6.00369 14.5472 5.18285 12.6598 5.02654C10.7724 4.87022 8.89077 5.38856 7.34966 6.48934C5.80855 7.59011 4.70794 9.20193 4.24365 11.038C3.77936 12.8741 3.98151 14.8153 4.81412 16.5164C5.64674 18.2174 7.05583 19.5678 8.79067 20.3275C10.5255 21.0871 12.4736 21.2067 14.2883 20.6648C16.103 20.123 17.6666 18.955 18.701 17.3685C19.7353 15.782 20.1733 13.8801 19.937 12.001M18.364 8.05001L14.121 8.05101M18.364 8.05001V3.80701" stroke="#00ab44" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/></svg></a></div></div></div></div><div class="flex-center">Or you can load the <a class="button ghost" href="javascript:goToOld('/v1');">old single node dashboard</a> or a <a class="button ghost" href="javascript:goToOld('/v2');">local copy</a> of Netdata UI</div><div class="flex-center terms"><a href="javascript:getAssetFile('/LICENSE.md');">Netdata UI license</a></div></div></div><script>let status = {
TIMEOUT: 'timeout',
SUCCESS: 'success',
SKIPPED: 'skipped'
};
function loadScript(
url,
{ async = true, defer = false, insertAfter: aref, insertBefore: bref, timeout = 5000, attrs, skipIf } = {}
) {
return new Promise(function(resolve, reject) {
if (typeof skipIf === 'function' && skipIf()) {
resolve(status.SKIPPED);
return;
}
let rejectWithTimeout = setTimeout(function() { reject(status.TIMEOUT) }, timeout);
let script = document.createElement('script');
script.type = 'text/javascript';
script.src = url;
script.async = async;
script.defer = defer;
if (attrs) {
for (let attr in attrs) {
script.setAttribute(attr, attrs[attr]);
}
}
script.onerror = function(err) {
reject(new URIError(`loadScript: the script ${err.target.src} is not accessible.`));
};
script.onload = function() {
clearTimeout(rejectWithTimeout);
resolve(status.SUCCESS);
};
if (aref) {
aref.parentNode.insertBefore(script, aref.nextSibling);
return;
}
if (bref) {
bref.parentNode.insertBefore(script, bref);
return;
}
document.body.appendChild(script);
});
}
fetch(window.envSettings.agentApiUrl + "/api/v1/registry?action=hello", { cache: "no-cache", credentials: "include" })
.then(function(response) { return response.json() })
.then(function(data) {
let to = data.cloud_base_url.lastIndexOf('/');
to = (to == -1 || to < data.cloud_base_url.length -2) ? data.cloud_base_url.length : to;
let cloudUrl = data.cloud_base_url.substring(0, to);
window.envSettings.apiUrl = cloudUrl
cloudUrl = /api\.netdata\.cloud/.test(cloudUrl) ? "https://app.netdata.cloud" : cloudUrl
window.envSettings.cloudUrl = cloudUrl
window.envSettings.webpackPublicPath = window.envSettings.webpackPublicPath ? cloudUrl : window.envSettings.webpackPublicPath
__webpack_public_path__ = ensureOneSlash(window.envSettings.webpackPublicPath ? (window.envSettings.webpackPublicPath + "/") : (window.envSettings.agentApiUrl + "/v2/"))
window.localNetdataRegistry = {
anonymousStatistics: data.anonymous_statistics,
registry: data.registry,
isNetdataRegistry: data.registry === "https://registry.my-netdata.io",
hostname: data.hostname,
mg: data.agent.machine_guid,
nd: data.agent.node_id,
claimId: data.agent.claim_id,
cloudStatus: data.cloud_status,
xNetdataAuthHeader: data["X-Netdata-Auth"] || false
}
if ((window.localNetdataRegistry.cloudStatus === "disabled" || window.localNetdataRegistry.cloudStatus === "unavailable") && !/\/v2/.test(location.pathname)) {
goToOld("/v2")
return
}
fetch(__webpack_public_path__ + "bundlesManifest."+ window.envSettings.version.toString().replace(/(\d+)\..+/, "$1") +".json")
.then(function(response) { return response.json() })
.then(function(data) {
Object.keys(data).forEach(function(k) {
if (/\.(map|ico|html)$/.test(data[k])) return
if (/static\//.test(data[k])) return
if (/\.css.*$/.test(data[k])) {
loadStyle(ensureOneSlash(__webpack_public_path__ + data[k]))
return
}
if (/\.js.*$/.test(data[k])) {
loadScript(ensureOneSlash(__webpack_public_path__ + data[k]), {
async: false,
});
}
let el = document.getElementById('agent-splash-screen');
el.classList.remove("loading");
})
}).catch(function() {
let el = document.getElementById('agent-splash-screen');
el.classList.remove("loading");
el.classList.add("error");
});
envSettings.tracking = window.localNetdataRegistry.anonymousStatistics !== false
let withoutNodes = btoa(JSON.stringify({
registry: data.registry,
machine_guid: data.machine_guid,
hostname: data.hostname,
agent: data.agent,
nodes: []
}))
let iframe = document.createElement('iframe');
iframe.src = data.registry + "/registry-access.html?x=" + withoutNodes + "&originUrl=" + window.envSettings.agentApiUrl;
iframe.style = { position: "absolute", left: "-99999999px" };
iframe.width = 0 ;
iframe.height = 0;
iframe.tabindex = -1;
iframe.title = "empty";
iframe.classList.add("hidden");
document.body.appendChild(iframe);
setTimeout(function () {
document.title = data.hostname + ': Netdata Agent Console';
iframe.contentWindow.postMessage(["netdata-registry", window.envSettings.agentApiUrl, data], "*")
}, 300);
window.addEventListener('message', function(event) {
if (event.source !== iframe.contentWindow) return;
if (event.data.status === "disabled") console.error("Your netdata registry is disabled! Check your configuration.")
if (event.data) {
if (!window.localNetdataRegistry) {
window.localNetdataRegistry = {}
}
window.localNetdataRegistry.pg = event.data.person_guid
if (!window.envSettings) {
window.envSettings = {}
}
window.envSettings.visitor = event.data.person_guid
try {
var visitedNodesByName = event.data.urls.reduce(function (vn, visitedUrl) {
vn[visitedUrl[4]] = vn[visitedUrl[4]] || {}
vn[visitedUrl[4]].id = visitedUrl[0]
vn[visitedUrl[4]].name = visitedUrl[4]
vn[visitedUrl[4]].lastAccessTime = visitedUrl[2]
vn[visitedUrl[4]].urls = vn[visitedUrl[4]].urls || []
vn[visitedUrl[4]].urls.push(visitedUrl[1])
return vn
}, {})
window.visitedNodes = Object.keys(visitedNodesByName).map(function(vn) {
return visitedNodesByName[vn]
})
} catch(e) {
// do nothing
}
}
});
}).catch(() => {})</script></body></html>

View file

@ -1,73 +0,0 @@
<!doctype html><html><head><title>Netdata Registry</title><meta name="application-name" content="netdata"/><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><meta charset="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/><meta name="viewport" content="width=device-width,height=device-height,initial-scale=1,minimum-scale=1"/><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/></head><body><script>var getBasename = function() {
var pathRegex = /\/(v2\/)?registry-access.html?.*/
return window.location.origin + window.location.pathname.replace(pathRegex, "")
}
function doRegistryAccess(parentHelloData, originUrl) {
const helloPromise = !parentHelloData
? fetch(originUrl + "/api/v1/registry?action=hello", { cache: "no-cache", credentials: "include" })
.then(function(response) { return response.json() })
: Promise.resolve(parentHelloData)
helloPromise.then(function(helloData) {
var retries = 3
var nodes = helloData.nodes || []
var doAccess = function(mg, nm, token) {
fetch(helloData.registry + '/api/v1/registry?action=access&machine=' + (mg || helloData.machine_guid) + '&name=' + encodeURIComponent(nm || helloData.hostname) + '&url=' + encodeURIComponent(originUrl) + '&agent=' + (helloData.agent ? helloData.agent.machine_guid : ""), { cache: "no-cache", credentials: "include", headers: { ["X-Netdata-Auth"]: 'Bearer ' + (token || localStorage.getItem("registry-netdata-token")) } })
.then(function(response) { return response.json() })
.then(function(data) {
var token = data.person_guid
if (data.status === "redirect" && retries > 0) {
retries = retries - 1
doAccess(helloData.machine_guid, helloData.hostname, token)
}
if (data.status === "ok") {
localStorage.setItem("registry-netdata-token", token)
let node = nodes.pop()
if (!!node) {
setTimeout(function () {
doAccess(node.machine_guid, node.hostname, token)
}, 1000)
}
}
window.parent.postMessage(data, "*");
})
}
doAccess(helloData.machine_guid, helloData.hostname)
}).catch(() => {})
}
try {
var searchParams = new URLSearchParams(location.search)
urlHelloData = searchParams.get("x")
var parentHelloData = JSON.parse(atob(urlHelloData))
doRegistryAccess(parentHelloData, searchParams.get("originUrl"))
} catch(e) {
// do nothing
}
function isValidHttpUrl(string) {
var url;
try {
return true
} catch (_) {
return false;
}
}
window.addEventListener('message', function(event) {
var isNetdataMessage = Array.isArray(event.data) ? event.data.length === 3 ? event.data[0] === "netdata-registry" : isValidHttpUrl(event.data[0]) : false
if (!isNetdataMessage) return
var originUrl = Array.isArray(event.data) ? event.data.length === 3 ? event.data[1] : event.data[0] : event.data
var parentHelloData = Array.isArray(event.data) ? event.data.length === 3 ? event.data[2] : event.data[1] : null
doRegistryAccess(parentHelloData, originUrl)
});</script></body></html>

View file

@ -1,152 +0,0 @@
<!doctype html><html><head><title>Netdata Agent Alert Redirect</title><meta name="application-name" content="netdata"/><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><meta charset="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/><meta name="viewport" content="width=device-width,height=device-height,initial-scale=1,minimum-scale=1"/><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/><script>function loadStyle(url, { media, insertAfter: aref, insertBefore: bref, rel, type } = {}) {
rel = rel || 'stylesheet'
type = type || 'text/css'
return new Promise(function(resolve, reject) {
let link = document.createElement('link');
link.type = type;
link.rel = rel;
link.href = url;
link.media = media || 'all';
link.onerror = function(err) {
reject(new URIError(`loadStyle: the stylesheet ${err.target.src} is not accessible.`));
};
link.onload = function() {
resolve();
};
if (aref) {
aref.parentNode.insertBefore(link, aref.nextSibling);
return;
}
if (bref) {
bref.parentNode.insertBefore(link, bref);
return;
}
document.head.appendChild(link);
});
}
loadStyle("v2/static/splash.css")
loadStyle("v2/favicon.ico", {rel: "icon", type: "image/x-icon"})</script></head><body><noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-N6CBMJD" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript><div id="agent-splash-screen" class="loading"><div class="hero"><div class="logo-container"><svg width="133" height="105" viewBox="0 0 133 105" fill="none" xmlns="http://www.w3.org/2000/svg" class="logo-blur"><path fill-rule="evenodd" clip-rule="evenodd" d="M81.697 105H55.0693L0.5 0.5H77.9598C108.079 0.554913 132.484 24.7711 132.5 54.6451C132.452 82.485 109.73 105 81.697 105Z" fill="rgba(0,171,68,0.1)"/></svg> <svg width="133" height="105" viewBox="0 0 133 105" fill="none" xmlns="http://www.w3.org/2000/svg" class="logo"><path fill-rule="evenodd" clip-rule="evenodd" d="M81.697 105H55.0693L0.5 0.5H77.9598C108.079 0.554913 132.484 24.7711 132.5 54.6451C132.452 82.485 109.73 105 81.697 105Z" fill="#DDFFEB"/></svg></div><div class="headings"><h1 class="title">Netdata Alert Notifications</h1><div class="flex-center flex-column" id="main-message">Trying to find a Netdata Agent for this alert...</div><table id="mynodes"></table></div></div></div><script>let searchParams = new URLSearchParams(location.search)
let mg = searchParams.get("agent_machine_guid")
let tr_i = searchParams.get("transition_id")
let token = location.hash.substring(1)
function buildIframe(url) {
let iframe = document.createElement('iframe');
iframe.src = url + "/registry-hello.html" + location.search + "&url=" + url;
iframe.style = { position: "absolute", left: "-99999999px" };
iframe.width = 0 ;
iframe.height = 0;
iframe.tabindex = -1;
iframe.title = "empty";
iframe.classList.add("hidden");
document.body.appendChild(iframe);
return iframe
}
function urlToId(s) {
s = s.trim();
s = s.replace(/^https?:\/\//i, '');
s = s.replace(/\W/g, '_');
return s;
}
fetch("api/v1/registry?action=hello", { cache: "no-cache", credentials: "include" })
.then(function(response) { return response.json() })
.then(function(helloData) {
if (helloData.anonymous_statistics !== false) {
(function (w, d, s, l, i) {
w[l] = w[l] || []
w[l].push({ "gtm.start": new Date().getTime(), event: "gtm.js" })
var f = d.getElementsByTagName(s)[0],
j = d.createElement(s),
dl = l != "dataLayer" ? "&l=" + l : ""
j.async = true
j.src = "https://www.googletagmanager.com/gtm.js?id=" + i + dl
f.parentNode.insertBefore(j, f)
})(window, document, "script", "dataLayer", "GTM-N6CBMJD")
}
fetch("api/v1/registry?action=search&for=" + mg, { cache: "no-cache", credentials: "include", headers: { ["X-Netdata-Auth"]: 'Bearer ' + (token || localStorage.getItem("registry-netdata-token")) } })
.then(function(response) { return response.json() })
.then(function(data) {
let table = document.getElementById("mynodes");
if (data.status === "ok") {
if (!token) {
if (location.protocol === "https:" && data.urls.some(function(u) {
return (/http:/).test(u)
})) {
return location.replace('http://' + location.href.substring(8) + "#" + localStorage.getItem("registry-netdata-token"))
}
}
data.urls.sort(function(a, b) {
return b[2] - a[2];
}).forEach(function(urlData) {
let urlMg = urlData[0]
let url = urlData[1]
let urlHostname = urlData[4]
let rowIframe = buildIframe(url)
let row = document.createElement("tr");
let cell1 = document.createElement("td");
let link = document.createElement("a");
link.href = (urlHostname ? (url + "/spaces/" + urlHostname + "/rooms/local/alerts/" + (tr_i || "") + location.search) : url + location.search).replace(/\/+/g, "/");
link.textContent = url;
link.target = "_blank";
link.classList.add("button", "ghost");
cell1.appendChild(link);
row.appendChild(cell1);
let cell2 = document.createElement("td");
cell2.id = urlToId("_" + url + urlMg);
cell2.textContent = "checking...";
row.appendChild(cell2);
table.appendChild(row);
window.addEventListener('message', function(event) {
if (event.source !== rowIframe.contentWindow) return;
if (event.data.url !== url || event.data.mg !== urlMg) return;
link.href = event.data.hostname ? (url + "/spaces/" + event.data.hostname + "/rooms/local/alerts/" + (tr_i || "") + location.search) : url + location.search;
let cellStatus = document.getElementById(urlToId("_" + url + urlMg));
if (event.data.isSame) {
cell2.textContent = "OK";
} else if (event.data.hasError) {
cell2.textContent = "can't connect";
} else {
cell2.textContent = "wrong node";
}
});
setTimeout(function() {
let cellStatus = document.getElementById(urlToId("_" + url + urlMg));
document.getElementById('agent-splash-screen').classList.remove("loading");
if (cell2.textContent !== "checking...") {
return;
}
cell2.textContent = "can't connect";
}, 5000)
})
let el = document.getElementById('agent-splash-screen');
el.classList.add("table");
document.getElementById('main-message').textContent = "Select a URL to see details about this alert:"
} else {
let el = document.getElementById('main-message');
el.innerHTML = "<p>Can't find any Netdata Agent for this alert.</p><small>Netdata learns Agent URLs when you view them and associates them with web browsers.<br/>Probably, you have never viewed the dashboard of the Netdata Agent that sent this notification, with the browser you use now.</small>"
}
}).catch(function(e) {
let el = document.getElementById('main-message');
el.textContent = "Oops! Something went wrong."
})
})</script></body></html>

View file

@ -1,94 +0,0 @@
<!doctype html><html><head><title>Netdata Registry</title><meta name="application-name" content="netdata"/><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><meta charset="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/><meta name="viewport" content="width=device-width,height=device-height,initial-scale=1,minimum-scale=1"/><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"/></head><body><script>var getBasename = function() {
var pathRegex = /\/(v2\/)?registry-hello.html?.*/
return window.location.origin + window.location.pathname.replace(pathRegex, "")
}
function doRegistryAccess(parentHelloData, originUrl) {
const helloPromise = !parentHelloData
? fetch(originUrl + "/api/v1/registry?action=hello", { cache: "no-cache", credentials: "include" })
.then(function(response) { return response.json() })
: Promise.resolve(parentHelloData)
helloPromise.then(function(data) {
var retries = 3
var nodes = data.nodes || []
var doAccess = function(mg, nm, token) {
fetch(data.registry + '/api/v1/registry?action=access&machine=' + (mg || data.machine_guid) + '&name=' + encodeURIComponent(nm || data.hostname) + '&url=' + encodeURIComponent(originUrl) + '&agent=' + (data.agent ? data.agent.machine_guid : ""), { cache: "no-cache", credentials: "include", headers: { ["X-Netdata-Auth"]: 'Bearer ' + (token || localStorage.getItem("registry-netdata-token")) } })
.then(function(response) { return response.json() })
.then(function(data) {
var token = data.person_guid
if (data.status === "redirect" && retries > 0) {
retries = retries - 1
doAccess(data.machine_guid, data.hostname, token)
}
if (data.status === "ok") {
localStorage.setItem("registry-netdata-token", token)
let node = nodes.pop()
if (!!node) {
setTimeout(function () {
doAccess(node.machine_guid, node.hostname, token)
}, 1000)
}
}
window.parent.postMessage(data, "*");
})
}
doAccess(data.machine_guid, data.hostname)
}).catch(() => {})
}
try {
var searchParams = new URLSearchParams(location.search)
var url = searchParams.get("url")
var mg = searchParams.get("agent_machine_guid")
var tr_i = searchParams.get("transition_id")
fetch(url + "/api/v1/registry?action=hello", { cache: "no-cache", credentials: "include" })
.then(function(response) { return response.json() })
.then(function(helloData) {
window.parent.postMessage({
mg: mg,
tr_i: tr_i,
hostname: helloData.hostname,
url: url,
isSame: mg === (helloData.agent ? helloData.agent.machine_guid : helloData.machine_guid)
}, "*");
}).catch(() => {
window.parent.postMessage({
mg: mg,
tr_i: tr_i,
url: url,
isSame: false,
hasError: true
}, "*");
})
doRegistryAccess(parentHelloData, searchParams.get("originUrl"))
} catch(e) {
// do nothing
}
function isValidHttpUrl(string) {
var url;
try {
return true
} catch (_) {
return false;
}
}
window.addEventListener('message', function(event) {
var isNetdataMessage = Array.isArray(event.data) ? event.data.length === 3 ? event.data[0] === "netdata-registry" : isValidHttpUrl(event.data[0]) : true
if (!isNetdataMessage) return
var originUrl = Array.isArray(event.data) ? event.data.length === 3 ? event.data[1] : event.data[0] : event.data
var parentHelloData = Array.isArray(event.data) ? event.data.length === 3 ? event.data[2] : event.data[1] : null
doRegistryAccess(parentHelloData, originUrl)
});</script></body></html>

View file

@ -1,171 +0,0 @@
:root {
--main-bg: #080a0a;
--font-color: #b7c2c2;
--primary-green: #00ab44;
--column-gap: 8px;
--logo-color: #f1fff7;
--button-text-green: #00cd51;
--border-color: #536775;
}
body {
margin: 0;
padding: 0;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen",
"Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue",
sans-serif;
background: var(--main-bg);
color: var(--font-color);
font-weight: 200;
font-size: 14px;
line-height: 20px;
}
iframe.hidden {
display: none;
}
#agent-splash-screen a:link,
#agent-splash-screen a:visited,
#agent-splash-screen a:active {
font-size: 12px;
color: var(--primary-green);
font-weight: normal;
}
#agent-splash-screen .hero {
position: relative;
display: flex;
width: 500px;
margin: auto;
align-items: center;
justify-content: center;
flex-direction: column;
gap: calc(var(--column-gap) * 4);
text-align: center;
margin: 120px auto 32px;
}
#agent-splash-screen .logo-container {
position: relative;
}
#agent-splash-screen .logo-blur {
position: absolute;
width: 315px;
height: 315px;
left: -100%;
top: -100%;
filter: blur(30px);
pointer-events: none;
}
#agent-splash-screen .logo {
filter: drop-shadow(-6px -2px 20px rgba(255, 255, 255, 0.6)) blur(0.7px);
}
#agent-splash-screen.loading .logo {
animation: glow 800ms linear infinite alternate;
}
#agent-splash-screen .headings {
display: flex;
flex-direction: column;
gap: calc(var(--column-gap) * 2);
height: 104px;
}
#agent-splash-screen .title {
font-size: 22px;
line-height: 26px;
font-weight: 200;
margin: 0;
}
#agent-splash-screen .subtitle {
font-size: 14px;
line-height: 20px;
margin: 0;
}
#agent-splash-screen .flex-center {
display: flex;
align-items: center;
justify-content: center;
gap: 2px;
}
#agent-splash-screen .flex-column {
flex-direction: column;
}
#agent-splash-screen a.button {
appearance: none;
border: none;
border-radius: 2px;
cursor: pointer;
text-decoration: none;
text-align: center;
}
#agent-splash-screen a.button svg {
width: 22px;
height: 16px;
}
#agent-splash-screen a.button.ghost {
background: transparent;
color: var(--button-text-green);
padding: 4px 6px;
font-size: 14px;
font-weight: 200;
}
#agent-splash-screen a.button.ghost:hover {
background: #00441b;
}
#agent-splash-screen a.button.large {
background: transparent;
border: 1px solid var(--primary-green);
font-size: 18px;
padding: 12px;
color: var(--button-text-green);
width: 100%;
font-weight: 200;
}
#agent-splash-screen a.button.large:hover {
background: #00441b;
}
#agent-splash-screen .loading-message .subtitle {
display:none;
}
#agent-splash-screen.loading .loading-message .subtitle {
display:block;
height: 56px;
}
#agent-splash-screen .loading-message .flex-center {
display: none;
}
#agent-splash-screen.error .loading-message .flex-center {
display: flex;
margin: 8px auto;
}
#agent-splash-screen .loading-message table {
display: none;
border-collapse: collapse;
border: 1px solid var(--border-color);
color: var(--font-color);
}
#agent-splash-screen.table .loading-message table {
display: table;
margin: 8px auto;
}
#agent-splash-screen .dashboard-buttons {
width: 320px;
margin: auto;
gap: 24px;
}
#agent-splash-screen .terms {
position: absolute;
bottom: 40px;
left: 0;
right: 0;
margin: auto;
}
.green {
color: var(--primary-green);
}
@keyframes glow {
from {
filter: drop-shadow(-6px -2px 20px rgba(255, 255, 255, 0.9)) blur(0.9px);
}
to {
filter: drop-shadow(-6px -2px 20px rgba(255, 255, 255, 0.3)) blur(0.4px);
}
}

View file

@ -22,19 +22,19 @@ src/web/gui/v1/robots.txt
src/web/gui/v1/service-worker.js
src/web/gui/v1/sitemap.xml
src/web/gui/v1/tv-react.html
src/web/gui/v1/tv.html COMPONENT netdata DESTINATION ${WEB_DEST})
src/web/gui/v1/tv.html COMPONENT dashboard DESTINATION ${WEB_DEST})
install(FILES src/web/gui/v1/css/bootstrap-3.3.7.css
src/web/gui/v1/css/bootstrap-slate-flat-3.3.7.css
src/web/gui/v1/css/bootstrap-slider-10.0.0.min.css
src/web/gui/v1/css/bootstrap-theme-3.3.7.min.css
src/web/gui/v1/css/bootstrap-toggle-2.2.2.min.css
src/web/gui/v1/css/dashboard.css
src/web/gui/v1/css/dashboard.slate.css COMPONENT netdata DESTINATION ${WEB_DEST}/css)
src/web/gui/v1/css/dashboard.slate.css COMPONENT dashboard DESTINATION ${WEB_DEST}/css)
install(FILES src/web/gui/v1/fonts/glyphicons-halflings-regular.eot
src/web/gui/v1/fonts/glyphicons-halflings-regular.svg
src/web/gui/v1/fonts/glyphicons-halflings-regular.ttf
src/web/gui/v1/fonts/glyphicons-halflings-regular.woff
src/web/gui/v1/fonts/glyphicons-halflings-regular.woff2 COMPONENT netdata DESTINATION ${WEB_DEST}/fonts)
src/web/gui/v1/fonts/glyphicons-halflings-regular.woff2 COMPONENT dashboard DESTINATION ${WEB_DEST}/fonts)
install(FILES src/web/gui/v1/images/alert-128-orange.png
src/web/gui/v1/images/alert-128-red.png
src/web/gui/v1/images/alert-multi-size-orange.ico
@ -84,7 +84,7 @@ src/web/gui/v1/images/overview.png
src/web/gui/v1/images/packaging-beta-tag.svg
src/web/gui/v1/images/post.png
src/web/gui/v1/images/pricing.png
src/web/gui/v1/images/seo-performance-128.png COMPONENT netdata DESTINATION ${WEB_DEST}/images)
src/web/gui/v1/images/seo-performance-128.png COMPONENT dashboard DESTINATION ${WEB_DEST}/images)
install(FILES src/web/gui/v1/lib/bootstrap-3.3.7.min.js
src/web/gui/v1/lib/bootstrap-slider-10.0.0.min.js
src/web/gui/v1/lib/bootstrap-table-1.11.0.min.js
@ -104,13 +104,13 @@ src/web/gui/v1/lib/jquery.sparkline-2.1.2.min.js
src/web/gui/v1/lib/lz-string-1.4.4.min.js
src/web/gui/v1/lib/pako-1.0.6.min.js
src/web/gui/v1/lib/perfect-scrollbar-0.6.15.min.js
src/web/gui/v1/lib/tableExport-1.6.0.min.js COMPONENT netdata DESTINATION ${WEB_DEST}/lib)
src/web/gui/v1/lib/tableExport-1.6.0.min.js COMPONENT dashboard DESTINATION ${WEB_DEST}/lib)
install(FILES src/web/gui/v1/static/css/2.c454aab8.chunk.css
src/web/gui/v1/static/css/2.c454aab8.chunk.css.map
src/web/gui/v1/static/css/4.a36e3b73.chunk.css
src/web/gui/v1/static/css/4.a36e3b73.chunk.css.map
src/web/gui/v1/static/css/main.53ba10f1.chunk.css
src/web/gui/v1/static/css/main.53ba10f1.chunk.css.map COMPONENT netdata DESTINATION ${WEB_DEST}/static/css)
src/web/gui/v1/static/css/main.53ba10f1.chunk.css.map COMPONENT dashboard DESTINATION ${WEB_DEST}/static/css)
install(FILES src/web/gui/v1/static/js/10.a5cd7d0e.chunk.js
src/web/gui/v1/static/js/10.a5cd7d0e.chunk.js.map
src/web/gui/v1/static/js/2.62d105c5.chunk.js
@ -135,7 +135,7 @@ src/web/gui/v1/static/js/main.e248095a.chunk.js
src/web/gui/v1/static/js/main.e248095a.chunk.js.LICENSE
src/web/gui/v1/static/js/main.e248095a.chunk.js.map
src/web/gui/v1/static/js/runtime-main.08abed8f.js
src/web/gui/v1/static/js/runtime-main.08abed8f.js.map COMPONENT netdata DESTINATION ${WEB_DEST}/static/js)
src/web/gui/v1/static/js/runtime-main.08abed8f.js.map COMPONENT dashboard DESTINATION ${WEB_DEST}/static/js)
install(FILES src/web/gui/v1/static/media/ibm-plex-sans-latin-100.245539db.woff2
src/web/gui/v1/static/media/ibm-plex-sans-latin-100.9a582f3a.woff
src/web/gui/v1/static/media/ibm-plex-sans-latin-100italic.1ea7c5d2.woff
@ -164,5 +164,5 @@ src/web/gui/v1/static/media/ibm-plex-sans-latin-700.b8809d61.woff
src/web/gui/v1/static/media/ibm-plex-sans-latin-700.c9983d3d.woff2
src/web/gui/v1/static/media/ibm-plex-sans-latin-700italic.02954bee.woff2
src/web/gui/v1/static/media/ibm-plex-sans-latin-700italic.72e9af40.woff
src/web/gui/v1/static/media/material-icons.0509ab09.woff2 COMPONENT netdata DESTINATION ${WEB_DEST}/static/media)
install(FILES src/web/gui/v1/index.html COMPONENT netdata DESTINATION ${WEB_DEST}/v1)
src/web/gui/v1/static/media/material-icons.0509ab09.woff2 COMPONENT dashboard DESTINATION ${WEB_DEST}/static/media)
install(FILES src/web/gui/v1/index.html COMPONENT dashboard DESTINATION ${WEB_DEST}/v1)

View file

@ -1,11 +0,0 @@
[
{
"relation": ["delegate_permission/common.handle_all_urls"],
"target": {
"namespace": "android_app",
"package_name": "cloud.netdata.android",
"sha256_cert_fingerprints":
["67:F4:89:2B:8D:A9:2D:CB:91:ED:A1:BD:42:04:90:28:05:4F:3E:81:04:7B:76:B6:0A:20:30:6C:90:38:08:90","1F:B8:9A:45:AD:83:76:DD:7E:A5:9A:07:82:4A:2F:99:3E:0D:EB:64:FA:50:76:59:65:3F:CC:38:7F:32:28:AA"]
}
}
]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,16 +0,0 @@
/** @preserve
* Counter block mode compatible with Dr Brian Gladman fileenc.c
* derived from CryptoJS.mode.CTR
* Jan Hruby jhruby.web@gmail.com
*/
/** @preserve
(c) 2012 by Cédric Mesnil. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="915cff30-b3e0-4d43-9fb7-29cb723a3367",e._sentryDebugIdIdentifier="sentry-dbid-915cff30-b3e0-4d43-9fb7-29cb723a3367")}catch(e){}}();var _global="undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:{};_global.SENTRY_RELEASE={id:"30b1ba65cc8722be7e184f4a401fb43e6b21634d"},(self.webpackChunkcloud_frontend=self.webpackChunkcloud_frontend||[]).push([[1782],{1782:(e,n,t)=>{t.r(n),t.d(n,{default:()=>b});var a=t(96540),o=t(5396),l=t(65566),d=t(83199),r=t(4659),s=t(50876);const c=()=>{const{sendButtonClickedLog:e}=(0,s.A)(),n=(0,a.useCallback)((()=>{window.open("https://www.netdata.cloud/secure-foss-agent/","_blank","noopener,noreferrer"),e({feature:"AgentBannerContactUs"})}),[e]);return a.createElement(d.Flex,{width:"100%",justifyContent:"center",alignItems:"center"},a.createElement(d.Text,null,"Your Agents are open by default. Secure them easily with"," ",a.createElement(r.A,{onClick:n,testId:"agent-banner-contact-link"},"Netdata Enterprise Agent"),"."))};var f=t(75542),i=t(63314),u=t(37618);const b=()=>{const{id:e}=(0,f.A)(),n=(0,a.useCallback)((()=>"dismissed-agent-banner-".concat(e)),[e]),{dismissed:t,onClose:d}=(0,l.A)({getLocalStorageKey:n,logKey:"AgentBannerDismiss"});return u.Ay&&!t?a.createElement(i.Ay,{feature:"AgentBanner"},a.createElement(o.A,{testId:"agent-banner",width:"100%",background:"successSemi",onClose:d,tooltipProps:{align:"top"},zIndex:20},a.createElement(c,null))):null}}}]);

View file

@ -1 +0,0 @@
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=(new Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="ef034845-b41b-4f78-8c45-36f3bd8c8152",e._sentryDebugIdIdentifier="sentry-dbid-ef034845-b41b-4f78-8c45-36f3bd8c8152")}catch(e){}}();var _global="undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:{};_global.SENTRY_RELEASE={id:"30b1ba65cc8722be7e184f4a401fb43e6b21634d"},(self.webpackChunkcloud_frontend=self.webpackChunkcloud_frontend||[]).push([[1839],{41839:(e,t,n)=>{n.r(t),n.d(t,{default:()=>u});var l=n(96540),a=n(83199),o=n(99904),r=n(47731),d=n(92155),i=n(63314);const c=(0,n(8711).default)(a.ModalContent).attrs((e=>{let{isMobile:t}=e;return{width:t?{base:"95vw"}:{}}})).withConfig({displayName:"styled__StyledModalContent",componentId:"sc-1vfmaif-0"})([""]),s=(0,d.A)(a.Button),u=()=>{const e=(0,r.J)(),{isModalVisible:t,trialEndsAt:n,onClose:d}=(0,o.A)();return t?l.createElement(a.Modal,{backdropProps:{backdropBlur:!0}},l.createElement(i.Ay,{feature:"BumpedWarningModal"},l.createElement(c,{isMobile:e},l.createElement(a.ModalHeader,null,l.createElement(a.Flex,{gap:2,alignItems:"center"},l.createElement(a.Icon,{name:"netdataPress",color:"text"}),l.createElement(a.H4,null,"Welcome to Netdata!"))),l.createElement(a.ModalBody,null,l.createElement(a.Flex,{column:!0,gap:4,width:{max:120},padding:[0,0,4,0]},l.createElement(a.TextBigger,null,"Welcome to your Business trial!"),l.createElement(a.Flex,{column:!0,gap:2},l.createElement(a.TextBigger,{lineHeight:1.5},"We are happy to inform you that we upgraded your account to Netdata Business, for free, until ",l.createElement(a.TextBigger,{strong:!0},n),"."),l.createElement(a.TextBigger,{lineHeight:1.5},"Explore all the Business features and keep enjoying the best of Netdata!")))),l.createElement(a.ModalFooter,null,l.createElement(a.Flex,{gap:4,justifyContent:"end",padding:[1,2]},l.createElement(s,{feature:"BumpedWarningModalClose",label:"OK",textTransform:"uppercase",flavour:"hollow",icon:"thumb_up",onClick:d})))))):null}}}]);

View file

@ -1 +0,0 @@
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="d40cbb04-6538-4d72-8288-fa96fe4b50e8",e._sentryDebugIdIdentifier="sentry-dbid-d40cbb04-6538-4d72-8288-fa96fe4b50e8")}catch(e){}}();var _global="undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:{};_global.SENTRY_RELEASE={id:"30b1ba65cc8722be7e184f4a401fb43e6b21634d"},(self.webpackChunkcloud_frontend=self.webpackChunkcloud_frontend||[]).push([[185],{51719:(e,n,l)=>{l.d(n,{A:()=>i});var t=l(58168),a=l(96540),r=l(83199),d=l(54856),o=l(3914);const i=e=>{const n=(0,o.dg)();return a.createElement(r.Flex,(0,t.A)({gap:2,alignItems:"center"},e),a.createElement(r.Icon,{size:"small",color:"warning",name:"warning_triangle"}),a.createElement(r.Text,null,"This feature is only available to paid plans"),n?null:a.createElement(d.A,null))}},70185:(e,n,l)=>{l.r(n),l.d(n,{default:()=>u});var t=l(96540),a=l(83199),r=l(8910),d=l(3914),o=l(87860),i=l(37618),f=l(70895),s=l(51719),c=l(63314);const u=()=>{const e=(0,d.vt)(),n=(0,i.ES)(e)?i.gB:"",{hasPermission:l}=(0,f.j)({edit:!0});return(0,o.A)({spaceId:e,id:n,pollingInterval:63e3}),t.createElement(c.Ay,{feature:"SettingsConfigurations"},t.createElement(a.Flex,{height:"100%",column:!0,gap:4},t.createElement(a.Flex,{gap:3,alignItems:"center"},t.createElement(a.H3,null,"Configurations"),l?null:t.createElement(s.A,null)),t.createElement(r.default,null)))}}}]);

View file

@ -1 +0,0 @@
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},d=(new Error).stack;d&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[d]="58cd7e74-4be7-447d-9061-c9c4d9d78755",e._sentryDebugIdIdentifier="sentry-dbid-58cd7e74-4be7-447d-9061-c9c4d9d78755")}catch(e){}}();var _global="undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:{};_global.SENTRY_RELEASE={id:"30b1ba65cc8722be7e184f4a401fb43e6b21634d"},(self.webpackChunkcloud_frontend=self.webpackChunkcloud_frontend||[]).push([[1876],{41876:(e,d,n)=>{n.r(d),n.d(d,{default:()=>u});n(9391);var t=n(96540),l=n(11604),o=n(50876),f=n(28738);const u=()=>{const{sendLog:e,isReady:d}=(0,o.A)(),n=(0,l.So)(),u=(0,t.useCallback)((()=>{e({feature:"SignUpThankYou"}).finally((()=>{n()}))}),[n,d]);return(0,t.useEffect)((()=>{let e=!0,n=null;return d?u():n=setTimeout((()=>{e&&u()}),1e3),()=>{e=!1,n&&(clearTimeout(n),n=null)}}),[d]),t.createElement(f.A,{title:"Welcome to Netdata!"})}}}]);

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="5ee71555-9d61-4693-bbdd-297fb8bf64e8",e._sentryDebugIdIdentifier="sentry-dbid-5ee71555-9d61-4693-bbdd-297fb8bf64e8")}catch(e){}}();var _global="undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:{};_global.SENTRY_RELEASE={id:"30b1ba65cc8722be7e184f4a401fb43e6b21634d"},(self.webpackChunkcloud_frontend=self.webpackChunkcloud_frontend||[]).push([[2007],{62007:(e,n,l)=>{l.r(n),l.d(n,{default:()=>u});var d=l(96540),t=l(22292),f=(l(62953),l(83199)),o=l(19673);const b=()=>{const{loaded:e,value:n}=(0,o.JN)(),l=[n.class,...n.trialEndsAt?["(Trial)"]:[]].join(" ");return e&&l.length?d.createElement(f.Flex,null,d.createElement(f.Pill,null,l)):null},u=()=>(0,t.uW)("isAnonymous")?null:d.createElement(b,null)}}]);

View file

@ -1 +0,0 @@
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="7da4450f-4e60-469b-a9f3-7fd9037f778a",e._sentryDebugIdIdentifier="sentry-dbid-7da4450f-4e60-469b-a9f3-7fd9037f778a")}catch(e){}}();var _global="undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:{};_global.SENTRY_RELEASE={id:"30b1ba65cc8722be7e184f4a401fb43e6b21634d"},(self.webpackChunkcloud_frontend=self.webpackChunkcloud_frontend||[]).push([[252],{11726:(e,n,t)=>{t.r(n),t.d(n,{default:()=>b});t(62953);var o=t(96540),r=t(39225),a=t(45467),l=t(83199),i=t(29217),c=t(8239),s=t(28738),u=t(57605),d=t(70895),f=t(51719);const p=(0,r.A)((()=>Promise.all([t.e(7144),t.e(7857),t.e(1220),t.e(749),t.e(9473),t.e(9292),t.e(8910),t.e(4140)]).then(t.bind(t,8910))),"Configuration"),b=()=>{const[e,n]=(0,c.OD)(),{node:t}=e||{},{openItems:r}=(0,c.IP)(),b=(0,u.A)(),{hasPermission:m}=(0,d.j)({edit:!0});(0,a.A)((()=>{b(!!e)}),[!!e]);const g=(0,o.useCallback)((()=>{n(null)}),[n]),v=(0,o.useCallback)((()=>{r.length||g()}),[r,g]);return e?o.createElement(l.Modal,{backdropProps:{backdropBlur:!0},onEsc:v},o.createElement(l.ModalContent,{width:"90vw",height:"90vh"},o.createElement(l.ModalHeader,{justifyContent:"between",padding:[4],round:!0},o.createElement(l.Flex,{gap:3,alignItems:"center"},o.createElement(l.H4,null,t.name),m?null:o.createElement(f.A,null)),o.createElement(i.A,{align:"bottom",content:"Close window",zIndex:7050},o.createElement(l.Flex,null,o.createElement(l.ModalCloseButton,{onClose:g,testId:"assistant-modal-close-button"})))),o.createElement(l.ModalBody,{height:"calc(100% - 55px)",overflow:{vertical:"auto"}},o.createElement(o.Suspense,{fallback:o.createElement(s.A,{title:"Loading configuration..."})},o.createElement(p,{node:t,inModal:!0}))))):null}},54856:(e,n,t)=>{t.d(n,{A:()=>u});var o=t(58168),r=t(96540),a=t(84976),l=t(83199),i=t(4659),c=t(46741),s=t(27994);const u=function(){let{containerProps:e={},...n}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=(0,c.JT)("billing:ReadAll"),{url:u}=(0,s.A)();return u?r.createElement(l.Flex,(0,o.A)({background:"sideBarMini",border:{side:"all",color:"border"},padding:[1,2],round:!0},e),r.createElement(i.A,(0,o.A)({align:"bottom",as:a.N_,boxProps:{as:l.Flex},color:"text",Component:l.TextMicro,content:t?"Upgrade your plan in order to use this feature":"You have no permissions to manage billing",disabled:!t,hoverColor:"textFocus",showToolTip:!0,strong:!0,to:u},n),"Upgrade now!")):null}},51719:(e,n,t)=>{t.d(n,{A:()=>c});var o=t(58168),r=t(96540),a=t(83199),l=t(54856),i=t(3914);const c=e=>{const n=(0,i.dg)();return r.createElement(a.Flex,(0,o.A)({gap:2,alignItems:"center"},e),r.createElement(a.Icon,{size:"small",color:"warning",name:"warning_triangle"}),r.createElement(a.Text,null,"This feature is only available to paid plans"),n?null:r.createElement(l.A,null))}},84428:(e,n,t)=>{var o=t(78227)("iterator"),r=!1;try{var a=0,l={next:function(){return{done:!!a++}},return:function(){r=!0}};l[o]=function(){return this},Array.from(l,(function(){throw 2}))}catch(i){}e.exports=function(e,n){try{if(!n&&!r)return!1}catch(i){return!1}var t=!1;try{var a={};a[o]=function(){return{next:function(){return{done:t=!0}}}},e(a)}catch(i){}return t}},87290:(e,n,t)=>{var o=t(50516),r=t(19088);e.exports=!o&&!r&&"object"==typeof window&&"object"==typeof document},50516:e=>{e.exports="object"==typeof Deno&&Deno&&"object"==typeof Deno.version},19088:(e,n,t)=>{var o=t(24475),r=t(44576);e.exports="process"===r(o.process)},10916:(e,n,t)=>{var o=t(24475),r=t(80550),a=t(94901),l=t(92796),i=t(33706),c=t(78227),s=t(87290),u=t(50516),d=t(96395),f=t(77388),p=r&&r.prototype,b=c("species"),m=!1,g=a(o.PromiseRejectionEvent),v=l("Promise",(function(){var e=i(r),n=e!==String(r);if(!n&&66===f)return!0;if(d&&(!p.catch||!p.finally))return!0;if(!f||f<51||!/native code/.test(e)){var t=new r((function(e){e(1)})),o=function(e){e((function(){}),(function(){}))};if((t.constructor={})[b]=o,!(m=t.then((function(){}))instanceof o))return!0}return!n&&(s||u)&&!g}));e.exports={CONSTRUCTOR:v,REJECTION_EVENT:g,SUBCLASSING:m}},90537:(e,n,t)=>{var o=t(80550),r=t(84428),a=t(10916).CONSTRUCTOR;e.exports=a||!r((function(e){o.all(e).then(void 0,(function(){}))}))},96167:(e,n,t)=>{var o=t(46518),r=t(69565),a=t(79306),l=t(36043),i=t(1103),c=t(72652);o({target:"Promise",stat:!0,forced:t(90537)},{allSettled:function(e){var n=this,t=l.f(n),o=t.resolve,s=t.reject,u=i((function(){var t=a(n.resolve),l=[],i=0,s=1;c(e,(function(e){var a=i++,c=!1;s++,r(t,n,e).then((function(e){c||(c=!0,l[a]={status:"fulfilled",value:e},--s||o(l))}),(function(e){c||(c=!0,l[a]={status:"rejected",reason:e},--s||o(l))}))})),--s||o(l)}));return u.error&&s(u.value),t.promise}})}}]);

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=(new Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="cba6d6ae-245a-4321-928f-6028dbaba19b",e._sentryDebugIdIdentifier="sentry-dbid-cba6d6ae-245a-4321-928f-6028dbaba19b")}catch(e){}}();var _global="undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:{};_global.SENTRY_RELEASE={id:"30b1ba65cc8722be7e184f4a401fb43e6b21634d"},(self.webpackChunkcloud_frontend=self.webpackChunkcloud_frontend||[]).push([[3350],{92155:(e,t,a)=>{a.d(t,{A:()=>d});var n=a(58168),l=a(96540),r=a(50876);const o=e=>(0,l.forwardRef)(((t,a)=>{let{callback:o,feature:c,isStart:d,isSuccess:u,isFailure:i,eventReason:s,payload:f={},...b}=t;const{sendLog:g,isReady:m}=(0,r.A)(),y=(0,l.useCallback)((()=>{const e=b[o],t={feature:c,isStart:d,isSuccess:u,isFailure:i,eventReason:s,...f,...b["data-ga"]?{dataGa:b["data-ga"]}:{},...b.dataGa?{dataGa:b.dataGa}:{},...b["data-track"]?{dataTrack:b["data-track"]}:{},...b.label?{label:b.label}:{}};"function"==typeof e&&e(),g(t,!0)}),[o,g,m,f,b]),p=(0,l.useMemo)((()=>({...b,[o]:y})),[b,o,y]);return l.createElement(e,(0,n.A)({ref:a},p))}));var c=a(67276);const d=e=>(0,l.forwardRef)(((t,a)=>{let{payload:r={},...d}=t;const u=o(e);return l.createElement(u,(0,n.A)({},d,{ref:a,callback:"onClick",payload:{...r,action:c.o1.buttonClicked}}))}))},73350:(e,t,a)=>{a.r(t),a.d(t,{Trust:()=>f,default:()=>b});a(9391),a(25440),a(3064),a(98992),a(72577),a(62953);var n=a(96540),l=a(86663),r=a(83199),o=a(11604),c=a(28738),d=a(92155),u=a(50876),i=a(63314);const s=(0,d.A)(r.Button),f=()=>{const[e,t]=(0,n.useMemo)((()=>{const{search:e}=window.location,{redirect_uri:t,agent_uri:a}=l.parse(e);return[t,a]})),[a,d]=(0,n.useState)(),[f,b,g]=(0,o.LC)(),[m,y]=(0,o.Yr)({},[f]),{sendLog:p,isReady:w}=(0,u.A)();return(0,n.useEffect)((()=>{let a=!0,n=null;const l=m.find((e=>e.url===t));return l?p({feature:"TrustUrl",description:"Redirect due to trusted url"}).finally((()=>{location.replace("/api/v1/auth/account/origins/".concat(l.id,"/redirect?redirect_uri=").concat(encodeURIComponent(e),"&agent_uri=").concat(encodeURIComponent(t)))})):n=setTimeout((()=>{a&&d(!0)}),1e3),()=>{a=!1,n&&(clearTimeout(n),n=null)}}),[e,t,m,w]),a?n.createElement(i.Ay,{feature:"TrustUrl"},n.createElement(r.Layer,{full:!0},n.createElement(r.Flex,{"data-testid":"trust",alignItems:"center",justifyContent:"center",column:!0,width:"100%",height:"100%",background:"mainBackground",gap:4},n.createElement(c.m,{animate:g}),n.createElement(r.Text,{textAlign:"center"},"Do you trust ",n.createElement(r.Text,{strong:!0},t),"?"),n.createElement(r.Flex,{column:!0,gap:2,alignItems:"center"},n.createElement(r.TextBig,null,"Authorizing this URL will allow it to request your Netdata data."),n.createElement(r.Flex,{gap:2},n.createElement(s,{flavour:"borderless",onClick:()=>window.location.replace(decodeURIComponent(e)),disabled:y||g,"data-ga":"url-authorization::click-cancel-button",feature:"TrustUrl",payload:{label:"Cancel"}},"Cancel"),n.createElement(s,{onClick:()=>b(t),disabled:y||g,isLoading:y||g,"data-ga":"url-authorization::click-yes-button",feature:"TrustUrl",payload:{label:"Yes"}},"Yes")))))):n.createElement(c.A,null)},b=f}}]);

File diff suppressed because one or more lines are too long

View file

@ -1,13 +0,0 @@
/*!
* @kurkle/color v0.3.2
* https://github.com/kurkle/color#readme
* (c) 2023 Jukka Kurkela
* Released under the MIT License
*/
/*!
* Chart.js v4.4.2
* https://www.chartjs.org
* (c) 2024 Chart.js Contributors
* Released under the MIT License
*/

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=(new Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="7d94b975-3025-4457-8552-31970dc67035",e._sentryDebugIdIdentifier="sentry-dbid-7d94b975-3025-4457-8552-31970dc67035")}catch(e){}}();var _global="undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:{};_global.SENTRY_RELEASE={id:"30b1ba65cc8722be7e184f4a401fb43e6b21634d"},(self.webpackChunkcloud_frontend=self.webpackChunkcloud_frontend||[]).push([[3736],{63736:(e,t,o)=>{o.r(t),o.d(t,{default:()=>l});var i=o(8711),n=o(83199);const r=(0,i.css)(['html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font:inherit;font-size:100%;vertical-align:inherit;}body{font-size:14px;line-height:1.5;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif;min-height:100vh;scroll-behavior:smooth;text-rendering:optimizespeed;scrollbar-gutter:stable both-edges;}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}body{-webkit-tap-highlight-color:transparent;-webkit-overflow-scrolling:touch;}body > iframe:not([src$="statuspage.io/embed/frame"]){display:none;}ol,ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none;}table{border-collapse:collapse;border-spacing:0;th,tr{vertical-align:middle;}th{font-weight:bold;}}*{box-sizing:inherit;-webkit-font-smoothing:antialiased;font-weight:inherit;text-rendering:optimizelegibility;-webkit-appearance:none;border-width:0px;border-style:initial;border-color:initial;border-image:initial;margin:0px;outline:0px;padding:0px;text-decoration:none;}*,*::before,*::after{box-sizing:border-box;}input[type="button" i],input[type="submit" i],input[type="reset" i],input[type="file" i]::-webkit-file-upload-button,button{border-color:transparent;border-style:none;border-width:0;padding:0;}a{color:',";&:hover{text-decoration:underline;color:",";}&:visited{color:",";}}b{font-weight:bold;}i{font-style:italic;}code{font-family:monospace;}::-webkit-scrollbar{height:8px;width:8px;}",""],(e=>e.theme.colors.link),(e=>e.theme.colors.linkHover),(e=>e.theme.colors.link),(e=>e.isScreenSmall&&"\n ::-webkit-scrollbar {\n width: 0px !important;\n height: 0px !important;\n background: transparent !important; /* make scrollbar transparent */\n }\n ")),l=(0,i.createGlobalStyle)([""," ",""],r,n.webkitVisibleScrollbar)}}]);

File diff suppressed because one or more lines are too long

View file

@ -1,2 +0,0 @@
.default .dygraph-axis-label{color:#35414a}.dark .dygraph-axis-label{color:#fff}.dygraph-label-rotate-right{text-align:center;transform:rotate(-90deg);-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-o-transform:rotate(-90deg);-ms-transform:rotate(-90deg)}.dygraph-annotation{position:absolute;z-index:10;overflow:hidden;border:1px solid}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

View file

@ -1 +0,0 @@
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},r=(new Error).stack;r&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[r]="bd450e9d-64ed-4ee1-a486-4ee9d95323c9",e._sentryDebugIdIdentifier="sentry-dbid-bd450e9d-64ed-4ee1-a486-4ee9d95323c9")}catch(e){}}();var _global="undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:{};_global.SENTRY_RELEASE={id:"30b1ba65cc8722be7e184f4a401fb43e6b21634d"},(self.webpackChunkcloud_frontend=self.webpackChunkcloud_frontend||[]).push([[4034],{24034:(e,r,t)=>{t.r(r),t.d(r,{default:()=>i,dropInFlavour:()=>d});t(74648),t(17333),t(98992),t(23215),t(54520);var n=t(96540),a=t(43375);const o={activationConstraint:{delay:50,tolerance:10}},d={dropArea:"dropArea",dashboard:"dashboard",self:"self"},i=e=>{let{children:r}=e;const t=(0,n.useCallback)((e=>{const{active:r}=e,{isResizer:t,itemId:n,itemContainerId:o,rootId:d,navigationTab:i}=r.data.current;if(i)return(0,a.fp)({...e,droppableContainers:e.droppableContainers.filter((e=>e.data.current.sortable&&e.data.current.navigationTab))});if(t){const t=e.droppableRects.get(n)||e.droppableRects.get("".concat(d,"-").concat(n));return(0,a.Qo)({...e,collisionRect:{...t,...r.rect.current.translated&&{width:t.width+(r.rect.current.translated.right-r.rect.current.initial.right),height:t.height+(r.rect.current.translated.bottom-r.rect.current.initial.bottom)}},droppableContainers:e.droppableContainers.filter((e=>{var r;return!(null!==(r=e.data.current)&&void 0!==r&&r.isContainer)&&e.data.current.itemContainerId===o}))})}let l,s=e.droppableContainers.filter((e=>e.data.current.droppable));if(s.length){if(l=(0,a.TT)({...e,droppableContainers:s}),l.length>0||s.every((e=>e.data.current.onlyPointerWithin)))return l;if(l=(0,a.Qo)({...e,droppableContainers:s.filter((e=>!e.data.current.onlyPointerWithin))}),l.length>0)return l}if(s=e.droppableContainers.filter((e=>e.data.current.dropArea)),l=(0,a.TT)({...e,droppableContainers:s}),l.length>0)return l;const c=(0,a.TT)({...e,droppableContainers:e.droppableContainers.filter((e=>{var r;return!(null!==(r=e.data.current)&&void 0!==r&&r.isResizer||e.id===n)}))});return c.length>0?c:(0,a.fp)({...e,droppableContainers:e.droppableContainers.filter((e=>{var r;return!(null!==(r=e.data.current)&&void 0!==r&&r.isResizer||e.id===n)}))})}),[]),d=(0,a.FR)((0,a.MS)(a.cA,o),(0,a.MS)(a.IG,o));return n.createElement(a.Mp,{sensors:d,collisionDetection:t,measuring:{droppable:{strategy:a.Pf.Always},draggable:{measure:a.Sj}},autoScroll:!1},r)}}}]);

File diff suppressed because one or more lines are too long

View file

@ -1,2 +0,0 @@
.default .dygraph-axis-label{color:#35414a}.dark .dygraph-axis-label{color:#fff}.dygraph-label-rotate-right{text-align:center;transform:rotate(-90deg);-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-o-transform:rotate(-90deg);-ms-transform:rotate(-90deg)}.dygraph-annotation{position:absolute;z-index:10;overflow:hidden;border:1px solid}

View file

@ -1 +0,0 @@
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="3597fc37-c681-4308-9ec1-86674db668e7",e._sentryDebugIdIdentifier="sentry-dbid-3597fc37-c681-4308-9ec1-86674db668e7")}catch(e){}}();var _global="undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:{};_global.SENTRY_RELEASE={id:"30b1ba65cc8722be7e184f4a401fb43e6b21634d"},(self.webpackChunkcloud_frontend=self.webpackChunkcloud_frontend||[]).push([[4414],{74414:(e,n,c)=>{c.r(n),c.d(n,{default:()=>f});var d=c(8711);const o="> .dyncfg-field-content > .dyncfg-object-field-container > .dyncfg-object-field-collapsible > .dyncfg-object-field-content",t=(0,d.css)([".dyncfg-grid ",",.dyncfg-grid ","{display:grid;column-gap:16px;row-gap:6px;}",""],o,"> .dyncfg-object-field-content",(e=>{const n=[];for(let c=1;c<=e;c++){n.push(".dyncfg-grid-col-".concat(c," ").concat(o," {\n grid-template-columns: repeat(").concat(c,", 1fr) !important;\n }"));for(let d=1;d<=e-c+1;d++)n.push(".dyncfg-grid-col-span-".concat(c,"-").concat(d," { grid-column: ").concat(c," / span ").concat(d,"; }"))}return n.join("\n")})(12)),f=(0,d.createGlobalStyle)(["",""],t)}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=(new Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="53f38cae-4eb5-4b70-b025-7a530152c695",e._sentryDebugIdIdentifier="sentry-dbid-53f38cae-4eb5-4b70-b025-7a530152c695")}catch(e){}}();var _global="undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:{};_global.SENTRY_RELEASE={id:"30b1ba65cc8722be7e184f4a401fb43e6b21634d"},(self.webpackChunkcloud_frontend=self.webpackChunkcloud_frontend||[]).push([[5426],{45426:(e,t,n)=>{n.r(t),n.d(t,{default:()=>s});n(62953);var o=n(96540),a=n(83199),r=n(5396),l=n(4659),d=n(87659),c=n(51641);const s=()=>{const e=(0,c.e)(),[t,,n,s]=(0,d.A)();return(0,o.useEffect)((()=>{"Reachable"===e&&n()}),[e]),t?o.createElement(a.Layer,{full:"horizontal",backdropProps:{backdropBlur:"3px"},onClickOutside:s,onEsc:s,position:"top"},o.createElement(r.A,{testId:"agent-not-secure-banner",width:"100%",background:"warningBackground",position:"absolute",top:"0",tooltipProps:{align:"top"},zIndex:20},o.createElement(a.Flex,{justifyContent:"center",alignItems:"center",width:"100%",gap:2},o.createElement(a.Text,null,"IMPORTANT: This Netdata is openly accessible from the Internet!"," ",o.createElement(l.A,{"data-testid":"learn",href:"https://learn.netdata.cloud/docs/netdata-agent/securing-netdata-agents/",as:"a",cursor:"pointer",textDecoration:"underline",color:"text",hoverColor:"textFocus"},"Secure your Netdata now"),"!")),o.createElement(a.Box,{"data-testid":"agent-not-secure-banner-close-button",as:a.Icon,color:"text",cursor:"pointer",name:"x",position:"absolute",right:"8px",onClick:s}))):null}}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="4efe7547-b8b3-471e-92e3-d577a967e407",e._sentryDebugIdIdentifier="sentry-dbid-4efe7547-b8b3-471e-92e3-d577a967e407")}catch(e){}}();var _global="undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:{};_global.SENTRY_RELEASE={id:"30b1ba65cc8722be7e184f4a401fb43e6b21634d"},(self.webpackChunkcloud_frontend=self.webpackChunkcloud_frontend||[]).push([[5700],{95700:(e,n,d)=>{d.r(n),d.d(n,{default:()=>a});d(62953);var t=d(96540),f=d(67602),o=d(55337),l=d(6323);const a=()=>{const[e,,,n]=(0,f.A)("manageInvitations");return t.createElement(o.A,null,e&&t.createElement(l.d,{onClose:n}))}}}]);

File diff suppressed because one or more lines are too long

View file

@ -1,12 +0,0 @@
/*!
* chartjs-plugin-zoom v2.0.1
* undefined
* (c) 2016-2023 chartjs-plugin-zoom Contributors
* Released under the MIT License
*/
/*! Hammer.JS - v2.0.7 - 2016-04-22
* http://hammerjs.github.io/
*
* Copyright (c) 2016 Jorik Tangelder;
* Licensed under the MIT license */

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,6 +0,0 @@
/*!
* chartjs-plugin-annotation v2.2.1
* https://www.chartjs.org/chartjs-plugin-annotation/index
* (c) 2023 chartjs-plugin-annotation Contributors
* Released under the MIT License
*/

File diff suppressed because one or more lines are too long

View file

@ -1,2 +0,0 @@
.default .dygraph-axis-label{color:#35414a}.dark .dygraph-axis-label{color:#fff}.dygraph-label-rotate-right{text-align:center;transform:rotate(-90deg);-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-o-transform:rotate(-90deg);-ms-transform:rotate(-90deg)}.dygraph-annotation{position:absolute;z-index:10;overflow:hidden;border:1px solid}

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=(new Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="598e5ba4-f52e-4f8d-8c4b-05b81a830989",e._sentryDebugIdIdentifier="sentry-dbid-598e5ba4-f52e-4f8d-8c4b-05b81a830989")}catch(e){}}();var _global="undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:{};_global.SENTRY_RELEASE={id:"30b1ba65cc8722be7e184f4a401fb43e6b21634d"},(self.webpackChunkcloud_frontend=self.webpackChunkcloud_frontend||[]).push([[6384],{29176:(e,t,n)=>{n.d(t,{m:()=>m});var r=n(35840);function a(e){return(0,r.w)(e,Date.now())}var i=n(25733),o=n(2940),s=n(49858),u=n(43924),c=n(2642),f=n(96519),d=n(82695),l=n(40215);function D(e,t,n){const r=(0,d.q)(),a=n?.locale??r.locale??f.c,D=(0,i.z)(e,t);if(isNaN(D))throw new RangeError("Invalid time value");const m=Object.assign({},n,{addSuffix:n?.addSuffix,comparison:D});let N,g;D>0?(N=(0,c.a)(t),g=(0,c.a)(e)):(N=(0,c.a)(e),g=(0,c.a)(t));const w=(0,u.O)(g,N),b=((0,l.G)(g)-(0,l.G)(N))/1e3,h=Math.round((w-b)/60);let T;if(h<2)return n?.includeSeconds?w<5?a.formatDistance("lessThanXSeconds",5,m):w<10?a.formatDistance("lessThanXSeconds",10,m):w<20?a.formatDistance("lessThanXSeconds",20,m):w<40?a.formatDistance("halfAMinute",0,m):w<60?a.formatDistance("lessThanXMinutes",1,m):a.formatDistance("xMinutes",1,m):0===h?a.formatDistance("lessThanXMinutes",1,m):a.formatDistance("xMinutes",h,m);if(h<45)return a.formatDistance("xMinutes",h,m);if(h<90)return a.formatDistance("aboutXHours",1,m);if(h<o.F6){const e=Math.round(h/60);return a.formatDistance("aboutXHours",e,m)}if(h<2520)return a.formatDistance("xDays",1,m);if(h<o.Nw){const e=Math.round(h/o.F6);return a.formatDistance("xDays",e,m)}if(h<2*o.Nw)return T=Math.round(h/o.Nw),a.formatDistance("aboutXMonths",T,m);if(T=(0,s.W)(g,N),T<12){const e=Math.round(h/o.Nw);return a.formatDistance("xMonths",e,m)}{const e=T%12,t=Math.trunc(T/12);return e<3?a.formatDistance("aboutXYears",t,m):e<9?a.formatDistance("overXYears",t,m):a.formatDistance("almostXYears",t+1,m)}}function m(e,t){return D(e,a(e),t)}},63933:(e,t,n)=>{n.d(t,{R:()=>a});var r=n(2642);function a(e){return+(0,r.a)(e)<Date.now()}},84929:(e,t,n)=>{n.d(t,{H:()=>a});var r=n(2940);function a(e,t){const n=t?.additionalDigits??2,a=function(e){const t={},n=e.split(i.dateTimeDelimiter);let r;if(n.length>2)return t;/:/.test(n[0])?r=n[0]:(t.date=n[0],r=n[1],i.timeZoneDelimiter.test(t.date)&&(t.date=e.split(i.timeZoneDelimiter)[0],r=e.substr(t.date.length,e.length)));if(r){const e=i.timezone.exec(r);e?(t.time=r.replace(e[1],""),t.timezone=e[1]):t.time=r}return t}(e);let D;if(a.date){const e=function(e,t){const n=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+t)+"})|(\\d{2}|[+-]\\d{"+(2+t)+"})$)"),r=e.match(n);if(!r)return{year:NaN,restDateString:""};const a=r[1]?parseInt(r[1]):null,i=r[2]?parseInt(r[2]):null;return{year:null===i?a:100*i,restDateString:e.slice((r[1]||r[2]).length)}}(a.date,n);D=function(e,t){if(null===t)return new Date(NaN);const n=e.match(o);if(!n)return new Date(NaN);const r=!!n[4],a=c(n[1]),i=c(n[2])-1,s=c(n[3]),u=c(n[4]),f=c(n[5])-1;if(r)return function(e,t,n){return t>=1&&t<=53&&n>=0&&n<=6}(0,u,f)?function(e,t,n){const r=new Date(0);r.setUTCFullYear(e,0,4);const a=r.getUTCDay()||7,i=7*(t-1)+n+1-a;return r.setUTCDate(r.getUTCDate()+i),r}(t,u,f):new Date(NaN);{const e=new Date(0);return function(e,t,n){return t>=0&&t<=11&&n>=1&&n<=(d[t]||(l(e)?29:28))}(t,i,s)&&function(e,t){return t>=1&&t<=(l(e)?366:365)}(t,a)?(e.setUTCFullYear(t,i,Math.max(a,s)),e):new Date(NaN)}}(e.restDateString,e.year)}if(!D||isNaN(D.getTime()))return new Date(NaN);const m=D.getTime();let N,g=0;if(a.time&&(g=function(e){const t=e.match(s);if(!t)return NaN;const n=f(t[1]),a=f(t[2]),i=f(t[3]);if(!function(e,t,n){if(24===e)return 0===t&&0===n;return n>=0&&n<60&&t>=0&&t<60&&e>=0&&e<25}(n,a,i))return NaN;return n*r.s0+a*r.Cg+1e3*i}(a.time),isNaN(g)))return new Date(NaN);if(!a.timezone){const e=new Date(m+g),t=new Date(0);return t.setFullYear(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()),t.setHours(e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()),t}return N=function(e){if("Z"===e)return 0;const t=e.match(u);if(!t)return 0;const n="+"===t[1]?-1:1,a=parseInt(t[2]),i=t[3]&&parseInt(t[3])||0;if(!function(e,t){return t>=0&&t<=59}(0,i))return NaN;return n*(a*r.s0+i*r.Cg)}(a.timezone),isNaN(N)?new Date(NaN):new Date(m+g+N)}const i={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},o=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,s=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,u=/^([+-])(\d{2})(?::?(\d{2}))?$/;function c(e){return e?parseInt(e):1}function f(e){return e&&parseFloat(e.replace(",","."))||0}const d=[31,null,31,30,31,30,31,31,30,31,30,31];function l(e){return e%400===0||e%4===0&&e%100!==0}}}]);

File diff suppressed because one or more lines are too long

View file

@ -1,2 +0,0 @@
.default .dygraph-axis-label{color:#35414a}.dark .dygraph-axis-label{color:#fff}.dygraph-label-rotate-right{text-align:center;transform:rotate(-90deg);-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-o-transform:rotate(-90deg);-ms-transform:rotate(-90deg)}.dygraph-annotation{position:absolute;z-index:10;overflow:hidden;border:1px solid}

View file

@ -1 +0,0 @@
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},d=(new Error).stack;d&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[d]="bea2cd4d-f017-4db5-b9e3-546372542647",e._sentryDebugIdIdentifier="sentry-dbid-bea2cd4d-f017-4db5-b9e3-546372542647")}catch(e){}}();var _global="undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:{};_global.SENTRY_RELEASE={id:"30b1ba65cc8722be7e184f4a401fb43e6b21634d"},(self.webpackChunkcloud_frontend=self.webpackChunkcloud_frontend||[]).push([[6661],{46661:(e,d,t)=>{t.r(d),t.d(d,{default:()=>f});var n=t(96540),o=t(47767),a=t(83199),l=t(68938);const r={width:600,height:600},f=e=>{let{email:d}=e;const t=(0,o.Zp)(),f=(0,n.useCallback)((()=>t(window.location.pathname,{replace:!0})),[]);return n.createElement(a.Layer,{backdrop:!0,backdropProps:{backdropBlur:"3px"},"data-track":"typeform-signup-form"},n.createElement(l.Widget,{id:localStorage.getItem("typeformId")||"jC4PHA0q",style:r,medium:"demo-test",onSubmit:f,hidden:{email:d}}))}}}]);

View file

@ -1 +0,0 @@
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=(new Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="849965ac-d76d-4654-9eee-fc709635d008",e._sentryDebugIdIdentifier="sentry-dbid-849965ac-d76d-4654-9eee-fc709635d008")}catch(e){}}();var _global="undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:{};_global.SENTRY_RELEASE={id:"30b1ba65cc8722be7e184f4a401fb43e6b21634d"},(self.webpackChunkcloud_frontend=self.webpackChunkcloud_frontend||[]).push([[6760],{96760:(e,t,n)=>{n.r(t),n.d(t,{default:()=>I});var l=n(96540),a=n(8711),d=n(63950),o=n.n(d),r=n(81638),c=n(64473),i=n(83199),m=n(84976),s=n(47762);const f=e=>{let{id:t}=e;const n=(0,s.Zl)(t),a=(0,s.xY)(t,"name");return l.createElement(m.N_,{to:n},l.createElement(i.Flex,{alignItems:"center",gap:1},l.createElement(i.Icon,{name:"node_hollow",color:"primary",size:"small"}),l.createElement(i.Flex,{width:{max:40},overflow:"hidden"},l.createElement(i.Text,{color:"primary",whiteSpace:"nowrap"},a)),l.createElement(i.Icon,{name:"goToNode",color:"primary",size:"small"})))};var E=n(25825),u=n(89879),b=n(60072),h=n(80618),p=n(58010),w=n(17240);const g=e=>{let{id:t}=e;const n=(0,s.xY)(t);return n.loaded?l.createElement(i.Flex,{column:!0,gap:1,overflow:{horizontal:"hidden",vertical:"auto"},padding:[2],width:"100%"},l.createElement(E.A,{node:n}),l.createElement(u.A,{id:t,flavour:"sidebar"}),l.createElement(b.A,{node:n}),l.createElement(h.A,{node:n}),l.createElement(p.A,{node:n}),l.createElement(w.A,{node:n})):null};var y=n(20687);const v=(0,a.default)(i.Tabs).withConfig({displayName:"contents__StyledTabs",componentId:"sc-11zjb7h-0"})(["overflow:hidden;height:100%;"]),_=e=>t=>l.createElement(i.Flex,{column:!0,overflow:"hidden",height:"calc(100% - 80px)",position:"relative",gap:3,padding:[1,0]},l.createElement(e,t)),x=_(g),A=_(y.A),I=e=>{let{id:t,onClose:n=o()}=e;return l.createElement(r.Ay,{width:90,isOpen:!0,header:l.createElement(c.A,{title:l.createElement(f,{id:t}),onClick:n})},l.createElement(i.Flex,{"data-testid":"home-sidebar-tabs",column:!0,overflow:"hidden",height:"100%"},l.createElement(v,{selected:0},l.createElement(i.Tab,{label:l.createElement(i.Text,null,"Info"),small:!0},l.createElement(x,{id:t})),l.createElement(i.Tab,{label:l.createElement(i.Text,null,"Alerts"),small:!0},l.createElement(A,{nodeIds:[t]})))))}}}]);

View file

@ -1 +0,0 @@
!function(){try{var o="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},e=(new Error).stack;e&&(o._sentryDebugIds=o._sentryDebugIds||{},o._sentryDebugIds[e]="ee64041b-8fce-4c14-8c7a-93b3842283aa",o._sentryDebugIdIdentifier="sentry-dbid-ee64041b-8fce-4c14-8c7a-93b3842283aa")}catch(o){}}();var _global="undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:{};_global.SENTRY_RELEASE={id:"30b1ba65cc8722be7e184f4a401fb43e6b21634d"},(self.webpackChunkcloud_frontend=self.webpackChunkcloud_frontend||[]).push([[683],{683:(o,e,t)=>{t.r(e),t.d(e,{Notification:()=>l.Eg,Warning:()=>f,createErrorNotification:()=>l.gi,createNotification:()=>l.UI,default:()=>g,showDashboardCreatedNotification:()=>c.jE,showInvalidDashboardSlugNotification:()=>c.$j,showJoiningSpaceNotification:()=>c.Fw,showNodesNotification:()=>c.AM,showRoomCreationNotification:()=>c.ZM,showRoomsInSpaceNotification:()=>c.mw,showRoomsNotification:()=>c.r0,showSpaceNotification:()=>c.X7,showUsersInRoomNotification:()=>c.R9,showUsersInSpaceNotification:()=>c.sb,toast:()=>d.A});var a=t(58168),n=t(96540),r=t(8711),i=t(83199),s=t(99571),d=t(78217),c=t(24198),l=t(13871);const f=o=>{let{title:e,children:t,...r}=o;return n.createElement(i.Flex,(0,a.A)({column:!0,gap:2,background:"warningBackground",backgroundOpacity:.7,round:!0,padding:[4]},r),e&&n.createElement(i.H3,null,e),t)},g=(0,r.default)((o=>{let{className:e,...t}=o;return n.createElement(i.Box,{className:e},n.createElement(s.N9,(0,a.A)({},t,{closeButton:!1})))})).withConfig({displayName:"notifications__Container",componentId:"sc-8t8ne-0"})([".Toastify__toast-container{position:fixed;width:unset;min-width:400px;max-width:500px;z-index:50;color:",";}.Toastify__toast{padding:0;padding-top:5px;background:",";border:1px solid ",";}.Toastify__toast--error{background:",";border:1px solid ",";}.Toastify__toast--warning{background:",";border:1px solid ",";}.Toastify__toast--success{background:",";border:1px solid ",";}.Toastify__toast-icon{display:none;}.Toastify__toast-body{}.Toastify__progress-bar{bottom:unset;top:0;}.Toastify__progress-bar--success{background-color:",";}.Toastify__progress-bar--error{background-color:",";}"],(0,i.getColor)(["neutral","limedSpruce"]),(0,i.getColor)("elementBackground"),(0,i.getColor)("text"),(0,i.getColor)(["red","lavender"]),(0,i.getColor)("error"),(0,i.getColor)("bright"),(0,i.getColor)("warning"),(0,i.getColor)(["green","frostee"]),(0,i.getColor)("success"),(0,i.getColor)("success"),(0,i.getColor)("error"))}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */

View file

@ -1 +0,0 @@
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="200506ba-e7da-4c28-9afa-12c010f776fb",e._sentryDebugIdIdentifier="sentry-dbid-200506ba-e7da-4c28-9afa-12c010f776fb")}catch(e){}}();var _global="undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:{};_global.SENTRY_RELEASE={id:"30b1ba65cc8722be7e184f4a401fb43e6b21634d"},(self.webpackChunkcloud_frontend=self.webpackChunkcloud_frontend||[]).push([[7146],{57146:(e,n,t)=>{t.r(n),t.d(n,{default:()=>u});t(62953);var a=t(96540),d=t(39225),l=t(86663),o=t(47767),r=t(22292),c=t(28738),f=t(24266);const s=(0,d.A)((()=>Promise.all([t.e(7144),t.e(7857),t.e(8239),t.e(9473),t.e(963),t.e(7487)]).then(t.bind(t,7356))),"AlertWebview"),u=(i=(0,f.Xc)((()=>{const{search:e}=window.location,{space_id:n,room_id:t,node_name:d,node_id:f}=l.parse(e);return(0,r.uW)("isLoaded")?a.createElement(a.Suspense,{fallback:a.createElement(c.A,null)},a.createElement(o.BV,null,a.createElement(o.qh,{path:"alerts/:alertId",element:a.createElement(s,{spaceId:n,roomId:t,nodeName:d,nodeId:f})}))):a.createElement(c.A,null)})),e=>{const{hash:n}=window.location,{token:t}=l.parse(n),[d,o]=(0,a.useState)();return(0,a.useEffect)((()=>{t&&(o(t),localStorage.setItem("netdataJWT",t))}),[]),d?a.createElement(i,e):a.createElement(c.A,null)});var i}}]);

View file

@ -1 +0,0 @@
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="239c7385-e422-46fd-8336-50004b89c516",e._sentryDebugIdIdentifier="sentry-dbid-239c7385-e422-46fd-8336-50004b89c516")}catch(e){}}();var _global="undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:{};_global.SENTRY_RELEASE={id:"30b1ba65cc8722be7e184f4a401fb43e6b21634d"},(self.webpackChunkcloud_frontend=self.webpackChunkcloud_frontend||[]).push([[7170],{17170:(e,n,d)=>{d.d(n,{A:()=>i});d(62953),d(3296),d(27208),d(48408);var o=d(37618);const i=()=>{if(o.Ay)return null;const{origin:e,searchParams:n}=new URL(window.location.href),d=null===n||void 0===n?void 0:n.get("labra_subscription_id"),i=null===n||void 0===n?void 0:n.get("aws_customer_id"),t=null===n||void 0===n?void 0:n.get("aws_product_id");return d&&i&&t?"".concat(e,"/api/v2/billing/labra/spaces?customer_id=").concat(i,"&marketplace=aws&product_id=").concat(t,"&subscription_id=").concat(d):null}}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,2 +0,0 @@
.default .dygraph-axis-label{color:#35414a}.dark .dygraph-axis-label{color:#fff}.dygraph-label-rotate-right{text-align:center;transform:rotate(-90deg);-webkit-transform:rotate(-90deg);-moz-transform:rotate(-90deg);-o-transform:rotate(-90deg);-ms-transform:rotate(-90deg)}.dygraph-annotation{position:absolute;z-index:10;overflow:hidden;border:1px solid}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,11 +0,0 @@
/**
* @license React
* react-jsx-runtime.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/** @license URI.js v4.4.1 (c) 2011 Gary Court. License: http://github.com/garycourt/uri-js */

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="fef08628-86a7-43cd-a204-367ad851ff11",e._sentryDebugIdIdentifier="sentry-dbid-fef08628-86a7-43cd-a204-367ad851ff11")}catch(e){}}();var _global="undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:{};_global.SENTRY_RELEASE={id:"30b1ba65cc8722be7e184f4a401fb43e6b21634d"},(self.webpackChunkcloud_frontend=self.webpackChunkcloud_frontend||[]).push([[7529],{67529:(e,n,d)=>{d.r(n),d.d(n,{AuthTokenCallback:()=>t,default:()=>a});var f=d(96540),o=d(38819);const t=()=>{const e=(0,o.W6)("redirect_uri"),n=(0,o.W6)("token");return(0,f.useEffect)((()=>{e&&n&&(localStorage.setItem("netdataJWT",n),location.href=decodeURIComponent(e))}),[]),null},a=t}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},n=(new Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="e64832dc-26ea-4e8b-9ee9-4433adcc06fb",e._sentryDebugIdIdentifier="sentry-dbid-e64832dc-26ea-4e8b-9ee9-4433adcc06fb")}catch(e){}}();var _global="undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:{};_global.SENTRY_RELEASE={id:"30b1ba65cc8722be7e184f4a401fb43e6b21634d"},(self.webpackChunkcloud_frontend=self.webpackChunkcloud_frontend||[]).push([[7959],{7959:(e,n,t)=>{t.r(n),t.d(n,{default:()=>g});t(62953);var a=t(96540),o=t(83199),l=t(3914),s=t(87659),r=t(46741),c=t(98496),i=t(39522),d=t(4659),m=t(84976);const u={noRoomPermission:{header:e=>"Your role doesn't give you permission to access any of the troubleshooting information on ".concat(e,".")},noSpacePermission:{header:e=>"Your role doesn't give you permission to access any information on ".concat(e,".")},noRooms:{header:e=>"You currently don't have permission to see any room on ".concat(e,".")}},f=e=>{let{onClick:n,spaceName:t}=e;return a.createElement(a.Fragment,null,a.createElement(o.Text,{margin:[2,0,0]},"You can also leave this Space if you wish. "),a.createElement(o.Button,{flavour:"borderless",icon:"switch_off",label:"Leave ".concat(t),margin:[0,0,0,7],onClick:n,strong:!0}))},g=e=>{let{reason:n}=e;const t=(0,l.ap)(),[g,,b,p]=(0,s.A)(),{header:h}=u[n],y=(0,l.bq)(),E=(0,r.JT)("billing:ReadBasic");return a.createElement(c.A,{title:h(t.name)},a.createElement(a.Fragment,null,"noSpacePermission"===n&&a.createElement(a.Fragment,null,a.createElement(o.Text,null,"Please contact the Space administrators if this is unexpected."),a.createElement(f,{onClick:b,spaceName:t.name})),E&&"noRooms"!==n&&a.createElement(o.Text,null,"To manage Plan & Billing information please"," ",a.createElement(d.A,{as:m.N_,to:"/spaces/".concat(y,"/settings/billing")},"click here.")),"noRooms"===n&&a.createElement(a.Fragment,null,a.createElement(o.Text,null,"Please contact a Space administrator or manager if this is unexpected."),a.createElement(f,{onClick:b,spaceName:t.name})),g&&a.createElement(i.A,{id:t.id,name:t.name,onClose:p})))}},39522:(e,n,t)=>{t.d(n,{A:()=>v});var a=t(58168),o=t(96540),l=t(83199),s=t(47767),r=t(22292),c=t(55463),i=(t(17333),t(98992),t(54520),t(62953),t(47444)),d=t(71835),m=t(54702),u=t(55189),f=t(3914),g=t(48849),b=t(56639),p=t(14994);var h=t(57992);const y="leave-space-dialog",E="leaveSpaceDialog",v=e=>{let{id:n,name:t,onClose:v}=e;const w=(0,s.Zp)(),C=(0,r.uW)("id"),A=(0,c.Gi)(),S=(0,c.i3)(),k=(0,c.pB)(),_=(e=>{const[,n]=(0,d.A)();return(0,i.Zs)((t=>{let{snapshot:a,set:o,reset:l}=t;return async t=>{let{currentUserId:s,onSuccess:r,onError:i}=t;const d=await a.getPromise((0,f.nC)("ids")),h=d.filter((n=>e!==n)),[y]=h;if(!y)return void n({header:"Spaces",text:u.sh.leave});const{slug:E}=y&&await a.getPromise((0,b.Ay)(y));o((0,f.nC)("ids"),h),o(g.A,(n=>n.filter((n=>n!==e))));try{await(0,m.XY)(e,[s]),r&&r(E),(0,c.Z8)(l,e),(0,p.Is)(l,e),l((0,b.Ay)(e))}catch(v){o((0,f.nC)("ids"),d),i&&i()}}}),[e])})(n),L=(0,h.A)(n),P=(0,o.useCallback)((e=>w("/spaces/".concat(e))),[]),Y=1===A.length,I=1===S.length&&k,x=Y?{confirmLabel:"Yes, leave","data-ga":"".concat(y,"-last-member"),"data-testid":"".concat(E,"LastMember"),handleConfirm:()=>L({onSuccess:P}),message:o.createElement(o.Fragment,null,"If you leave, space ",o.createElement("strong",null,t)," will be deleted immediately.",o.createElement("br",null),"Are you sure you want to continue?"),title:"Leave and delete ".concat(t," space")}:I?{confirmLabel:"Give rights","data-ga":"".concat(y,"-last-admin"),"data-testid":"".concat(E,"LastAdmin"),handleConfirm:()=>w("users"),isConfirmPositive:!0,message:o.createElement(o.Fragment,null,"You are the last admin of ",o.createElement("strong",null,t)," space. Please give admin rights to another member so you can leave this space."),title:"Leave ".concat(t," space")}:{confirmLabel:"Yes, leave","data-ga":y,"data-testid":E,handleConfirm:()=>_({currentUserId:C,onSuccess:P}),message:o.createElement(o.Fragment,null,"You are about to leave ",o.createElement("strong",null,t)," space.",o.createElement("br",null),"Are you sure you want to continue?"),title:"Leave ".concat(t," space")};return o.createElement(l.ConfirmationDialog,(0,a.A)({handleDecline:v},x))}}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,5 +0,0 @@
/*!
Copyright (c) 2018 Jed Watson.
Licensed under the MIT License (MIT), see
http://jedwatson.github.io/classnames
*/

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=(new Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="80647485-8a0e-4651-b370-ef6ea86fc55d",e._sentryDebugIdIdentifier="sentry-dbid-80647485-8a0e-4651-b370-ef6ea86fc55d")}catch(e){}}();var _global="undefined"!==typeof window?window:"undefined"!==typeof global?global:"undefined"!==typeof self?self:{};_global.SENTRY_RELEASE={id:"30b1ba65cc8722be7e184f4a401fb43e6b21634d"},(self.webpackChunkcloud_frontend=self.webpackChunkcloud_frontend||[]).push([[8505],{8505:(e,t,n)=>{n.r(t),n.d(t,{default:()=>y});n(62953);var a=n(96540),r=n(84929),o=n(16074),l=n(63933),i=n(82526),d=n(29176),s=n(87991),c=n(26655),u=n(47444),f=n(83199),p=n(5396),g=n(4659),b=n(87659);const m=(0,u.gD)({key:"fetchLicense",get:()=>c.A.get("/api/v1/license").then((e=>e.data)).catch((()=>null))}),w=(0,u.eU)({key:"licenseAtom",default:m}),y=()=>{if(!window.envSettings.onprem)return null;const e=(0,u.xf)(w),[t,n]=(0,b.A)(),[c,m]=(0,a.useState)(),[y,E]=(0,a.useState)(!1);return(0,a.useEffect)((()=>{if("hasValue"!==e.state)return;const t=e.contents,a=(0,r.H)(t.exp);if(m(a),!(0,o.f)(a))return;const i=parseInt((a-new Date)/1e3/60/60/24);if(i>30)return;const d=localStorage.getItem("dismissLicenceWarning");d&&(0,o.f)((0,r.H)(d))&&!(0,l.R)((0,r.H)(d))&&i>0||(n(!0),i<0&&E(!0))}),[e]),t?y?a.createElement(f.Layer,{full:!0,backdropProps:{backdropBlur:"3px"}},a.createElement(p.A,{testId:"onprem-banner",width:"100%",background:"errorBackground",position:"absolute",top:"0",tooltipProps:{align:"top"},zIndex:20},a.createElement(f.Flex,{justifyContent:"center",alignItems:"center",width:"100%",gap:2},a.createElement(f.Text,null,"Your Netdata Enterprise On-prem License has expired on ",(0,s.GP)(c,"PPPP"),". Please contact your admin /"," ",a.createElement(g.A,{"data-testid":"renew",href:"mailto:billing@netdata.cloud",as:"a",cursor:"pointer",textDecoration:"underline",color:"main"},"billing@netdata.cloud")," ","to renew your license.")))):a.createElement(p.A,{testId:"onprem-banner",width:"100%",background:"warningBackground",position:"absolute",top:"0",onClose:()=>{n(),localStorage.setItem("dismissLicenceWarning",(0,i.W)(new Date,{days:1}).toISOString())},tooltipProps:{align:"top"},zIndex:20},a.createElement(f.Flex,{justifyContent:"center",alignItems:"center",width:"100%",gap:2},a.createElement(f.Text,null,"Your Netdata Enterprise On-prem License will expire in ",(0,d.m)(c),". Please contact your admin /"," ",a.createElement(g.A,{"data-testid":"renew",href:"mailto:billing@netdata.cloud",as:"a",cursor:"pointer",textDecoration:"underline",color:"main"},"billing@netdata.cloud")," ","to renew your license."))):null}}}]);

Some files were not shown because too many files have changed in this diff Show more