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


    • No unusual impact.



      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)




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