* Embed build architecture in static build archive names.
This is required for proper support for static installs in the new
kickstart script.
The associated changes will also simplify adding static builds for other
architectures in the future.
* Update CI to use new static build changes properly.
* Fix typos.
* Fix link created by static build process.
* Fix build environment setup.
* Store info about the installation type for later retrieval.
* Properly handle install type on updates.
* Restructure install type values for easier parsing.
* Fix checksums.
* Fix .gitignore check.
* Swapping out sentence about Google Analytics with a PostHog version of it.
* replace "Google Analytics" with "Netdata"
replace "sent to Google Analytics" with "sent to Netdata".
Since we are no using a self hosted Netdata PostHog instance i think "sent to Netdata" makes most sense.
* update opt-out paragraph based on posthog
* Replace references to Google Analytics with PostHog
@joelhans @cakrit i'm assuming with might need to have legal input on any changes to this doc so my changes may or may not be acceptable, at a minimum they need a review by someone from legal.
* update google analytics reference with posthog
* replace google analytics with posthog
* replace google analytics with netdata
We should not be hard-coding the CA file or messing with cURL options to
handle this, but should instead be relying on the config detected at
setup time for the install to just get it right (as it will in 99% of
cases).
* updated 3rd party static dependencies
* updated alpine to 3.12
* updated docker container name and added libuv-static
* add lz4-static to alpine packages
* Revert "Revert "Override linker and include paths for static builds. (#9311)" (#9343)"
This reverts commit 36d5e40dca.
* Run git clean before building anything
* Fix checking out openssl and skip if bind-mounted sources already exist at the given path
* Add --require-cloud flag to the static build scripts
* Add CMAKEFLAGS support to the installer to customize how to build libwebsockets for static builds
* Update packaging/makeself/jobs/50-bash-4.4.18.install.sh
Co-authored-by: Andrew Moss <1043609+amoss@users.noreply.github.com>
* Fix remaining other two tyos
Co-authored-by: Andrew Moss <1043609+amoss@users.noreply.github.com>
* Bundle static OpenSSL in our static builds.
This adds code to bundle a static locally built copy of OpenSSL into our
static builds instead of using the Alpine provided copy. It fixes two
cases where our usage of OpenSSL currently fails:
* On CentOS, RHEL, OEL, Amazon Linux, and their derivatives, the OpenSSL
configuration directory is `/etc/pki/tls` instead of the normal
`/etc/ssl`. Any usage of TLS in our static builds currently fails
there because it can't find that directory.
* TLS usage fails similarly on systems that do not have OpenSSL at all
for the same reason.
To fix this, the newly bundled copy of OpenSSL is built to use
`/opt/netdata/etc/ssl` as it's configuration directory. This directory
is a symlink created at install time pointing to one of the following
locations (in order of precedence):
* `/etc/pki/tls` (for CentOS, RHEL, OEL, AL, and similar).
* `/etc/ssl` (for sane distros that just use the default path).
* `/opt/netdata/share/ssl` (for systems that don't have OpenSSL, this
contains a copy of the config and certificates from the build
environment).
* Ensure other components are built with local OpenSSL.
* Clone directly from the desired tag.
* Add tool to build the dist and static x864_64 artifacts
* Add tool to bump the Netdata packaging version
* Cleanup all the makeself scripts and update to Alpine 3.11
* Add zgrep and xz to Alpine 3.7 container used to build x86_64 static Netdata so check-kernel-config.sh does not fail
* Explicitly bundle the -static varient of the eBPF kernel-collector library/programs
* Add tool to build the static x864_64 Netdata
* Add error if the netdata binary is not statically linked
* Add Github Workflow for testing static builds
* Don't use docker run -i -t if not on a tty
* Don't overwrite netdata.conf on update on static installs.
The current code overwrites netdata.conf when updating a static install
because we include a copy of the default empty netdata.conf in the
package itself.
This removes that file from the generated package, but does not modify
the install-time logic which attempts to create the file if it does not
already exist (which appears to be working correctly.
* Update packaging/makeself/jobs/70-netdata-git.install.sh
Co-authored-by: James Mills <prologic@shortcircuit.net.au>
Co-authored-by: James Mills <prologic@shortcircuit.net.au>
* Don't rotate old Netdata config dirs in static installer.
This should have been removed when we stopped shipping stock configs in
`/etc/netdata`.
* Use a single invocation of the package manager to install dependencies.
This slightly improves the efficiency of the code in question, and also
eliminates a few dozen potential cases of prompting the user if they
want to install specific packages.
* Add correct package name for ulogd on arch.
* Properly finish conversion to Python 3 defaults.
* Fixed the shebang for building self-extracting static builds
* Fixed shellcheck errors/warnings
* Fix require_cmd() function too and redirect both stderr/stdout of command -v in conditional
* Added support for opting out of telemtry via the DO_NOT_TRACK environment variable
* Added support for DO_NOT_TRACK=1 in anonymous-statistics.sh and minor cleanup in Dockerfile and run.sh entrypoint
* Allow DO_NOT_TRACK to be either non-zero or non-empty
* Update md5sum of kickstart-static64.sh in docs
* Fixed a bug in netdata-installer.sh
* Revert changes to daemon/main.c (testing onyl)
* Update docs/anonymous-statistics.md
Co-Authored-By: Mansour Behabadi <57921115+ncmans@users.noreply.github.com>
Co-authored-by: Mansour Behabadi <57921115+ncmans@users.noreply.github.com>
* Store only the options for reinstall, not the full command.
This simplifies handling of updates with the static installer.
* Properly utilize the updater for static installs.
* Disable auto-updater when using local files.
If using local files, we can probably assume a system without a network
connection, so don't enable the auto-updater.
* Document support for auto-updates from kickstart-static64
* Fix infinite loop in auto-update option.
* Update kickstart-static64 checksum in docs.
* Remove unnecessary `sed` argument.
Co-Authored-By: Konstantinos Natsakis <5933427+knatsakis@users.noreply.github.com>
Co-authored-by: Konstantinos Natsakis <5933427+knatsakis@users.noreply.github.com>
* Show notice of anonymous data collection
* Add DO_NOT_TRACK env var to docker run script
* Add disable-telemetry option to kickstart-static64
* Check if DO_NOT_TRACK is set
* make install takes care of ownership and permissions of /etc/netdata
Instead of netdata-installer.sh
* Fix identation in Makefile.am files
* netdata-installer.sh: Clearer variable assignment
* netdata-installer.sh: Set /etc/netdata/netdata.conf ownership to root:root and permissions to 0644
* netdata-installer.sh: Set /etc/netdata/.environment permissions to 0644
* install-or-update.sh: Set permissions for /opt/netdata/etc/netdata.conf to 0644
* install-or-update.sh: Use ${NETDATA_PREFIX} more
* install-or-update.sh: Improve indentation
* install-or-update.sh: Do not create /opt/netdata/etc/netdata directories
* debian/rules: /etc/netdata files and directories are now installed by make install
* debian/rules: Properly copy files across directories
When destination directory exists
* netdata.spec.in: /etc/netdata ownership and permissions
* Revert "Fix identation in Makefile.am files"
This reverts commit 63fdb299b69152fda6984f81b0fef02f364c5efe.
* Remove uninstall-local recipes from Makefile.am files
* Removed superfluous whitespace and hash
* add support for am2320 sensor
add support for am2320 temperature and humidity sensor
* Rename readme.md to README.md
* updated README.md to include proper sections
updated README.md to include proper sections
* readme updated and file name corrected
readme updated with missing formatting and information. AM2320.chart.py
filename corrected.
* changed simple service import
chnaged simple service import location
* updated README.md to remove the reference of moving the script file.
* requested changes
- Moved header from README.md to am2320.chart.py
- Added Alarm for am2320 to health.d
- Changed exception to value error in am2320.chart.py
* typo
changed mae to make in comment
* Add title and icon for AM2320 Sensor
Add title and icon for AM2320 Sensor
* typo corrected
changed Save to save
* added I2C group to installer
Added netdata to the I2C group during install or update.
Removed instruction to add netdate to I2C group from README.md
* change tab to spaces
change tab to spaces
* Partial fix for #7039
Moved updater installation code from netdata-installer.sh to packaging/installer/functions.sh
packaging/makeself/install-or-update.sh uses above code to install
netdata updater
- Moved updater installation code to packaging/installer/functions.sh
- packaging/makeself/install-or-update.sh uses above code to install
netdata updater
* Split install_or_remove_netdata_updater() function
* Improved netdata-updater related message output
* Improved variable declaration location in install-or-update.sh
* netdata/packaging: static installer - back up configuration directory, if it already exists
* netdata/packaging: keep more versions of it, we will consider how to consolidate too old ones
* netdata/packaging: At the post install activities, if .old directory was in place, reinstate it (WIP)
* netdata/packaging: Attempt to trigger stock config refresh
* netdata/packaging: the .new directory is just the latest one, no need to keep it when re-running
* netdata/packaging: dont do -f, its -d to confirm existence of dir
* make remark access all directories
* detailed fix after autofix by remark lint
* cross check autofix for this set of files
* crosscheck more files
* crosschecking and small fixes
* crosscheck autofixed md files
* First pass of changing netdata to Netdata
* Second pass of netdata -> Netdata
* Starting work on netdata with no whitespace after
* Pass for netdata with no whitespace at the end
* Pass for netdata with no whitespace at the front
* netdata/packaging: Start support for netdata-updater compatibility on static installation
1) Make netdata-installer.sh accept --static option, that simply passes variable IS_NETDATA_STATIC_BINARY=yes to the environment
2) Adjust the updater to check that variable and then is set to yes, make it download the static binary and run the static binary
In theory, this should give us the required info on the updater. Only thing missing is how to catch the extra arguments the user might have given on the initial install.
Will rework this after i test this first draft change
* netdata/packaging: dont forget to enter the temp dir and also return to the original one afterwards. Print some info too.
* netdata/packaging: reduce complexity on parameters for installer. Rather expect the variable to be set by the caller.
this way we wont let the users get confused by the existence of a flag that only has internal usage.
* netdata/packaging: dont forget to clean up the whole folder, its a temp
default netdata.conf file references this dir but installer doesn't create it. Trying to get rid of the following error from /var/log/netdata/error.log
ERROR : PLUGINSD : cannot open plugins directory '/etc/netdata/custom-plugins.d' (errno 2, No such file or directory)
* netdata/packaging: Fix makeself with the new package dependencies
* netdata/packaging: Allow artifacts to be built under different repository when needed
During the last major installer refactoring, we managed to break (again) the static64 installer.
We modified the code that defines user/group ownerships for netdata installation,
forcing the install to end up with a process running as netdata and files set as root
To fix this, we re-instate default NETDATA_USER/NETDATA_GROUP to root, as it should be.
Then we attempt group netadata creation. If that succeeds, we attempt user netdata creation.
If that succeeds, we attempt secondary groups addition.
Report errors on all otherwise situations from each step.
* remove dead quickfix
* unify global variable naming
* do not use double negation
* simplify setcap detection
* simplify logic of setting capabilities to apps.plugin
* always set group in chown
* simplify parameter parsing and banner notifications
* use built-in command for checking program availability
* lint functions.sh
* fix errors returned by shellcheck
* remove unused functions and use portable_service
* move user management functions closer together and remove "check" functions to reduce levels of indirection
* extract add_netdata_user_and_group and move it into installers for better code readability
* improve readability by not using global variable holding number of processors
* move netdata.conf file creation into one function
* revert migration to portable_service
* Less verbose setcap
* remove TODOs
* do not show output when not needed
* fix checking for group existence
* fix variable name
* netdata/packaging/installer: Dont spill out unnecessary output in stdout/stderr, it may confuse our users
The second commit was a follow up cleanup on nits.
* access: change codeowner
* Revert "access: change codeowner"
This reverts commit 6ee51ccae9.
sorry, wrong repo
* netdata/packaging/installer: bug fix - do not use pidof as the name of the helper method
1) rename to safe_pidof, which is actually more accurate and describe what this method serves for (safe pid detection)
2) Renaming it also avoids the bug introduced by the usage of , that resulted in endless nested calls of the BASH method pidif
(Refer to command -v usage)