Instead of just making all the files SUID 0, set capabilities when we
know which ones are needed and `setcap` is installed.
If setcap is not available, we still fall back properly to SUID on
plugins that truly need it.
* Update bundled makeself to v2.5.0.
It includes numerous fixes that should resolve a number of the problems
we’ve seen crop up recently with our static build installation process.
* Update static archive metadata.
* Add the makeself scripts to the shellcheck CI exclude list.
They have numerous warnings, but we intentionally want to stay as close
as possible to being in-sync with the upstream copies, so just ignore
them with shellcheck in CI.
* Silence shellcheck warnings.
* Ensure required directories actually exist in static archive.
Bundle the nfacct dependencies libnetfilter_acct as static lib from source archives and libmnl as static lib from the alpines' packages (regular package manager) into our Netdata static binaries
Signed-off-by: Tasos Katsoulas <tasos@netdata.cloud>
Co-authored-by: Austin S. Hemmelgarn <ahferroin7@gmail.com>
* make the title metadta the H1
* Update collectors/python.d.plugin/zscores/README.md
* Update libnetdata/ebpf/README.md
* Update ml/README.md
* Update libnetdata/string/README.md
---------
Co-authored-by: Chris Akritidis <43294513+cakrit@users.noreply.github.com>
* Move systemd-specific system files to their own directory.
* Move non-systemd init scripts to individual subdirectories.
* Move cron files to their own directory.
* Move logrotate config to it’s own directory.
* Fix typos in Makefile.am.
* Fix Debian package builds.
* Fixed issues reported by @andrewm4894.
* Add shellcheck config file to globally disable dead code checks.
These checks have an extremely high false positive rate and even when
they’re correctly flagging code the impact is generally very low.
* Fix assorted shellcheck errors in installer code.
This should make reviewing PRs relating to this code much easier.
* Make shellcheck quit complaining about shellcheckrc formatting.
* add metadata for learn
* first batch of adding metadata to md files
* second batch of adding metadata to md files
* third batch of adding metadata to md files
* test one sidebar_label
* add missing sidebar_labels
* add missing sidebar_labels to files left behind
* test, ansible doc is stubborn
* fix
* fix
* fix
* don't use questionmarks in the sidebar label
* don't use exclamation marks and symbols in the sidebar label
* fix style guide
* fixes
* fixes
* Remove old documentation check related config files.
These are no longer used by any of our CI as far as I can tell.
* Purge LGTM configuration and references.
It has been fully shut down, so none of this works anymore.
* Purge Travis CI config, scripts, and references.
We are no longer using Travis CI, so all of this is useless.
* Pureg config for other CI tools we are no longer using.
* Remove old packaging related test scripts.
These haven’t been used in years, and are potentially confusing for new
contributors.
* Restore MLC configuration.
It is, in fact, still in use.
* Fix bogus CI config in dist files.
* Fix botched merge in CODEOWNERS.
* Enable use of Podman for static builds.
This way those of us who have migrated away from Docker can still easily
test static builds.
* Add basic runtime testing to the static build process.
This will help catch basic runtime issues that would not show up just
from building the agent.
This was causing the updter to be unconditionally disabled on static
builds, and we don’t actually _need_ any of it anymore since we’ve
already decoupled the auto-update handling state from the installation
process (in fact, this should have been removed then, but it got missed
somehow).
* Add basic build caching support to static builds.
Cache is store din `artifacts/cache/${BUILDARCH}`. Each third-party
component utilizes a separate build cache. Invalidation is only done for
version changes (more rigorous invalidation is expected to be handled
externally).
* Integrate static build caching with CI.
* Fix fping cache handling.
* Test caching in CI.
* Properly skip rebuilds on cache hits.
* Remove static build container when done with it.
* Reuse existing image automatically if it’s for the correct platform.
* Test CI build caching.
* Fix static build job names.
* Add `-pipe` to CFLAGS in most cases for builds.
This trades marginally higher memory usage at build time (on the order
of a few hundred kB in the worst case scenario) for improved build
times by avoiding using temporary files for passing data from the
compiler to commands it invokes.
* Suppress bogus shellcheck warnings.
* Fix handling of CFLAGS in netdata-installer.sh.
- Switch from `-O3` to `-O2` for optimization CFLAGS, bringing us
in-line with all of our other builds. This should help avoid strange
edge cases specific to static builds resulting from the build process.
- Stop stripping binaries in static builds so that we can get proper
symbolic backtraces when the agent crashes in the static builds.
* Switch to using netdata-updater.sh to toggle auto updates on and off on install.
* Apply suggestions from code review
Co-authored-by: Tina Luedtke <kickoke@users.noreply.github.com>
* Make heading name less ambiguous.
* Fix fallback case for unsupported updater script.
* Fix invalid function name.
Co-authored-by: Tina Luedtke <kickoke@users.noreply.github.com>
* Bundle updater script in native packages.
* Move code for enabling/disabling auto-updates to netdata-updater.sh
This lets us handle the logic sanely from the kickstart script
regardless of the install method, and allows users to more reliably
toggle auto-updates themselves without having to understand what is
being done.
* Add proper case-agnosticism to auto-update type selection.
* Move auto-updater handling code to kickstart script.
* Properly handle running against an older source tree.
* First part of updater docmentation updates.
* Fixed handling of updater in DEB packages.
* Further documentation updates.
* Minor typo fixes.
* Add log grouping in installer code when running under GitHub Actions.
This will make our CI logs much easier to understand.
* Add log grouping to static build process.
* Use oneliner style group commands in netdata-installer.sh