Code Monkey home page Code Monkey logo

Comments (2)

ktsaou avatar ktsaou commented on June 12, 2024

This is very nice! I used it and it is awesome!
Very nice work!

In order for a static netdata to be installed, I guess the following have to be made:

  1. Add user netdata to the system
  2. Add group netdata to the system
  3. Add user netdata to various groups that might already exist to the system (docker, varnish, nginx, haproxy, adm)
  4. Install logrotate file
  5. Install systemd service or init file
  6. Chown/chmod netdata files
  7. setcap or setuid to root apps.plugin
  8. If the installation path already has a netdata installation, check all the config files and keep the ones that have been edited.
  9. generate the netdata-uninstaller.sh script
  10. generate the netdata-updater.sh script

All the above, in addition to compiling netdata are handled by netdata-installer.sh, so I'll split it in 2 parts to avoid having to maintainer 2 installers.

Questions:

  1. netdata requires fping 3.15+ to run (the nice folks at fping accepted my PR, so fping can become a netdata plugin!). I guess we can compile fping the same way and install it in /opt/netdata.

  2. Shall we link netdata to /usr/sbin/netdata, /etc/netdata to /opt/netdata/etc/netdata ? This will allow people to use the same instructions found everywhere...

  3. I would love to ship firehol, fireqos, iprange and the rest of our tools with this binary release.

  4. I would love people to install netdata with just a curl command. So, the flow could be something like this:

    1. curl installer.sh >/tmp/netdata.sh && sh /tmp/netdata.sh - this script will just run uname -m to get the machine architecture and uname -s to find the kernel type (linux, freebsd, etc) and will execute:
    2. curl installer-${ARCH}-${KERNEL}.sh >/tmp/netdata-${ARCH}-${KERNEL}.sh && sh /tmp/netdata-${ARCH}-${KERNEL}.sh. This one will be the binary release, built with makeself.
    3. makeself should be instructed to unzip the file in /opt/netdata and call /opt/netdata/installer/makeself-installer.sh which will execute the 10 steps I described at the beginning.
    4. special care has to be given to etc/ directory. I think we should ship it as etc.new/ and the installer will copy the files while keeping the ones that have been edited by the user.

@philwhineray @simonnagl what do you think?

from packages.

simonnagl avatar simonnagl commented on June 12, 2024

Sounds reasonable to me. Let's mention that I have no experience with makeself.

from packages.

Related Issues (12)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.