Uploaded image for project: 'Funtoo Linux'
  1. Funtoo Linux
  2. FL-9793 Modernize Telemetry Software on Funtoo
  3. FL-9365

Refactor all Prometheus and Grafana related CatPkgs to kit-fixups autogen ebuilds


    • Sub-task
    • Status: In Progress
    • Normal
    • Resolution: Unresolved
    • None



      This is a parent Issue to track an overall project to modernize all app-metrics ebuilds that are part of the Prometheus / Grafana ecosystem of telemetry based software.

      As of today in Funtoo 1.4, all of these ebuilds are pulled from upstream gentoo-staging as defined in the nokit's packages.yml config. Currently these are upstream `app-metrics` ebuilds in nokit kit:

      nokit/packages.yaml:734:  - app-metrics/alertmanager
      nokit/packages.yaml:735:  - app-metrics/bind_exporter
      nokit/packages.yaml:736:  - app-metrics/blackbox_exporter
      nokit/packages.yaml:737:  - app-metrics/buildbot-prometheus
      nokit/packages.yaml:738:  - app-metrics/burrow_exporter
      nokit/packages.yaml:739:  - app-metrics/collectd
      nokit/packages.yaml:740:  - app-metrics/consul_exporter
      nokit/packages.yaml:741:  - app-metrics/elasticsearch_exporter
      nokit/packages.yaml:742:  - app-metrics/github-exporter
      nokit/packages.yaml:743:  - app-metrics/grok_exporter
      nokit/packages.yaml:744:  - app-metrics/memcached_exporter
      nokit/packages.yaml:745:  - app-metrics/mongodb_exporter
      nokit/packages.yaml:746:  - app-metrics/mysqld_exporter
      nokit/packages.yaml:747:  - app-metrics/nginx-lua-prometheus
      nokit/packages.yaml:748:  - app-metrics/nginx-vts-exporter
      nokit/packages.yaml:749:  - app-metrics/node_exporter
      nokit/packages.yaml:750:  - app-metrics/openvpn_exporter
      nokit/packages.yaml:751:  - app-metrics/postfix_exporter
      nokit/packages.yaml:752:  - app-metrics/postgres_exporter
      nokit/packages.yaml:753:  - app-metrics/process-exporter
      nokit/packages.yaml:754:  - app-metrics/prom2json
      nokit/packages.yaml:755:  - app-metrics/prometheus
      nokit/packages.yaml:756:  - app-metrics/pushgateway
      nokit/packages.yaml:757:  - app-metrics/rabbitmq_exporter
      nokit/packages.yaml:758:  - app-metrics/redis_exporter
      nokit/packages.yaml:759:  - app-metrics/snmp_exporter
      nokit/packages.yaml:760:  - app-metrics/uwsgi_exporter
      nokit/packages.yaml:761:  - app-metrics/vault_exporter 

      The target of these new ebuild's includes:

      These pieces of software will be prioritized first and then any community exporters will follow.

      Project Goals

      • Convert targeted Prometheus/Grafana official packages to kit-fixups autogen ebuilds
      • Provide the highest quality latest greatest (CVE patched) telemetry software releases to Funtoo users and servers

      Project Phases

      Phase 1

      • Create -bin based autogens for the amd64 architecture for all targeted Prometheus/Grafana official ebuilds
      • Most of the Prometheus/Grafana software is written in Golang and all of these software projects has an associated GitHub repo
      • These GitHub repos leverage GitHub Releases to provide newly released software versions that are accessible via the GitHub API
      • Fortunately, because of Golang build tool flexibility, all of these releases provide pre-compiled multi-architecture binary tarballs
      • The goal here is not to not compile source code, but to instead leverage upstream CI/CD jobs that have generally pre-compiled these pieces of Golang software to provide them as fast as possible and give users/servers an option to get the pre-compiled versions
      • Follow best practices around -bin packages

      Phase 2

      • Create regular compile based ebuilds that build each upstream Golang/other language Prometheus/Grafana package from their source code
      • Work with the Funtoo Dev team to ensure ebuilds use the appropriate and most recommended Funtoo way to compile Golang packages (go get, go build, etc)


        Issue Links



              siris siris
              siris siris
              0 Vote for this issue
              3 Start watching this issue